1/160 - Echelle N

Le Forum consacré à l'Echelle N
 
AccueilAccueil  PortailPortail  ÉvènementsÉvènements  S'enregistrerS'enregistrer  Connexion  
N'hésitez pas à consulter le calendrier du forum pour voir les manifestations près de chez vous !
Le deal à ne pas rater :
Soldes chez LACOSTE : jusqu’à 50% de réduction
Voir le deal

 

 Gestion de trajet Arduino et servo sur Aiguillage

Aller en bas 
+8
SavignyExpress
Jeanmi67
jlb
sierramike
Dodesir
CleoN
Fantasio
mistigris
12 participants
Aller à la page : Précédent  1, 2, 3  Suivant
AuteurMessage
Jeanmi67
Membre
Membre
Jeanmi67


Masculin Age : 69
Localisation : Antibes
Nombre de messages : 216
Date d'inscription : 12/09/2010

Gestion de trajet Arduino et servo sur Aiguillage - Page 2 Empty
MessageSujet: Re: Gestion de trajet Arduino et servo sur Aiguillage   Gestion de trajet Arduino et servo sur Aiguillage - Page 2 Icon_minitimeMar 13 Avr 2021 - 11:45

 
Bonjour,

L'ensemble du système est décrit sur cette page : Commande des aiguilles par servomoteur

Les deux bibliothèques utilisées sont Wire.h pour l'I2C et Adafruit_PWMServoDriver.h pour les servos.

Jean-Michel
Revenir en haut Aller en bas
mistigris
Membre
Membre



Masculin Age : 53
Localisation : Maisons Alfort
Nombre de messages : 433
Date d'inscription : 11/04/2012

Gestion de trajet Arduino et servo sur Aiguillage - Page 2 Empty
MessageSujet: Re: Gestion de trajet Arduino et servo sur Aiguillage   Gestion de trajet Arduino et servo sur Aiguillage - Page 2 Icon_minitimeMar 13 Avr 2021 - 11:53

Bonjour,
Super !! merci beaucoup… très intéressant.
Très beau projet et bien documenté…
pour les servos et même la fabrication maison de toute l'electronique…
sauf le code que je trouve pas…
mais c'est interessant www.aranacorp.com/

Pourquoi n'avez vous pas utilisé des cartes I2C pour les boutons ?
Revenir en haut Aller en bas
Jeanmi67
Membre
Membre
Jeanmi67


Masculin Age : 69
Localisation : Antibes
Nombre de messages : 216
Date d'inscription : 12/09/2010

Gestion de trajet Arduino et servo sur Aiguillage - Page 2 Empty
MessageSujet: Re: Gestion de trajet Arduino et servo sur Aiguillage   Gestion de trajet Arduino et servo sur Aiguillage - Page 2 Icon_minitimeDim 18 Avr 2021 - 0:00

 
Bonsoir,

Désolé pour le retard apporté à cette réponse, quelque chose n'a pas fonctionné dans le système de "surveillance du sujet"...

mistigris a écrit:
Pourquoi n'avez vous pas utilisé des cartes I2C pour les boutons ?

Essentiellement pour trois raisons :
  • minimiser le nombre de cartes ou de modules : à quoi bon multiplier les composants alors qu'un seul gros (un Mega) fait l'affaire ?
  • simplifier la programmation: il est très facile de commander des points de commande en I2C, mais faire une lecture de boutons est plus compliqué : il faut déterminer quel module a changé d'état, puis quel bit dans le module est concerné, vérifier s'il y en a plusieurs, etc...
  • enfin, utiliser des modules I2C pour les boutons aurait nécessité un câblage plus compliqué : où les mettre, sur quoi, comment les interconnecter, etc...
Concernant le code, oui, effectivement, il n'est pas sur le site. J'ai participé à l'élaboration du programme mais ne suis pas le maître d'œuvre de l'ensemble de cette installation. Le concepteur est prêt à vous fournir (uniquement à titre privé) l'ensemble des explications dont vous pourriez avoir besoin pour votre projet mais il n'est pas sur ce forum (il ne pratique pas le N).

Jean-Michel
Revenir en haut Aller en bas
mistigris
Membre
Membre



Masculin Age : 53
Localisation : Maisons Alfort
Nombre de messages : 433
Date d'inscription : 11/04/2012

Gestion de trajet Arduino et servo sur Aiguillage - Page 2 Empty
MessageSujet: Re: Gestion de trajet Arduino et servo sur Aiguillage   Gestion de trajet Arduino et servo sur Aiguillage - Page 2 Icon_minitimeDim 18 Avr 2021 - 8:55

Jean-Michel, merci pour les informations.
Jeanmi67 a écrit:
minimiser le nombre de cartes ou de modules : à quoi bon multiplier les composants alors qu'un seul gros (un Mega) fait l'affaire ?
Mes conclusions la dessus Oui et Non…
• Non car deporté une carte sous une gare par exemple peut être interessant (et cela avec 2 fils hors alim) ainsi on peut en garder une sous le TCO avec l'arduino et eviter des kilometres de fils se baladant sous le réseau…
• Oui pour le gros Mega (mon programme vient d'exploser la memoire du Nano dès le 2eme tableau)…

En fait l'idée qui me seduit dans l'I2C est son chainage et la possibilité de réduire considèrablement le cablage. (par exemple : une carte pour les capteurs et les relais sous gare soit env 8 entrées, 8 sorties, les cartes PCA sous la gare et une ou 2 sous le TCO avec L'arduino pour les boutons tout cela avec (2 fils + alim))… enfin pour finir on peut imaginer une Arduino Maitre (avec cartes comme ci dessus envoyant l'info à une arduino slave (avec cartes extensions sous réseau) (multiplication des tableaux préservant la mémoire)…

Je m'obstine (pour l'instant) à la carte Nano pour des raisons de coût : l'ensemble de deux cartes Nano et des autres cartes X2 représentant moins que l'équivalent d'une MEGA.
Enfin, l'idée (avec la carte extension Nano et les autres) c'est qu'un "novice" devrait pouvoir mettre en œuvre tout cela sans soudure et sans connaitre l'informatique en remplissant un simple tableau. et pour les plus "qualifié en C++" une personnalisation possible que j'espère facile.

La solution du lecteur de carte SD pour le maitre me parait la seule (pour gérer plus de 2 PCA)…


J'avoue avoir rebroussé (momentanément chemin sur le pilotage de PCA et le passage d'une carte à l'autre (avec un code réduit)… tout mes essais ne sont pas convainquant et la solution pointeur ne fonctionne pas (en tout cas, je n'ai pas reussi à la mettre en œuvre)… la doc Adafruit et mes recherches dans ce sens n'ayant guère donné leur fruits !

Je me concentre sur le petit module (1 à 2 PCA) changement d'adresse "manuel" (sans boucle)… (cela fait quand même 32 aiguillages… pour le PCA et gestions des Servos, je suis presque au bout… reste les boutons et capteurs… mais j'ai des bouts de code pompés sur l'excellent bateaux.trucs.free.fr Smile (dont j'ai réalisé la télécommande, ci-jointe…)… y a de quoi s'inspiré fortement dessus !

C'est pour cela (passage de gestion d'une PCA à l'autre) que j'apprécie d'autant plus votre proposition concernant le code… (pouvez vous me contacter en MP).
Encore un grand Merci !
Revenir en haut Aller en bas
Jeanmi67
Membre
Membre
Jeanmi67


Masculin Age : 69
Localisation : Antibes
Nombre de messages : 216
Date d'inscription : 12/09/2010

Gestion de trajet Arduino et servo sur Aiguillage - Page 2 Empty
MessageSujet: Re: Gestion de trajet Arduino et servo sur Aiguillage   Gestion de trajet Arduino et servo sur Aiguillage - Page 2 Icon_minitimeDim 18 Avr 2021 - 9:37

 
Bonjour Emmanuel,

mistigris a écrit:
Jeanmi67 a écrit:
minimiser le nombre de cartes ou de modules : à quoi bon multiplier les composants alors qu'un seul gros (un Mega) fait l'affaire ?
Mes conclusions la dessus Oui et Non…
• Non car deporté une carte sous une gare par exemple peut être interessant (et cela avec 2 fils hors alim) ainsi on peut en garder une sous le TCO avec l'arduino et eviter des kilometres de fils se baladant sous le réseau…
Oui, vous avez raison dans le principe, mais dans les faits votre réponse sort du cadre de la question qui concernait la gestion des boutons du TCO par I2C : physiquement, les boutons et le Mega sont côte à côte : il n'y a aucune utilité à déporter le Mega à l'autre bout du réseau puisque tout se passe dans le TCO de notre gare terminus.

mistigris a écrit:
• Oui pour le gros Mega (mon programme vient d'exploser la memoire du Nano dès le 2eme tableau)…
Pour faire tenir en mémoire l'ensemble des 60 itinéraires composés chacun de 36 données (plus les tableaux des relais et des servos), seul le Mega convenait en sachant que la gestion de ce "gros" tableau se fait obligatoirement en mémoire programme (Flash) et non en mémoire datas (SRAM) pour des raisons d'encombrement.

Jean-Michel
Revenir en haut Aller en bas
mistigris
Membre
Membre



Masculin Age : 53
Localisation : Maisons Alfort
Nombre de messages : 433
Date d'inscription : 11/04/2012

Gestion de trajet Arduino et servo sur Aiguillage - Page 2 Empty
MessageSujet: Re: Gestion de trajet Arduino et servo sur Aiguillage   Gestion de trajet Arduino et servo sur Aiguillage - Page 2 Icon_minitimeDim 18 Avr 2021 - 13:17

Merci Jean-Michel pour ces infos.
…On continue Very Happy
Revenir en haut Aller en bas
mistigris
Membre
Membre



Masculin Age : 53
Localisation : Maisons Alfort
Nombre de messages : 433
Date d'inscription : 11/04/2012

Gestion de trajet Arduino et servo sur Aiguillage - Page 2 Empty
MessageSujet: Re: Gestion de trajet Arduino et servo sur Aiguillage   Gestion de trajet Arduino et servo sur Aiguillage - Page 2 Icon_minitimeMer 21 Avr 2021 - 11:43

Merci à Jeanmi67 pour sa précieuse aide qui m'a permis d'avancer dans mes reflexions…

J'ai décidé de faire un projet intermediaire (problème de mémoire), j'ai mis pour l'instant entre parenthèse le changement d'adresse sur le PCA9685 (je m'en (re)occupe bientôt)…
On est sur la version Ultra light du projet : 1 Arduino nano 1 PCA9685 3 PCF8574…
Cela représente un module qui sera chainable en maitre/esclave (Un programme maitre et un esclave)…
L'ensemble fonctionne avec un seul "gros" tableau qui utilise la ligne "0" comme buffer.
J'ai testé les chemin avec le le PCA9685 est cela fonctionne… je n'ai pas encore tesé le reste…
et il manque encore pas mal de truc mais on y est presque !
Ci joint le code dans son état non testé et dont il manque encore des bouts… normalement le systeme PCA9685 fonctionne… Je pense que les capteurs aussi… j'en suis aux boutons "en cours"… reste les relais (cela devrait être assez simple maintenant)… puis les différentes fonctions, itinéraires Bis Automatique, Arrêt, PN, etc…(j'espère qu'elles tiendront toutes en mémoire)
(je ne l'ai pas resté depuis la modification du tableau)… mais comme cela vous pouvez voir ou j'en suis et me faire vos remarques eventuelles.

Code:



/***************************************************
 *  V1.0 ItineraireUlight
  Itinéraire version ultralight chainable (plusieurs Arduino en communication Maitre/esclave) -
  2 programmes Master et Slave - fonctionne de manière autonome aussi avec 1 seul Arduino
  I2C communication - Chainable avec un "esclave" Arduino programme Slave à charger sur le deuxième Arduino
  Aiguillages gérés par Servo moteur sur carte PCA9685 16-channel PWM & Servo driver / soit 16 servos par adruino
  Sortie relais ou transistor de puissance sur PCF8574 / 8 relais ( à 16 V.2…)
  Entrée boutons sur PCF8574 / 8 boutons pression ( à 16 V.2…)
  Capteur IR/ occupation /ILS etc… sur PCF8574 / 8 capteurs ( à 16 V.2…)
 
  Merci à :
  http://bateaux.trucs.free.fr - https://www.locoduino.org/ - http://amfn.nice.free.fr/
  https://www.aranacorp.com - https://le-forum-du-n.1fr1.net et à tous les particuliers qui m'ont aidé sur ce projet !
 
 ****************************************************/
#include <Wire.h>
#include <Adafruit_PWMServoDriver.h>
//#define I2C_ADDRESS 0x01 //mode Slave

#include <PCF8574.h>
PCF8574 pcf20(0x20);//adressage du PCF8574 //carte capteur / entrée / Pas de cavalier /ILS, IR, occup etc…
PCF8574 pcf23(0x23);//adressage du PCF8574 //carte relais / sortie / cavalier A1, A2 /
PCF8574 pcf26(0x26);//adressage du PCF8574 /carte bouton / entrée / cavalier A0, A1 /

#define NBRPCF8574 3 // nombre de cartes PCF8574 (Soit 3 par default) soit 6 max
 int x = 0 ; // variable boucle lecture PCF8574

Adafruit_PWMServoDriver pca = Adafruit_PWMServoDriver(0x40);//(no jumpers required)



int b_t[] = {1,2,3,4,5,6,7,8};  // tableau des Boutons
#define poussoir  0
#define NB_ELTS_DANS_TABLE(Table)  (sizeof(Table) / sizeof(Table[0]))


#define PCA9685 1 // NBR de cartes Adafruit PCA9685 par default 1 min ou 2
int varpca = 1 ; // variable indiquant la carte PCA9685 prise en compte de 1 à 2

#define SERVOMIN  500 // Position minimale (out of 4096) / for microsecond length based on the minimum pulse of 400
#define SERVOMAX  1000 // Position maximale (out of 4096) / for  microsecond length based on the maximum pulse of 2400
#define SERVO_FREQ 60 // Analog servos run at ~50 Hz updates

#define NBRE_AIGUILLAGE 16 // nombre d'aiguillages par carte (par default 16) Soit 15 itineraire et un buffer en "0" !!!
int servonum = 0; // our servo # counter

#define NBRE_REL 8 // nombre de Relais (8 par default) ATTENTION au 0 !!! soit -1
#define NBRE_BT 8 // nombre de Boutons (8 par default) ATTENTION au 0 !!! soit -1
#define NBRE_CAPT 8 // nombre de capteurs (8 par default) ATTENTION au 0 !!! soit -1


#define ITINERAIRES 16 // nombre d'itineraires possibles (16 par default) ATTENTION au 0 !!! soit -1
int choixitin = 1 ; // choix du numero d'itinéraires 1 par default de depart 1 a 15 (ne pas utiliser le 0)

int tableauAIG[(ITINERAIRES*PCA9685)+(NBRE_REL)+(NBRE_CAPT)+(NBRE_BT)][(NBRE_AIGUILLAGE*PCA9685)] = { // tableau de char à 2 dimensions [LIGNES][COLONNES] pour 16 aiguillages ajouter autant de cases que le nombre s'aiguillages et d'itinéraires
//{'AIG1','AIG2','AIG3','AIG4','AIG5','AIG6','AIG7','AIG8','AIG9','AIG10','AIG11','AIG12','AIG13','AIG14','AIG15','AIG16'},// gestion des aig en ouvert fermé 1/0
  {  '1',  '0',  '1',  '1',  '0',  '1',  '0',  '0',  '1',    '0',    '1',    '0',    '1',    '0',    '1',    '0'},// piste 0 itineraire choisi à mettre en œuvre !
  {  '0',  '0',  '0',  '0',  '0',  '0',  '0',  '0',  '0',    '0',    '0',    '0',    '0',    '0',    '0',    '0'},// piste 1 itineraire de départ (à recopier dans la piste 0)
  {  '1',  '1',  '1',  '1',  '1',  '1',  '1',  '1',  '1',    '1',    '1',    '1',    '1',    '1',    '1',    '1'},// piste 2
  {  '0',  '1',  '1',  '0',  '0',  '1',  '1',  '0',  '1',    '1',    '0',    '1',    '1',    '0',    '1',    '0'},// piste 3
  {  '0',  '1',  '0',  '0',  '1',  '0',  '0',  '1',  '0',    '0',    '1',    '0',    '0',    '1',    '0',    '0'},// piste 4
  {  '1',  '0',  '1',  '1',  '0',  '1',  '1',  '0',  '1',    '1',    '0',    '1',    '1',    '0',    '1',    '1'},// piste 5
  {  '0',  '0',  '1',  '1',  '0',  '0',  '1',  '1',  '1',    '0',    '0',    '1',    '1',    '0',    '1',    '1'},// piste 6
  {  '1',  '0',  '1',  '1',  '0',  '1',  '1',  '0',  '1',    '1',    '0',    '1',    '1',    '0',    '1',    '1'},// piste 7 ou itineraire Bis 1 (automatique sur occupation, capteur…)
  {  '1',  '0',  '1',  '1',  '0',  '1',  '0',  '0',  '1',    '0',    '1',    '0',    '1',    '0',    '1',    '0'},// piste 8 ou itineraire Bis 1 (automatique sur occupation, capteur…)
  {  '0',  '0',  '0',  '0',  '0',  '0',  '0',  '0',  '0',    '0',    '0',    '0',    '0',    '0',    '0',    '0'},// piste 9 ou itineraire Bis 1 (automatique sur occupation, capteur…)
  {  '1',  '1',  '1',  '1',  '1',  '1',  '1',  '1',  '1',    '1',    '1',    '1',    '1',    '1',    '1',    '1'},// piste 10 ou itineraire Bis 2 (automatique sur occupation, capteur…)
  {  '1',  '1',  '1',  '1',  '1',  '1',  '1',  '1',  '1',    '1',    '1',    '1',    '1',    '1',    '1',    '1'},// piste 11 ou itineraire Bis 2 (automatique sur occupation, capteur…)
  {  '0',  '1',  '0',  '0',  '1',  '0',  '0',  '1',  '0',    '0',    '1',    '0',    '0',    '1',    '0',    '0'},// piste 12 ou itineraire Bis 2 (automatique sur occupation, capteur…)
  {  '1',  '0',  '1',  '1',  '0',  '1',  '1',  '0',  '1',    '1',    '0',    '1',    '1',    '0',    '1',    '1'},// piste 13 ou itineraire Bis 3 (automatique sur occupation, capteur…)
  {  '1',  '0',  '1',  '1',  '0',  '1',  '1',  '0',  '1',    '1',    '0',    '1',    '1',    '0',    '1',    '1'},// piste 14 ou itineraire Bis 3 (automatique sur occupation, capteur…)
  {  '1',  '0',  '1',  '1',  '0',  '1',  '1',  '0',  '1',    '1',    '0',    '1',    '1',    '0',    '1',    '1'},// piste 15 ou itineraire Bis 4 (automatique sur occupation, capteur…)
//_________________________________________________________________________________________________________________________//
//                                                  Relais
//    Rel1  Rel2  Rel3  Rel4  Rel5  Rel6  Rel7  Rel8      itin  piste  piste    piste  piste  renvoie               
//__________Tempo__________STOP_________Tempo_________STOP_⎪______________________________________________________________//    les relais s'active en fonction de l'itineraire choisi 0 fermé / 1 activé. (On rempli A (Automatique) dans piste et les itineraires concernés
  {  '1',  '0',  '1',  '1',  '0',  '1',  '0',  '0',  '1',    '2',    '4',    '12',  '16',    '3',    '15',  '5'},//    piste 1 correspondant à la piste 1 AIG
  {  '1',  '0',  '1',  'S',  '0',  '1',  '0',  '0',  '5',    '4',    '2',    '8',    '1',    '0',    '1',    '4'},//    Le Stop indique une option relais coupant ou arretant le train c'est le relais 4 et 8 on entre alors "S" pour valider l'arrét en attente liberation de voie (1 activé)
  {  '1',  '0',  '1',  '1',  '0',  '1',  '0',  'S',  '1',    '0',    '1',    '0',    '1',    '0',    '1',    '0'},//⎪  Le T indique une option relais temporisé sur (gare ou autre)
  {  '1',  '0',  '1',  '1',  '0',  '1',  '0',  '0',  '1',    '0',    '1',    '0',    '1',    '0',    '1',    '0'},//
  {  '1',  '0',  '1',  '1',  '0',  '1',  '0',  '0',  '1',    '0',    '1',    '0',    '1',    '0',    '1',    '0'},//
  {  '1',  '0',  '1',  '1',  '0',  '1',  '0',  '0',  '1',    '0',    '1',    '0',    '1',    '0',    '1',    '0'},//
  {  '1',  '0',  '1',  '1',  '0',  '1',  '0',  '0',  '1',    '0',    '1',    '0',    '1',    '0',    '1',    '0'},//
  {  '1',  '0',  '1',  '1',  '0',  '1',  '0',  '0',  '1',    '0',    '1',    '0',    '1',    '0',    '1',    '0'},//
//_________________________________________________________________________________________________________________________//
//                                                capteurs et itineraires automatique bis sur occup                            Numero de piste suivi d'un ordre (A automatique, ou M manuel, S Stop, G gare caché) auto envoyant sur piste Bis (n°) si "0" pas de piste Bis
//    Capt1  Capt2  Capt3  Capt4  Capt5  Capt6  Capt7  Capt8  piste  Ordre  Bis1    Bis2    Bis3  renvoie                    Renvoie indique un numero d'itineraire de renvoie sur occupation (0) pas d'itineraire, "S" Stop relais.
//__________________________________________________________⎪______________________________________________________________// Tableau 8 capteurs (8 premières colonnes) option P passage à niveau, (identique à "1" (occupé) servo 15 et 16)
  {  '1',  '0',  '1',  '1',  '0',  '1',  '0',  '0',  '0',    '0',    '1',    '0',    '1',    '0',    '1',    '0'},// ligne "0" de stockage de l'info capteur comparé au cas (autres lignes)
  {  '1',  '0',  '1',  '1',  '0',  '1',  '0',  '0',  '1',    'A',    '7',    '8',    '9',    '0',    '1',    '0'},// ligne "1" correspondant à l'état autorisé de la ligne 1 (sinon piste 7,8 ou 9 avec A auto)
  {  '1',  '0',  '1',  '1',  '0',  '1',  '0',  '0',  '2',    'A',    'A',    'A',    '0',    '0',    '1',    '0'},// ligne "2" correspondant à l'état autorisé de la ligne 1 (sinon piste 10,11 ou 12 auto) exemple 2 itineraires Auto Bis 3 autre itineraire non Auto soit la piste 12
  {  '1',  '0',  '1',  '1',  '0',  '1',  '0',  '0',  '3',    '0',    '1',    '0',    '1',    '4',    '1',    '0'},// ligne "3" correspondant à l'état autorisé de la ligne 1
  {  '1',  '0',  '1',  '1',  '0',  '1',  '0',  '0',  '1',    '0',    '1',    '0',    '1',    '0',    '1',    '0'},//
  {  '1',  '0',  '1',  '1',  '0',  '1',  '0',  '0',  '1',    '0',    '1',    '0',    '1',    '0',    '1',    '0'},//
  {  '1',  '0',  '1',  '1',  '0',  '1',  '0',  '0',  '1',    '0',    '1',    '0',    '1',    '0',    '1',    '0'},//
  {  '1',  '0',  '1',  '1',  '0',  '1',  '0',  '0',  '1',    '0',    '1',    '0',    '1',    '0',    '1',    '0'},//
//_________________________________________________________________________________________________________________________//
//                                                      Boutons                                                                 
//    Bt1    Bt2    Bt3    Bt4    Bt5    Bt6    Bt7    Bt8    itin  itin  Bis1    Bis2    Bis3  renvoie                       
//________________________________E/S_______________________⎪______________________________________________________________// Les boutons (8 premières colonnes) 0 eteint / 1 allumé (préssé)
  {  'D',  'I',  '1',  '1',  '0',  '1',  '0',  '0',  '0',    '0',    '1',    '0',    '1',    '0',    '1',    '0'},// ligne "0" de stockage de l'état des boutons en attente de nouvelles données comparées.
  {  'D',  '0',  'I',  '0',  'I',  'A',  '0',  '0',  '1',    'A',    '7',    '8',    '9',    '0',    '1',    '0'},// itineraire par bouton pression : Bt1 et Bt8 D depart (clignotement prise en charge départ/arrivée) Bt5 maintenu entrée ordre/efface ordre
  {  '0',  '0',  '0',  'A',  '0',  '0',  'D',  '0',  '2',    'A',    'A',    'A',    '0',    '0',    '1',    '0'},// D = depart, A= arrivée, I=intermediaire, option M = commande manuel sur pression (aiguillage 9 à 16 uniquement) manœuvre etc…
  {  '0',  'D',  '0',  '0',  'I',  'A',  '0',  '0',  '3',    '0',    '1',    '0',    '1',    '4',    '1',    '0'},// option G = gare active une tempo d'arrét sur Relais 2 ou Rel 6 marqué T
  {  '0',  'D',  '0',  '0',  'I',  'A',  '0',  '0',  '3',    '0',    '1',    '0',    '1',    '4',    '1',    '0'},// option C = gare cachée (dans ce cas remplir avec des C partout le module ???
  {  '1',  '0',  '1',  '1',  '0',  '1',  '0',  '0',  '1',    '0',    '1',    '0',    '1',    '0',    '1',    '0'},//
  {  '1',  '0',  '1',  '1',  '0',  '1',  '0',  '0',  '1',    '0',    '1',    '0',    '1',    '0',    '1',    '0'},//
  {  '1',  '0',  '1',  '1',  '0',  '1',  '0',  '0',  '1',    '0',    '1',    '0',    '1',    '0',    '1',    '0'},// 
};


// Statut de l'aiguillage (ouvert ou dévié)
int sens = 0 ; // 0 ou 1
char vala = 0 ; //valeur de stockage pour transposition
int Position = SERVOMIN; // position d'arrivée du servo
int Posintermed = SERVOMIN; // position intermediaire du servo pour boucle
int vitAuig = 5 ; // vitesse de mouvement de l'aiguillage  default 5  - 5 à 20
int attente = 15 ; // réglage du delay rapidité servo 5 à 80
int i= 0; //Variable pour boucle
int y = 0; //Variable pour boucle

int Tempo = 30 ;// réglage du delay des relais temporisé (identique à tous les relais tempo)

 /****************************************************/




void setup() {
  Serial.begin(9600);
  Serial.println("Itineraire Aiguillage");


  Wire.begin();

  pca.begin();
  pcf20.begin();//capteurs
  pcf23.begin();//relais
  pcf26.begin();//boutons

  uint8_t value = pcf20.read8();


  pca.setPWMFreq(SERVO_FREQ);  // Analog servos run at ~60 Hz updates
 
  delay(10);
}

void loop() {

capteurs () ;

activaiguill ();


}


void droit (){
              Position = SERVOMAX; //future position MIN
              for (Posintermed; Posintermed < Position; Posintermed = Posintermed + vitAuig) {
              pca.setPWM(servonum, Posintermed, Position);
              delay(attente);
              }               
              pca.setPin(y,0,true); // deactivate pin y
               
  }

void devie (){
              Position = SERVOMIN; //future position MAX
              for (Posintermed; Posintermed > Position; Posintermed = Posintermed - vitAuig) {
              pca.setPWM(servonum, Posintermed, Position);
              delay(attente);
              }               

              pca.setPin(y,0,true); // deactivate pin y
               
  }


void activaiguill (){

    for(y = 0; y < (NBRE_AIGUILLAGE*PCA9685) ; y++) //création de l'itineraire à partir du choix (on commence a 1, 0 servant de buffer…
    {
    vala = tableauAIG[choixitin][y]; //on va chercher la valeur de la ligne pour chaque aiguille correspondant à l'itineraire du choix
   
    if ( vala != tableauAIG[0][y]) { //on compare la valeur de l'ancien itinéraire et du nouveau
              Serial.print ( vala); // test sortie
              Serial.println();delay(10);
              Serial.print ( "num carte =" );
              Serial.print ( varpca );
              Serial.println();
              Serial.print ( "servonum = " );
              Serial.print ( servonum );
              Serial.println();
              Serial.print ( " y " );
              Serial.print ( y );
              Serial.println();
              Serial.print ( "N° CARTE PCA ");
              http://Serial.print ( pca, DEC);
              Serial.println();
              delay(100);
                           
              switch (vala) {

              case '0':
              droit();
              break;
             
              case '1':
              devie();
              break;             
              }

        }
              servonum = servonum + 1;//on retombe sur 16 pour faire fonctionner le servo 0
              tableauAIG[0][y] = tableauAIG[choixitin][y] ;//on place la valeur de l'itineraire choisi pour chaque aiguille en ligne "0" pour memoire

}
              if (servonum = NBRE_AIGUILLAGE - 1) { servonum = 0 ;}

}

void capteurs (){
              uint8_t value = pcf20.read8();
              delay(50);
            for(x = 0 ; x < (NBRE_CAPT) ; x++) {
            tableauAIG[(ITINERAIRES*PCA9685)+(NBRE_REL)][x] = pcf20.read (x) ;//on place la valeur du capteur en ligne "0" des capteurs pour memoire
            }
}

void bouttons (){
            uint8_t value = pcf26.read8();
            delay(50);
            for(x = 0 ; x < (NBRE_BT) ; x++) {
            tableauAIG[(ITINERAIRES*PCA9685)+(NBRE_REL)+(NBRE_BT)][x] = pcf26.read (x) ;//on place la valeur du capteur en ligne "0" des capteurs pour memoire           
            //digitalWrite(pcf26[x], HIGH);
            }           
}

Au final, si je réussis… on aura un module par gare par exemple,
le Master transmettra l'itinéraire aux autres module…
Pour un cout infèrieur à 20 euros… (peut être même 10 euros) je ferai le point ulterieurement…
La possibilité de gérer 16 aiguillages (avec option 8 en manuel) et itineraire Bis X 3 automatique sur les 3 premiers itineraires, 1 PN, les relais (dont 2/8 avec option de retardement (arret gare ou autre)…

Me reste le problème des Leds aussi à traiter… (retour TCO, led inclus dans le bouton)…
Voila, on continue
Revenir en haut Aller en bas
SavignyExpress
Membre
Membre
SavignyExpress


Masculin Age : 58
Localisation : Savigny
Nombre de messages : 1975
Date d'inscription : 10/10/2010

Gestion de trajet Arduino et servo sur Aiguillage - Page 2 Empty
MessageSujet: Re: Gestion de trajet Arduino et servo sur Aiguillage   Gestion de trajet Arduino et servo sur Aiguillage - Page 2 Icon_minitimeMer 21 Avr 2021 - 14:16

Bonjour Mistigris,

En parcourant très rapidement le code que tu as posté, jquelques suggestions qui devraient permettre d'améliorer la gestion de la mémoire me viennent à l'esprit.

Données en mémoire programme
Les tableaux de constantes décrivant les itinéraires sont par défaut en mémoire de travail SRAM. Or cette mémoire est beaucoup plus petite que la mémoire programme Flash.

Il est possible de placer ces données en mémoire programme à l'aide de la directive PROGMEM. Il faut ensuite utiliser les fonctions du fichier à inclure. Pour des exemples, voir ici: https://www.carnetdumaker.net/articles/reduire-lempreinte-memoire-dun-programme-arduino-avec-progmem/.

Taille des éléments du tableau
Les tableaux contiennent des entiers 16 bits, mais ce n'est pas nécessaire pour les valeurs qu'ils contiennent. Un tableau de char suffirait et prendrait 2 fois moins de place.
Si la place gagnée n'est pas suffisante, il est possible de regrouper les 0 et 1 de chaque case du tableau dans des octets. Le gain de place est alors de 8, mais il faut quelques manipulations supplémentaires pour lire ces bits.
En combinant les 2 techniques, les itinéraires prendraient 16 fois moins de place en mémoire.


J'ai réalisé un projet similaire pour un ami il y a 7 ans à l'aide d'un Atmega8 programmé directement en C où j'ai utilisé ces techniques.

Bonne suite de réalisation.
Revenir en haut Aller en bas
http://savignyexpress.wordpress.com
mistigris
Membre
Membre



Masculin Age : 53
Localisation : Maisons Alfort
Nombre de messages : 433
Date d'inscription : 11/04/2012

Gestion de trajet Arduino et servo sur Aiguillage - Page 2 Empty
MessageSujet: Re: Gestion de trajet Arduino et servo sur Aiguillage   Gestion de trajet Arduino et servo sur Aiguillage - Page 2 Icon_minitimeMer 21 Avr 2021 - 15:34

Super ! SavignyExpress… très bonnes idées…

…pour la manipulations des bits, je suis pas au top ! Shocked mais c'est certain que l'on gagnerait beaucoup de place !… en réecrivant tout le programme… (Y a la version Assembleur aussi ? Very Happy je plaisante evidemment !)

Pour le tableau en Char… j'avais commencé par ça, mais je ne sais plus pourquoi j'ai changé (j'avais un bug sur l'une de mes versions)… Je vais peut être (re)éssayé…

Pour la SRAM et l'aide de la directive PROGMEM ! connais pas donc super je vais regardé… !

Pour l'instant, ça à l'air de tenir sur cette version light… je vais essayé d'alléger quand même, mais je me focalise sur le module en fonctionnement sans les "options"… et sur le I2C… (Module/maitre et esclave)… puis je passerai à version "top" avec plusieurs cartes PCA9685 ou le tableau explosera…
L'idée du lecteur de carte SD m'interessait, mais j'aimerai que l'on puisse s'en passer avec 2 cartes PCA9685 et minimum 3 PCF8574 (voir 6)…

Donc, merci beaucoup pour ces pistes très intéressantes !
Revenir en haut Aller en bas
mistigris
Membre
Membre



Masculin Age : 53
Localisation : Maisons Alfort
Nombre de messages : 433
Date d'inscription : 11/04/2012

Gestion de trajet Arduino et servo sur Aiguillage - Page 2 Empty
MessageSujet: Re: Gestion de trajet Arduino et servo sur Aiguillage   Gestion de trajet Arduino et servo sur Aiguillage - Page 2 Icon_minitimeMer 21 Avr 2021 - 15:39

Bonne nouvelle ! il passe en "char" !
"Le croquis utilise 7810 octets (25%) de l'espace de stockage de programmes. Le maximum est de 30720 octets. Les variables globales utilisent 1150 octets (56%) de mémoire dynamique…"
contre :
Le croquis utilise 8508 octets (27%) de l'espace de stockage de programmes. Le maximum est de 30720 octets.
Les variables globales utilisent 1790 octets (87%) de mémoire dynamique, ce qui laisse 258 octets

Merci ! Savigny… ça réduit déjà pas mal…
Revenir en haut Aller en bas
mistigris
Membre
Membre



Masculin Age : 53
Localisation : Maisons Alfort
Nombre de messages : 433
Date d'inscription : 11/04/2012

Gestion de trajet Arduino et servo sur Aiguillage - Page 2 Empty
MessageSujet: Re: Gestion de trajet Arduino et servo sur Aiguillage   Gestion de trajet Arduino et servo sur Aiguillage - Page 2 Icon_minitimeMer 21 Avr 2021 - 16:11

PROGMEN a l'air super cool aussi (sans grosses modifications structurelles du programme)… Notemment le Bonus…
très bon tuto… simple et efficace ! Merci encore.

Je vais tester cela une fois que j'aurais fini la base…
Revenir en haut Aller en bas
Fantasio
Membre
Membre
Fantasio


Masculin Age : 61
Localisation : Saint Médard en Jalles (33)
Nombre de messages : 1412
Date d'inscription : 15/11/2019

Gestion de trajet Arduino et servo sur Aiguillage - Page 2 Empty
MessageSujet: Re: Gestion de trajet Arduino et servo sur Aiguillage   Gestion de trajet Arduino et servo sur Aiguillage - Page 2 Icon_minitimeMer 21 Avr 2021 - 21:35

@mistigri

Courage à toi, tu es sur la bonne voie Very Happy
Revenir en haut Aller en bas
mistigris
Membre
Membre



Masculin Age : 53
Localisation : Maisons Alfort
Nombre de messages : 433
Date d'inscription : 11/04/2012

Gestion de trajet Arduino et servo sur Aiguillage - Page 2 Empty
MessageSujet: Re: Gestion de trajet Arduino et servo sur Aiguillage   Gestion de trajet Arduino et servo sur Aiguillage - Page 2 Icon_minitimeJeu 22 Avr 2021 - 5:22

Merci Fantasio merci pour tes encouragements…
je pense que ça va être bien et pratique pour tous… avec un prix hors competition…
(ecrit sans lunettes… alors ???) Very Happy
Revenir en haut Aller en bas
Fantasio
Membre
Membre
Fantasio


Masculin Age : 61
Localisation : Saint Médard en Jalles (33)
Nombre de messages : 1412
Date d'inscription : 15/11/2019

Gestion de trajet Arduino et servo sur Aiguillage - Page 2 Empty
MessageSujet: Re: Gestion de trajet Arduino et servo sur Aiguillage   Gestion de trajet Arduino et servo sur Aiguillage - Page 2 Icon_minitimeJeu 22 Avr 2021 - 13:49

mistigris a écrit:
...
je pense que ça va être bien et pratique  pour tous… avec un prix hors competition…

J'en suis également persuadé. Very Happy
Bonne continuation dans ton travail!
Revenir en haut Aller en bas
mistigris
Membre
Membre



Masculin Age : 53
Localisation : Maisons Alfort
Nombre de messages : 433
Date d'inscription : 11/04/2012

Gestion de trajet Arduino et servo sur Aiguillage - Page 2 Empty
MessageSujet: Re: Gestion de trajet Arduino et servo sur Aiguillage   Gestion de trajet Arduino et servo sur Aiguillage - Page 2 Icon_minitimeJeu 22 Avr 2021 - 15:26

… j'intégre les comm entre les 2 cartes Master et Slave Arduino…
La carte Master renvoie le numéro d'itinéraire… ainsi la Slave se calle (ou pas choix envoie Bouton dans le tableau) sur le numéro (on est sur 32 aiguillages) et renvoie les boutons (4 pour l'instant) et/ou reçoit des 4 ordres… ainsi on aurait 12 boutons avec 2 modules (pour l'instant)…
Me reste à tester en réel l'ensemble (notamment la com des PCF8574), à determiner les choix des itinéraires bis et à mettre en place les options…
Je veux essayer de faire un test à 115200 bts pour accélerer les échanges (on perd un peu de temps avec les aiguillages et pour le coup difficile de passer en millisec (que j'utiliserai pour les PN et les relais)  et on reste en delay…)…
Revenir en haut Aller en bas
mistigris
Membre
Membre



Masculin Age : 53
Localisation : Maisons Alfort
Nombre de messages : 433
Date d'inscription : 11/04/2012

Gestion de trajet Arduino et servo sur Aiguillage - Page 2 Empty
MessageSujet: Re: Gestion de trajet Arduino et servo sur Aiguillage   Gestion de trajet Arduino et servo sur Aiguillage - Page 2 Icon_minitimeDim 25 Avr 2021 - 18:19

… aujourd'hui adressage des PCF8574… et surprise chinoise… on est sur des PCF857A
dont l'adressage avec cavalier est différent (on est plus sur 0X20 à 0X27 mais sur 0X38, 0X39 et des adresses "lettrées")… merci au scanner I2C.
J'ai donc opté pour 38-39 et 0x3D pour l'adressage des 3 cartes…
Code:
PCF8574 pcf20(0x38);//adressage du PCF8574 //carte capteur / entrée / Pas de cavalier A0-, A1-,A2-/ILS, IR, occup etc…
PCF8574 pcf23(0x39);//adressage du PCF8574 //carte relais / sortie / cavalier A0+, A1- /
PCF8574 pcf26(0x3D);//adressage du PCF8574 /carte bouton / entrée / cavalier A0+, A1-,A2+ /
Les photos des cavaliers de la 0X38 et 0X39

Gestion de trajet Arduino et servo sur Aiguillage - Page 2 Img_2011

Celle de la 0x3D
Gestion de trajet Arduino et servo sur Aiguillage - Page 2 Img_2012

Concernant les boutons, j'ai touvé une matrice 16 sur un pdf (Elec _ Arduino - Bus I2c.pdf) qui me parait vraiment bien…
Qui peut le plus… avec 16 boutons on devrait pouvoir faire les itineraires voulus (avec 2 à 3 gares par exemple) + gerer des aiguillages en manuel pour les manœuvres…

- plus qu'à tester l'arrivée d'infos des capteurs pour commencer… avec une simple IR (on verra plus tard comment le relier à un système d'occupation de voie comme celui de Dmarrion dans le BAL)…

- puis avec une diode les relais… (en attendant la carte relais chinoise sur laquelle je mettrai des relais double à la place de simple en place)…

Je n'ai pas encore resolu le problème de la connection des diodes pour la pression et le chemin (faut il encore un PCF8574 !!)… sur les boutons de l'itineraire les diodes sont incrustées, je pense faire un système de clignotement (2 vitesses différentes) indiquant les possibilités de chemins… (clignotement des diodes départs, puis clignotement des diodes intermediaires et arrivée) au moment ou l'on presse le bouton la diode s'allume fixe et laisse le choix clignotant des autres suivantes… Les diodes départ et arrivée clignotant différemment que celles de passage (intermediaire) ou Gare (arrét tempo sur relais)…

Concernant la construction de l'itineraire automatique (basculement de l'itineraire choisi vers un itineraire bis en fonction de l'état des capteurs) je me creuse un peu les meninges… car il y a de nombreuse boucles imbriquées… et j'ai décidé que le moindre capteur activé sur le chemin prévu devierait la course (On a 8 capteurs et 7 possibilités de "chemin"de capteurs pour l'instant) les itineraires seront sur les cases suivantes, avec les itineraires bis… et les ordres A = auto, M = Manuel, S = Stop (priorité relais)…G gare caché, P passage à niveau… Pas facile d'essayer de prendre un maximum de cas en compte… (je crois que je vais devoir faire une petite notice à la fin)
Revenir en haut Aller en bas
mistigris
Membre
Membre



Masculin Age : 53
Localisation : Maisons Alfort
Nombre de messages : 433
Date d'inscription : 11/04/2012

Gestion de trajet Arduino et servo sur Aiguillage - Page 2 Empty
MessageSujet: Re: Gestion de trajet Arduino et servo sur Aiguillage   Gestion de trajet Arduino et servo sur Aiguillage - Page 2 Icon_minitimeMer 19 Mai 2021 - 20:52

… Le projet avance lentement mais surement (il faut que je refasse une commande chinoise globale… pas assez de PCF8574 en stock et l'extendeur bouclier)… Je pense ajouter un MAX7219 (sur le MASTER) pour le retour sur les diodes du TCO…
Les problèmes de mémoire sont resolus (pour l'instant) merci à vous ! Smile
Le programme fonctionne mais il me reste une grosse partie logique à résoudre :
- aujourdhui le passage d'un itineraire à l'autre se fait automatiquement, mais j'aimerai pouvoir entrer un nouvel itiniteraire avant la fin du premier si l'on veut… et j'aimerai que l'avancé de l'itineraire en cours soit visible grace au retour des capteurs… Rien de bien sorcier mais un peu de jus de méninges… J'ai pensé en itineraires global dès le depart, or certains aiguillages doivent s'actionner (avec leur relais) de manière conjointes et indépendantes… (evidemment il suffirai d'ecrire dans le tableau toutes les "possibilités")… mais j'aimerai rajouter une commande dans le tableau (une lettre) qui assigne un aiguillage à un capteur et/ou à un relais… genre : "Aig1/capt2" encore faut il pouvoir donner en plus la position… pas évident de faire un programme dans "le vide" qui puisse contenter tous les cas (ou un maximum)… le sur mesure est plus facile manifestement ! Enfin je vais rajouter (encore !!) une fonction aléatoire qui permettra de choisir les itineraires prédecrits de manière aléatoire (si l'on veut) celle-ci pourra être utile pour gérer le "tableau d'un Slave" en gare cachée par exemple…

Une parenthèse non des moindre : je viens de m'apercevoir qu'il y a un forum sur Locoduino !… (des fois on se sent un peu c…) sur lequel il y a de très beaux projets comme par exemple un arduino par canton avec régulation en PWM… ce site est vraiment top !
Revenir en haut Aller en bas
mistigris
Membre
Membre



Masculin Age : 53
Localisation : Maisons Alfort
Nombre de messages : 433
Date d'inscription : 11/04/2012

Gestion de trajet Arduino et servo sur Aiguillage - Page 2 Empty
MessageSujet: Re: Gestion de trajet Arduino et servo sur Aiguillage   Gestion de trajet Arduino et servo sur Aiguillage - Page 2 Icon_minitimeLun 14 Juin 2021 - 13:08

- Le module dit "Light" avance mais j'ai bloqué sur un module clavier du TCO… (16 Bts + 16 diodes
Une partie de la commande vient d'arriver Smile dont le module que j'espère utiliser (je ne l'ai jamais fait avant) pour la version "lourde"… avec sa carte SD (on a une horloge temps réel en plus…
- Le le module bouclier
- Le module Carte SD/horloge
Ce qu'il me plait… c'est que c'est enfichable. Reste à verifier que ça marche ! Smile
Gestion de trajet Arduino et servo sur Aiguillage - Page 2 Img_2013
Et puis même si on arrive à un budget "extrème" (on atteint peut être les 5 euros avec le Nano) Smile j'espère que cela fonctionnera ainsi !
Revenir en haut Aller en bas
Fantasio
Membre
Membre
Fantasio


Masculin Age : 61
Localisation : Saint Médard en Jalles (33)
Nombre de messages : 1412
Date d'inscription : 15/11/2019

Gestion de trajet Arduino et servo sur Aiguillage - Page 2 Empty
MessageSujet: Re: Gestion de trajet Arduino et servo sur Aiguillage   Gestion de trajet Arduino et servo sur Aiguillage - Page 2 Icon_minitimeLun 14 Juin 2021 - 15:39

Bonjour mistigris

Les liens pour le module bouclier et le module Carte SD/horloge sont inactifs à partir de mon ordi - je suis peut être le seul à avoir ce problème.
Te serait il possible de nous transmettre la référence de ces deux modules?

Bonne continuation pour la suite.
Revenir en haut Aller en bas
mistigris
Membre
Membre



Masculin Age : 53
Localisation : Maisons Alfort
Nombre de messages : 433
Date d'inscription : 11/04/2012

Gestion de trajet Arduino et servo sur Aiguillage - Page 2 Empty
MessageSujet: Re: Gestion de trajet Arduino et servo sur Aiguillage   Gestion de trajet Arduino et servo sur Aiguillage - Page 2 Icon_minitimeLun 14 Juin 2021 - 17:18

Revenir en haut Aller en bas
Fantasio
Membre
Membre
Fantasio


Masculin Age : 61
Localisation : Saint Médard en Jalles (33)
Nombre de messages : 1412
Date d'inscription : 15/11/2019

Gestion de trajet Arduino et servo sur Aiguillage - Page 2 Empty
MessageSujet: Re: Gestion de trajet Arduino et servo sur Aiguillage   Gestion de trajet Arduino et servo sur Aiguillage - Page 2 Icon_minitimeLun 14 Juin 2021 - 18:07

Merci!
Revenir en haut Aller en bas
mistigris
Membre
Membre



Masculin Age : 53
Localisation : Maisons Alfort
Nombre de messages : 433
Date d'inscription : 11/04/2012

Gestion de trajet Arduino et servo sur Aiguillage - Page 2 Empty
MessageSujet: Re: Gestion de trajet Arduino et servo sur Aiguillage   Gestion de trajet Arduino et servo sur Aiguillage - Page 2 Icon_minitimeLun 14 Juin 2021 - 18:17

ça ma l'air top… mais va falloir se débrouiller, y a pas de grosse info sur ce shield… SPI ou I2C ???… y a les sortie SDA et SCL sur le dessus… est ce pour balancer l'horloge à I2C ??? Je suis preneur de toute info la dessus !Smile
Revenir en haut Aller en bas
Fantasio
Membre
Membre
Fantasio


Masculin Age : 61
Localisation : Saint Médard en Jalles (33)
Nombre de messages : 1412
Date d'inscription : 15/11/2019

Gestion de trajet Arduino et servo sur Aiguillage - Page 2 Empty
MessageSujet: Re: Gestion de trajet Arduino et servo sur Aiguillage   Gestion de trajet Arduino et servo sur Aiguillage - Page 2 Icon_minitimeLun 14 Juin 2021 - 18:37

pour info regarde ce lien
Revenir en haut Aller en bas
Fantasio
Membre
Membre
Fantasio


Masculin Age : 61
Localisation : Saint Médard en Jalles (33)
Nombre de messages : 1412
Date d'inscription : 15/11/2019

Gestion de trajet Arduino et servo sur Aiguillage - Page 2 Empty
MessageSujet: Re: Gestion de trajet Arduino et servo sur Aiguillage   Gestion de trajet Arduino et servo sur Aiguillage - Page 2 Icon_minitimeLun 14 Juin 2021 - 18:52

Et ici: http://www.kaptery.com/guides/

Dans la section "Data Logging & amp;Camera Control", clique sur "Nano Data Logger"

En espérant que cela puisse t' être utile...
Revenir en haut Aller en bas
mistigris
Membre
Membre



Masculin Age : 53
Localisation : Maisons Alfort
Nombre de messages : 433
Date d'inscription : 11/04/2012

Gestion de trajet Arduino et servo sur Aiguillage - Page 2 Empty
MessageSujet: Re: Gestion de trajet Arduino et servo sur Aiguillage   Gestion de trajet Arduino et servo sur Aiguillage - Page 2 Icon_minitimeLun 14 Juin 2021 - 19:38

1er info sur la carte :
Pin connection shield / arduino nano :
SDA = pin18 / A4 - clock SCL = pin19 / A5 - clock CS / SS = pin10 / D10 - sd card Mosi = pin11 / D11 - sd card Miso = pin12 / D12 - sd card SCK = pin13 / D13 - sd card
LED L1 and L2 are not connected to anything

Un site interessant : http://altituduino.com/zone-de-telechargementcliquer-sur-limage-pour-telecharger-la-bibliothequeapres-telechargement-decompresser-le-fichier-dans-le-repe.html ou un autre pour ce module :
http://kaptery.com/guides/ (allez dans Nanodatalogger)…
Je retrouve un peu d'optimisme ! ça va le faire ! (on aura une bete de course avec un nombre faramineux d'entrées/sortie sans se priver de mémoire pour les tableaux !!!)…
Revenir en haut Aller en bas
Contenu sponsorisé





Gestion de trajet Arduino et servo sur Aiguillage - Page 2 Empty
MessageSujet: Re: Gestion de trajet Arduino et servo sur Aiguillage   Gestion de trajet Arduino et servo sur Aiguillage - Page 2 Icon_minitime

Revenir en haut Aller en bas
 
Gestion de trajet Arduino et servo sur Aiguillage
Revenir en haut 
Page 2 sur 3Aller à la page : Précédent  1, 2, 3  Suivant

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
1/160 - Echelle N :: Modèles réduits à l'echelle N :: Electricité / Electronique-
Sauter vers: