IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Arduino Discussion :

Effectuer une association entre deux tableaux


Sujet :

Arduino

  1. #201
    Expert confirmé

    Homme Profil pro
    mad scientist :)
    Inscrit en
    Septembre 2019
    Messages
    2 711
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : mad scientist :)

    Informations forums :
    Inscription : Septembre 2019
    Messages : 2 711
    Points : 5 390
    Points
    5 390
    Par défaut
    Citation Envoyé par Jsiorat Voir le message
    Les deux arduino ne sont pas liées l'une par rapport à l'autre ! La 1ère pour la gare, la seconde pour le triage.
    Ma compréhension c'est que votre circuit ressemble à cela:

    Nom : dessin.png
Affichages : 128
Taille : 1,01 Mo

    La question que je me pose c'est quel Arduino est responsable de G1 et de son passage à Gauche ou Droite ? ou quand une loco est sur le tronçon vert allant vers C1 (sortie de triage) quel Arduino va s'assurer que G1 est sur Gauche et qu'il n'y a pas un train sur C1 (ou inversement si un train arrive de C1 sur le trait rouge pour aller à Voie 1, qui va décider de bouger l'aiguillage vers G1-D) ?

    Vos deux systèmes ayant un point commun. il va falloir qu'ils discutent, non ?

  2. #202
    Membre émérite
    Avatar de jpbbricole
    Homme Profil pro
    Retraité des réseaux informatiques
    Inscrit en
    Février 2013
    Messages
    1 012
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Retraité des réseaux informatiques
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Février 2013
    Messages : 1 012
    Points : 2 341
    Points
    2 341
    Par défaut
    Bonjour vous tous!

    Citation Envoyé par Jay M Voir le message
    Il serait peut être bon d’envisager les cartes d’extension de ports en SPI ou I2C dont nous avions parlé précédemment ce qui permettrait de conserver l’ensemble du contrôle dans un seul arduino.
    L'ennui avec le SPI, ce n'est pas un bus adressé comme l'i2C, il faut un CS (Chip select) par périphérique. En i2C on trouve plus de périfériques "utiles" pour ce genre d'application (maquette de train), on peut aller jusqu'à plus de 20 mètres avec un extender de bus i2C et jusq'à 120 périfériques (Théorique)
    .
    Mais, dans un premier temps, pour rester dans "les cordes" de Jacques, je propose de connecter 1 Mega (tcoTriage) à l'actuel (tcoGare) (Jusqu'à 3) par le Serial3 (Tx 14, Rx 15), de les nommer tcoGare et tcoTriage, d'ajouter dans les tableaus bp et aig, la notion de destination sous forme d'un champs appelé TCO. Ainsi, lors de la pression sur un bp ou d'une commande d'aiguille, le programme compare la valeur de TCO et, si pas egale au TCO local, envoie la commande sur la liaison série.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    ARDDEV_TrainElectrTabl_BP_TcoGare.h
    //===================================== TCO Gare
    	// Nom,    TCO,    Port, presse, aigCmd1, aigCmd2, aigCmd2,  aigCmd2
    	{"C1_V1", "Gare",    5,   false, "G1_D",   "A1_G",  "A3_D",     ""},
    	{"C1_V2", "Triage",  6,   false,     "",       "",      "",     ""},
    	{"C2_V1", "Gare",    7,   false, "B1_G",   "B3_D",  "A2_G", "A3_G"},
    	{"C2_V2", "Gare",    8,   false, "B1_G",   "B3_D",  "A2_D", "A4_G"},
    	{"C2_V3", "Gare",    9,   false, "B1_D",   "B4_D",      "",     ""},
    	{"C3_V1", "Gare",   10,   false, "B2_G",   "B3_G",  "A2_G", "A3_G"},
    	{"C3_V2", "Triage", 11,   false,     "",       "",      "",     ""},
    	{"C3_V3", "Triage", 12,   false,     "",       "",      "",     ""}
    
    ARDDEV_TrainElectrTabl_AIG_TcoGare.h
    //===================================== TCO Gare
    	// Position donne la position de l'aiguille au demarrage du programme
    	//Nom,   TCO,      Position, Moteur G, Moteur D,  Led G,  LED D   255 = port inutilise
    	{"G1", "Gare",   aigPosDroite,  21,       22,       40,     41},
    	{"A1", "Gare",   aigPosGauche,  23,       24,       42,     43},
    	{"A2", "Triage", aigPosNull,   255,      255,      255,    255},
    	{"A3", "Triage", aigPosNull,   255,      255,      255,    255},
    	{"A4", "Gare",   aigPosDroite,  29,       30,      48,      49},
    	{"B1", "Gare",   aigPosDroite,  31,       32,      50,      51},
    	{"B2", "Gare",   aigPosDroite,  33,       34,      52,      53},
    	{"B3", "Gare",   aigPosDroite,  35,       36,      A8,      A9},
    	{"B4", "Triage", aigPosNull,   255,      255,      255,     255}
    Ainsi on pourra envoyer des commandes depuis tcoGare sur tcoTriage et vice-et-versa suffit de renseigner les tableaux, il serait même possible de demander des renseignements à l'autre (mais c'est pour plus tard)
    Ainsi les divers Mega sont identiques, mise à part leur nom de TCO et les 2 tableaux bp et aig.
    Pour ce faire connecter tcoGare Tx [14] sur tcoTriage Rx [15] et tcoGare Rx [15] sur tcoTriage Tx [14].
    Toute cette "mécanique" est déjà, en grande partie, implémentée dans le programme du fait que l'on peut envoyer des commandes par le moniteur donc, le même type de chemon que par Serial 1à3.
    Seuls quelques petits aménagements à faire, comme différencier les fichiers .h en fonction du TCO concerné:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    ARDDEV_TrainElectrTabl_AIG_TcoGare.h
    ARDDEV_TrainElectrTabl_AIG_TcoTriage.h
    ARDDEV_TrainElectrTabl_BP_TcoGare.h
    ARDDEV_TrainElectrTabl_BP_TcoTriage.h
    et, au moyen de l'assemblage conditionnel (Encore un truc à apprendre, Jacques), programmer le mega tcoGare ou le Mega tcoTriage.
    Si tu est tenté...
    Pour la gestion des cantons, j'avais commencé une approche au post #106 est-ce intéressent?

    Citation Envoyé par Jay M Voir le message
    (Pour le boulot il y a “quelques années” je suis allé quelques fois chez Nestlé - leur campus est super)
    Le siège mondial de Nestlé, c'est le plus "gros truc" que je vois de ma terrasse!

    A+
    Cordialement
    jpbbricole
    L'expérience est la seule chose qu'il ne faut acheter que d'occasion!

  3. #203
    Expert confirmé

    Homme Profil pro
    mad scientist :)
    Inscrit en
    Septembre 2019
    Messages
    2 711
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : mad scientist :)

    Informations forums :
    Inscription : Septembre 2019
    Messages : 2 711
    Points : 5 390
    Points
    5 390
    Par défaut
    Citation Envoyé par jpbbricole Voir le message
    Bonjour vous tous!
    L'ennui avec le SPI, ce n'est pas un bus adressé comme l'i2C, il faut un CS (Chip select) par périphérique.
    C’est pas forcément un ennui mais une spécificité. Les bibliothèques cachent cela, mais oui I2C c’est plus simple tant que l’on reste sur courte distance (à l’origine c’est prévu pour une connexion entre 2 composants de la même carte) sinon faut soigner son câblage et son amplification et ça fonctionne en effet.

    Le siège mondial de Nestlé, c'est le plus "gros truc" que je vois de ma terrasse!
    Jolie terrasse sur le lac alors !

  4. #204
    Membre émérite
    Avatar de jpbbricole
    Homme Profil pro
    Retraité des réseaux informatiques
    Inscrit en
    Février 2013
    Messages
    1 012
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Retraité des réseaux informatiques
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Février 2013
    Messages : 1 012
    Points : 2 341
    Points
    2 341
    Par défaut
    Salut Jay M

    Citation Envoyé par Jay M Voir le message
    C’est pas forcément un ennui mais une spécificité. Les bibliothèques cachent cela, mais oui I2C c’est plus simple tant que l’on reste sur courte distance (à l’origine c’est prévu pour une connexion entre 2 composants de la même carte) sinon faut soigner son câblage et son amplification et ça fonctionne en effet.
    Pour SPI, les bibliothèques ne peuvent cacher qu'il faille autant de fils que de périphérique pour les signaux CS.
    Le bus i2C n'est pas si "fragile" que ça, je l'utilise énormément, sans aucun problème et puis, c'est seulement 4 fils (GND VCC SDA SCL).

    Jolie terrasse sur le lac alors ![/QUOTE]

    Citation Envoyé par Jay M Voir le message
    Jolie terrasse sur le lac alors !
    Non, malheureusement, trop bas, mais j'ai les montagnes.

    Cordialement
    jpbbricole
    L'expérience est la seule chose qu'il ne faut acheter que d'occasion!

  5. #205
    Expert confirmé

    Homme Profil pro
    mad scientist :)
    Inscrit en
    Septembre 2019
    Messages
    2 711
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : mad scientist :)

    Informations forums :
    Inscription : Septembre 2019
    Messages : 2 711
    Points : 5 390
    Points
    5 390
    Par défaut
    Citation Envoyé par jpbbricole Voir le message
    Pour SPI, les bibliothèques ne peuvent cacher qu'il faille autant de fils que de périphérique pour les signaux CS.
    Salut

    Oui ça c’est tout à fait vrai, faut câbler plus que sur un pur bus.

    Notez qu’on peut aussi faire une construction Maître/Esclave avec le port série, un seul maître (Tx) parlant à tous les Rx des Arduinos esclaves et si le protocole dit à qui on s’adresse alors celui qui se reconnaît prend l’action

    Pour la réponse c’est un peu plus compliqué il faut mettre des diodes et un pullup - mais pour une communication unidirectionnelle c’est envisageable donc avec votre protocole simplement.

  6. #206
    Membre habitué
    Avatar de Jsiorat
    Homme Profil pro
    RETRAITE
    Inscrit en
    Juillet 2005
    Messages
    398
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 78
    Localisation : France, Ariège (Midi Pyrénées)

    Informations professionnelles :
    Activité : RETRAITE

    Informations forums :
    Inscription : Juillet 2005
    Messages : 398
    Points : 169
    Points
    169
    Par défaut Bojour à vous deux,
    Je viens de lire vos réflexions ... toutes les deux sont étudiées, acceptables, acceptées !
    Mais, pour le débutant que je suis, vous m'avez larguer ! je ne suis plus, j'ai la tète qui déborde !

    Je crois avoir résolu le problème en modifiant l'implantation du circuit :
    - ajout d'une aiguille de sortie du "triage" dans le sens de roulage (g ==> d à la gare !).
    - ajout d'une voie d'évitement appelée "Accès triage" que je viens de renommée "Sortie triage".

    Les deux aiguilles "G1" et "G2", sont gérées soit par le TCO Gare (G1_D) soit par le TCO Triage (G2_D)
    Il me reste à modifier les fichiers .h en conséquence.

    Est-ce que ce n'est pas plus simple ainsi ?

    Vous pouvez aussi voir comment j'ai divisé les trois voies en 2 cantons, eux-même divisés avec une zone d'arrêt que je dois encore faire précédée d'une zone de présignalisation.
    Merci pour vos réflexions.
    Bonne journée, A+
    JacquesNom : PERSO 10.jpg
Affichages : 112
Taille : 255,7 Ko
    Être vieux, c'est être jeune depuis plus longtemps que les autres !

  7. #207
    Membre émérite
    Avatar de jpbbricole
    Homme Profil pro
    Retraité des réseaux informatiques
    Inscrit en
    Février 2013
    Messages
    1 012
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Retraité des réseaux informatiques
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Février 2013
    Messages : 1 012
    Points : 2 341
    Points
    2 341
    Par défaut
    Bonjour Jacques

    Citation Envoyé par Jsiorat Voir le message
    Je viens de lire vos réflexions ... toutes les deux sont étudiées, acceptables, acceptées !
    Une des réflexion est le système multi Mega/TCO et la 2ème c'est quoi?

    Citation Envoyé par Jsiorat Voir le message
    Mais, pour le débutant que je suis, vous m'avez larguer ! je ne suis plus, j'ai la tète qui déborde !
    Du moment que tu ne dérailles pas .
    Jusqu'à maintenant tu as bien maîtrisé le système développé, le passage au multiple Mega ne change rien à la chose, tu n'as rien de plus à apprendre, si ce n'est la compilation conditionnel avec des #ifdef et #endif, qui est très aisé à comprendre.

    Question, avec quel programme dessines-tu ton réseau, a-t-il la possibilité d'exporter en DXF?

    A+
    Cordialement
    jpbbricole
    L'expérience est la seule chose qu'il ne faut acheter que d'occasion!

  8. #208
    Membre habitué
    Avatar de Jsiorat
    Homme Profil pro
    RETRAITE
    Inscrit en
    Juillet 2005
    Messages
    398
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 78
    Localisation : France, Ariège (Midi Pyrénées)

    Informations professionnelles :
    Activité : RETRAITE

    Informations forums :
    Inscription : Juillet 2005
    Messages : 398
    Points : 169
    Points
    169
    Par défaut
    Citation Envoyé par jpbbricole Voir le message
    Bonjour Jacques


    Du moment que tu ne darailles pas .

    Question, avec quel programme dessines-tu ton réseau, a-t-il la possibilité d'exporter en DXF?
    Bonjour JP,

    WWOOUUUAAAAHHHH ! Quel humour le matin au réveil !

    Pour le programme, j'utilise AnyRail, version 6. Pas d'export en DXF Nom : Export AnyRail.PNG
Affichages : 117
Taille : 37,3 Ko
    Logiciel qui prend en compte une flopée de marques de trains miniatures, conception très aisée d'un circuit et vue en 3D.
    Nécessite une licence d'environ 30 € mises à jour comprise. Si ça t'intéresse, donne moi des infos par message privé.
    Être vieux, c'est être jeune depuis plus longtemps que les autres !

  9. #209
    Membre habitué
    Avatar de Jsiorat
    Homme Profil pro
    RETRAITE
    Inscrit en
    Juillet 2005
    Messages
    398
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 78
    Localisation : France, Ariège (Midi Pyrénées)

    Informations professionnelles :
    Activité : RETRAITE

    Informations forums :
    Inscription : Juillet 2005
    Messages : 398
    Points : 169
    Points
    169
    Par défaut Fichiers .h modifiés
    Pour tenir compte de la modification d'implantation du circuit ...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
     
    	// Position donne la position de l'aiguille au demarrage du programme
    	// NOM du fichier : Train_TableauAiguillages.h
    	// modifié le 13/10/2020 à 08h30
    	//Nom,   Position, Moteur G, Moteur D, Led G, LED D   255 = port inutilise
    	{"G1", aigPosDroite,  21,       22,       41,   42},
    	{"G2", aigPosGauche,  23,       24,       43,   44},
    	{"A1", aigPosGauche,  25,       26,       45,   46},
    	{"A2", aigPosDroite,  27,       28,       47,   48},
    	{"A3", aigPosGauche,  29,       30,       49,   50},
    	{"A4", aigPosDroite,  31,       32,       51,   52},
    	{"B1", aigPosDroite,  33,       34,       53,   A8},
    	{"B2", aigPosDroite,  35,       36,       A9,   A10},
    	{"B3", aigPosDroite,  37,       38,       A11,  A12},
    	{"B4", aigPosDroite,  39,       40,       A13,  A14},
    ============================
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    // Nom du fichier : Train_TableauBoutonsPoussoirs.h
    	// modifié le 13/10/2020 à 08h30
    	// Nom,  Port, presse, aigCmd1, aigCmd2, aigCmd3,  aigCmd4,  aigCmd5,
    	{"C1_V1",  5,   false, "G1_D",   "A1_G",  "A3_D", "G2_G",      ""},
    	{"C1_V2",  6,   false, "G1_D",   "A1_D",  "A4_D",     "",      ""},
    	{"C2_V1",  7,   false, "B1_G",   "B3_D",  "A2_G", "A3_G",  "G2_G"},
    	{"C2_V2",  8,   false, "B1_G",   "B3_D",  "A2_D", "A4_G",      ""},
    	{"C2_V3",  9,   false, "B1_D",   "B4_D",      "",     "",      ""},
    	{"C3_V1", 10,   false, "B2_G",   "B3_G",  "A2_G", "A3_G",  "G2_G"},
    	{"C3_V2", 11,   false, "B2_G",   "B3_G",  "A2_D", "A4_G",      ""},
    	{"C3_V3", 12,   false, "B2_D",   "B4_G",      "",     "",      ""}
    Pas d'erreur ?

    Le fichier .INO a été aussi modifié :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    //===================================== Boutons
    #define bpMotNombreMax 5             // Nombre de moteurs max par bouton
    const boolean bpEtatPresseLOW = true;      // Etat lu du bouton presse
    boolean bpCommandeOk = false;
    et aussi
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    #define lpwmPolarite SOFTPWM_NORMAL  // SOFTPWM_NORMAL ou SOFTPWM_INVERTED 
    #define lpwmOn true
    En principe ... c'est tout ! (??)
    Être vieux, c'est être jeune depuis plus longtemps que les autres !

  10. #210
    Membre émérite
    Avatar de jpbbricole
    Homme Profil pro
    Retraité des réseaux informatiques
    Inscrit en
    Février 2013
    Messages
    1 012
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Retraité des réseaux informatiques
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Février 2013
    Messages : 1 012
    Points : 2 341
    Points
    2 341
    Par défaut
    Bonjour Jacques

    Pourrais-tu créer les fichiers des boutons (bp) et aiguillages (aig) pour le TCO Triage et les nommer ainsi

    ARDDEV_TrainElectrTabl_AIG_TcoTriage.h
    ARDDEV_TrainElectrTabl_BP_TcoTriage.h

    et, pour le TCO Triage une séquence du même genre à celle de l'initialisation du TCO Gare
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    	cmdMonitRecue("BP=C1_V1,BP=C2_V2,BP=C3_V3");

    A+
    Cordialement
    jpbbricole
    L'expérience est la seule chose qu'il ne faut acheter que d'occasion!

  11. #211
    Membre habitué
    Avatar de Jsiorat
    Homme Profil pro
    RETRAITE
    Inscrit en
    Juillet 2005
    Messages
    398
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 78
    Localisation : France, Ariège (Midi Pyrénées)

    Informations professionnelles :
    Activité : RETRAITE

    Informations forums :
    Inscription : Juillet 2005
    Messages : 398
    Points : 169
    Points
    169
    Par défaut
    Je vais m'y atteler, comme disais le cheval !
    Être vieux, c'est être jeune depuis plus longtemps que les autres !

  12. #212
    Membre émérite
    Avatar de jpbbricole
    Homme Profil pro
    Retraité des réseaux informatiques
    Inscrit en
    Février 2013
    Messages
    1 012
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Retraité des réseaux informatiques
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Février 2013
    Messages : 1 012
    Points : 2 341
    Points
    2 341
    Par défaut
    Alors hue coco !

    Bonne après-midi
    jpbbricole
    L'expérience est la seule chose qu'il ne faut acheter que d'occasion!

  13. #213
    Membre habitué
    Avatar de Jsiorat
    Homme Profil pro
    RETRAITE
    Inscrit en
    Juillet 2005
    Messages
    398
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 78
    Localisation : France, Ariège (Midi Pyrénées)

    Informations professionnelles :
    Activité : RETRAITE

    Informations forums :
    Inscription : Juillet 2005
    Messages : 398
    Points : 169
    Points
    169
    Par défaut Petit soucis ...
    Pour le triage, je pense qu'il serait intéressant d'utiliser 2 cartes Méga 2560.
    Because le nombre de broches nécessaire :
    Dans une feuille excel, j'ai établi ceci :
    Nom : PlanTriage_Excel.PNG
Affichages : 114
Taille : 53,5 Ko

    Le plan :
    Nom : PERSO 10 - LE TRIAGE - Plan TCO.jpg
Affichages : 108
Taille : 162,8 Ko

    La sortie du triage vers "voie 1" est exactement identique à l'entrée, l'aiguille G1_G ne doit pas être activée
    Mon idée est celle-ci : sur la seconde carte, reprendre le même code en forçant l'aiguille G1_G à passer en G1_D.

    Dans ce cas, comment relier les deux cartes...
    Tu as écrit : "Pour ce faire connecter tcoGare Tx [14] sur tcoTriage Rx [15] et tcoGare Rx [15] sur tcoTriage Tx [14]" ! Je peux essayer ça ?

    Qu'en penses-tu ? Je suis prêt à faire un exemple avec 2 cartes et après avoir créer les fichiers nécessaire.

    Bonne soirée.
    Et vive le train ... miniature !
    Être vieux, c'est être jeune depuis plus longtemps que les autres !

  14. #214
    Membre émérite
    Avatar de jpbbricole
    Homme Profil pro
    Retraité des réseaux informatiques
    Inscrit en
    Février 2013
    Messages
    1 012
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Retraité des réseaux informatiques
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Février 2013
    Messages : 1 012
    Points : 2 341
    Points
    2 341
    Par défaut
    Bonsoir Jacques

    Citation Envoyé par Jsiorat Voir le message
    Dans ce cas, comment relier les deux cartes...
    Tu as écrit : "Pour ce faire connecter tcoGare Tx [14] sur tcoTriage Rx [15] et tcoGare Rx [15] sur tcoTriage Tx [14]" ! Je peux essayer ça ?.
    Non, pas encore, il faut que je fasse la version "Multi TCO" pour que ça fonctionne. Je te ferais un Fritz pour le câblage.
    Tu as droit à 4 cartes Mega ou TCO, la première qui sera le "Chef de Gare" du circuit (tcoGare) et 3 "sous Mega ou TCO".
    Dans les premières versions du programme, seul tcoGare pourra envoyer des ordres chez lui et sur les autres TCO, dans les versions suivantes tout les TCO pourront envoyer des ordres dans les autres TCO.

    Citation Envoyé par Jsiorat Voir le message
    Pour le triage, je pense qu'il serait intéressant d'utiliser 2 cartes Méga 2560.
    Je suis prêt à faire un exemple avec 2 cartes et après avoir créer les fichiers nécessaire.
    On part donc avec 3 cartes, tcoGare, tcoTriageA et tcoTriageB (ou tcoTriage1 et tcoTriage2 ou tcoTriageNord et tcoTriageSud), à toi de choisir.
    Tu peux ainsi créer les fichiers bp et aig pour ces 3 tco, le principe est que ces fichiers ne contiennent que les paramètres bp/aiguilles pour les seules éléments dont ils sont responsables comme jusqu'à maintenant), c'est après que l'on inclura, dans tcoGare des ordres pour les autres tco.
    J'adapterai ces fichier pour la nouvelle version du programme et te les transmettrais.

    Fais, aussi, l'initialisation pour tcoTriageNprd et tcoTriageSud sur le modèle de
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    void gareInitialisation()
    BP=C1_V1,BP=C2_V2,BP=C3_V3
    A+
    Cordialement
    jpbbricole
    L'expérience est la seule chose qu'il ne faut acheter que d'occasion!

  15. #215
    Membre habitué
    Avatar de Jsiorat
    Homme Profil pro
    RETRAITE
    Inscrit en
    Juillet 2005
    Messages
    398
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 78
    Localisation : France, Ariège (Midi Pyrénées)

    Informations professionnelles :
    Activité : RETRAITE

    Informations forums :
    Inscription : Juillet 2005
    Messages : 398
    Points : 169
    Points
    169
    Par défaut Les fichiers !
    Salut Maître es-Arduino !

    Voila les fichiers demandés ... en ZIP, en principe (!) pas d'erreurs.

    Tu vas trouver tous les fichiers avec des noms plus court et je pense, plus adaptés ...
    J'ai donc modifié en conséquence le fichier d'origine, renommé lui aussi : GestGare-v1.10.ino ;
    Donc, le fichier pour le TRIAGE, sera GestTriage-vx.xx.ino

    Destination des fichiers :
    Mega master : GestGare-v1.10.ino ; Train_Tabl_AIG_GARE.h ; Train_Tabl_BP_GARE.h ;
    Mega slave 1 : GestTriage-vx.xx.ino ; Train_Tabl_AIG_TCOTriageE.h ; Train_Tabl_BP_TCOTriageE.h // E pour Entrée
    Mega slave 2 : Train_Tabl_AIG_TCOTriageS.h ; Train_Tabl_BP_TCOTriageS.h // S pour Sortie

    Si le fichier GestGare-v1.10.ino doit être le fichier de commande de tous les autres, il serait (peut-être !) bien de le renommer Gest_Gare_Triage-Vx.xx.ino

    Je te laisse faire au mieux que tu penses !
    Le cheval est arrivé au bout du sillon !
    A+ et Bonne Journée
    Jacques


    ZIP.7z
    Être vieux, c'est être jeune depuis plus longtemps que les autres !

  16. #216
    Membre habitué
    Avatar de Jsiorat
    Homme Profil pro
    RETRAITE
    Inscrit en
    Juillet 2005
    Messages
    398
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 78
    Localisation : France, Ariège (Midi Pyrénées)

    Informations professionnelles :
    Activité : RETRAITE

    Informations forums :
    Inscription : Juillet 2005
    Messages : 398
    Points : 169
    Points
    169
    Par défaut
    Jp,

    Si je te dis que je dispose de :
    - 4 cartes Méga 2560
    - 6 cartes UNO R3
    - 2 cartes PCA96685
    - une douzaine de ULN2003
    - un shield écran LCD TFT 3,5p
    Est-ce que ça peut te faciliter les choses ?

    Les R3, je vais m'en servir pour gérer les cantons, zones de ralentissement et d'arrêt
    Pour l'écran, je verrai plus tard pour apprendre comment construire un menu de plusieurs pages et une gestion Gare/triage

    Ici, pluie ! pas de jardin ni même de cheval au pré !
    A+, Jacques
    Être vieux, c'est être jeune depuis plus longtemps que les autres !

  17. #217
    Membre émérite
    Avatar de jpbbricole
    Homme Profil pro
    Retraité des réseaux informatiques
    Inscrit en
    Février 2013
    Messages
    1 012
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Retraité des réseaux informatiques
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Février 2013
    Messages : 1 012
    Points : 2 341
    Points
    2 341
    Par défaut
    Bonjour Jacques
    Citation Envoyé par Jsiorat Voir le message
    Salut Maître es-Arduino !
    Ca me flatte Il faut dire que tu est un excellent élève, je suis gaté

    Citation Envoyé par Jsiorat Voir le message
    Si le fichier GestGare-v1.10.ino doit être le fichier de commande de tous les autres...
    Gare n'est pas le fichier de commande de tout les autres, c'est le patron du réseau, dans cette première phase du développement. Il faut comprendre que chaque TCO tcoGare, tcoTriageE et tcoTriageS fonctionnent exactement comme la gare actuelle, c'est à dire chaque TCO est responsable de ses LED , de ses boutons et de ses aiguilles et on peut leur envoyer des ordres depuis la console qui est connectée sur leur Mega respectif.
    Le plus de cette version en cours de développement, est que le tcoGare, qui est le patron peut envoyer des ordres aux autres TCO, c'est à dire que tu pourrais avoir un bp sur tcoGare qui envoie un ou des ordres à tcoTriageS ou tcoTriageE.
    Pour ce qui est du fichier INO, il n'y en aura qu'un, c'est au moment du téléchargement dans le Mega qu'on choisi quel TCO ce sera, c'est l'assemblage conditionnel qui s'occupe de tout ça, charches #if dans cette page.
    Dans un futur (proche) il n'y aura plus de patron, tout le monde pourra envoyer des ordres à tout le monde.

    Citation Envoyé par Jsiorat Voir le message
    Le cheval est arrivé au bout du sillon !
    Hiiiiii que dalle! il y a encore quelques sillons à tracer.


    Merci pour les fichiers, super

    A+
    Cordialement
    jpbbricole
    L'expérience est la seule chose qu'il ne faut acheter que d'occasion!

  18. #218
    Membre habitué
    Avatar de Jsiorat
    Homme Profil pro
    RETRAITE
    Inscrit en
    Juillet 2005
    Messages
    398
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 78
    Localisation : France, Ariège (Midi Pyrénées)

    Informations professionnelles :
    Activité : RETRAITE

    Informations forums :
    Inscription : Juillet 2005
    Messages : 398
    Points : 169
    Points
    169
    Par défaut LA VOILA !!!
    La vidéo !

    Oh c'est pas le film du siècle mais c'est MA vidéo !

    A voir


    Les lorgnons sur le nez ...

    A+, et bonne soirée !
    Jacques
    Être vieux, c'est être jeune depuis plus longtemps que les autres !

  19. #219
    Membre émérite
    Avatar de jpbbricole
    Homme Profil pro
    Retraité des réseaux informatiques
    Inscrit en
    Février 2013
    Messages
    1 012
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Retraité des réseaux informatiques
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Février 2013
    Messages : 1 012
    Points : 2 341
    Points
    2 341
    Par défaut
    Bonsoir Jacques

    Je viens de découvrir le Claude Chabrol de l'Arduino
    Super de voire le résultat de nos cogitations!

    Petite question, combien de temps dure ta pile? tu n'as pas intérêt à mettre un adapteur secteur/9V.?

    Bonne soirée
    Cordialement
    jpbbricole
    L'expérience est la seule chose qu'il ne faut acheter que d'occasion!

  20. #220
    Membre habitué
    Avatar de Jsiorat
    Homme Profil pro
    RETRAITE
    Inscrit en
    Juillet 2005
    Messages
    398
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 78
    Localisation : France, Ariège (Midi Pyrénées)

    Informations professionnelles :
    Activité : RETRAITE

    Informations forums :
    Inscription : Juillet 2005
    Messages : 398
    Points : 169
    Points
    169
    Par défaut
    Citation Envoyé par jpbbricole Voir le message
    Bonsoir Jacques

    Je viens de découvrir le Claude Chabrol de l'Arduino
    Super de voire le résultat de nos cogitations!

    Petite question, combien de temps dure ta pile? tu n'as pas intérêt à mettre un adaptateur secteur/9V ?
    Mon vrai nom c'est Jacques CHABROL ! bof !

    Pour le moment, la pile est neuve, mais bien sur que les TCO seront alimentés en 9 volts. Si je ne me trompe pas, les cartes supportent de 9 à 12 volts.

    Bonne nuit ! je vais faire dormir mes yeux !
    A+
    Jacques
    Être vieux, c'est être jeune depuis plus longtemps que les autres !

Discussions similaires

  1. Requête pour effectuer une comparaison entre deux dates
    Par ktm26 dans le forum Langage SQL
    Réponses: 2
    Dernier message: 26/04/2017, 08h49
  2. Effectue une soustraction entre deux dates
    Par messi1987 dans le forum Développement
    Réponses: 2
    Dernier message: 05/03/2015, 14h22
  3. [XL-2003] Faire une liaison entre deux tableaux sur 2 classeurs différents
    Par Katell dans le forum Conception
    Réponses: 1
    Dernier message: 22/01/2015, 18h04
  4. implementer une association entre deux classes uml en java
    Par tabbabi dans le forum Persistance des données
    Réponses: 8
    Dernier message: 19/04/2011, 19h39
  5. Réponses: 1
    Dernier message: 11/06/2009, 23h39

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo