Page 7 sur 8

Re: Automatisation de l' APT de Patrice .

Posté : 26 janv. 2026, 16:47
par patrice_b
:bienv: :bienv:

Bien joué Hervé, te voila devenu un pro du DCC, c'est la porte ouverte a plein de futures réalisations maintenant. :yess: :yess:

Re: Automatisation de l' APT de Patrice .

Posté : 26 janv. 2026, 16:48
par likiki
Hervé vas crouler sous les commandes. :hhhaaaa:

Re: Automatisation de l' APT de Patrice .

Posté : 26 janv. 2026, 16:57
par herwat
likiki a écrit : 26 janv. 2026, 16:48 Hervé vas crouler sous les commandes. :hhhaaaa:
:mdrmdr: :mdrmdr: :mdrmdr: :mdrmdr:

Non, non ! Maintenant, j'ai un autre projet en tête, mais pour mon réseau ! :siffle:

Re: Automatisation de l' APT de Patrice .

Posté : 26 janv. 2026, 17:11
par patrice_b
Vivement d'en savoir plus.

:yess:

Re: Automatisation de l' APT de Patrice .

Posté : 26 janv. 2026, 17:23
par C2Vues-BricoTrain
:bravo2 :bravo2 :bravo2

L' APT (l'a pété) ne veut pas dire l'avoir cassé !

La preuve est là, quand on voit le résultat d' Hervé !

:PetitPoucejpg: :PetitPoucejpg: :PetitPoucejpg:

Re: Automatisation de l' APT de Patrice .

Posté : 26 janv. 2026, 17:38
par ramasoft
Fallait quand même oser se lancer dans ce projet... :tirechap:

Un sacré défi :bienv:

Re: Automatisation de l' APT de Patrice .

Posté : 26 janv. 2026, 18:16
par patrice_b
Et en moins d'un an :tirechap: :tirechap:

Re: Automatisation de l' APT de Patrice .

Posté : 27 janv. 2026, 17:50
par herwat
Petite explication .

Comme dit plus haut, le décodeur est en liaison série (Rx - Tx) avec L'APT .
Quand le décodeur reçoit un message DCC valide, Il transmet à L'APT un ordre lisible par lui via un tableau de correspondance .
Dès que l'APT reçoit cet ordre, il l'exécute . . .

Voilà , c'est tout simple !
Mais c'est toujours simple une fois qu'on a compris ! :siffle: :siffle: :siffle:

Voilà le programme du décodeur :

Code : Tout sélectionner

]
             /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
              * * * * *                                                 * * * * *
              * * * * *             Décodeur d'accessoires              * * * * *
              * * * * *                                                 * * * * *
              * * * * *                 Vu sur le site :                * * * * *
              * * * * *       Seine Modèle Club Ferroviaire - SMCF      * * * * *
              * * * * *   https://www.modelisme-ferroviaire-rouen.fr/   * * * * *
              * * * * *                                                 * * * * *
              * * * * *           Transformation en vue de la           * * * * *
              * * * * *          commande de l'APT de  Patrice          * * * * *
              * * * * *                    version ROCO                 * * * * *
              * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */

// Utilisation de la librairie DCC Decoder pour lire les trames DCC
   #include "DCC_Decoder.h"
   #define DCC_INTERRUPT  0
// Adresse de base du Arduino-Decodeur
   #define baseAdresse 100  

// Déclaration des codes correspondants aux positions des voies de l'APT
   const int CodeAPT [37] = {105,
                          6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,
                          106,107,108,109,110,111,112,113,114,115,116,117,
                          118,119,120,121,122,123} ;
   const int PinLed =6 ;  // Led de controle de transmission à l'APT
   int Transmis = 0 ;
   int A_Transmettre ;
   int Transmission ;
   int i ; int y ;        // Variables d'incrémentation
   boolean Chx ;

   void setup()
    {
    Serial.begin(9600);
    pinMode (PinLed, OUTPUT);
    digitalWrite(PinLed , LOW);
    
    // Les 2 lignes suivantes permettent d'initialiser la librairie DCC Decoder
    DCC.SetBasicAccessoryDecoderPacketHandler(BasicAccDecoderPacket_Handler, true);
    DCC.SetupDecoder( 0x00, 0x00, DCC_INTERRUPT );  //  DCC_INTERRUPT
    }


   void loop() 
    {
    // Appel de la librairie DCC pour lire les valeurs
    DCC.loop();
    }
//******************************************************************
//                      Les Fonctions
//******************************************************************

   void BasicAccDecoderPacket_Handler(int address, boolean activate, byte data)
     // Cette fonction est appelée par la librairie pour 
     // activer / désactiver au niveau de chaque adresse
    {
    address -= 1;
    address *= 4;
    address += 1;
    address += (data & 0x06) >> 1;
    address = address + 4;   // cette ligne devra être décommentée
                             //  si centrale RocoMouse et/ou z21

    boolean enable = (data & 0x01) ? 1 : 0;

  /* Ex: si l'adresse de base est 100 
     alors l'arduino réagit aux adresse 100, 101, 102,...
     Si l'adresse accessoire envoyée par la centrale
     correspond à l'une de notre programme
     Alors on récupère son état (activé/désactivé)
     et on exécute en conséquence les actions 
     Ici la gestion de l'alimentation de 4 LEDs. */

    Chx = false ;
    for (i=0 ; i <= 36 ; i++)
      {
      if( address == baseAdresse + i )
         { if (enable) {  A_Transmettre = i ; Chx = true ; } }
      }

      if (Chx){if ( A_Transmettre == Transmis ) {}
               else { Transmis = A_Transmettre ; Envoyer () ; }
              }
    }

  void  Envoyer ()
     {
      Serial.write(CodeAPT [A_Transmettre]);
      digitalWrite(PinLed , HIGH);
      delay (2000) ;
      digitalWrite(PinLed , LOW);
     }
[/code|

Re: Automatisation de l' APT de Patrice .

Posté : 27 janv. 2026, 18:02
par likiki
Hé hé hé il y a un piège que tu n'a pas encore identifié.

L'Arduino stock en mémoire les ordres reçus par RX/TX et les exécutes les uns après les autres. :siffle:

Re: Automatisation de l' APT de Patrice .

Posté : 27 janv. 2026, 18:36
par patrice_b
Mais encore ??? :gratte: :vert

Re: Automatisation de l' APT de Patrice .

Posté : 27 janv. 2026, 18:55
par herwat
likiki a écrit : 27 janv. 2026, 18:02 Hé hé hé il y a un piège que tu n'a pas encore identifié.

L'Arduino stock en mémoire les ordres reçus par RX/TX et les exécutes les uns après les autres. :siffle:
Hé Hé ! tu l'as vu !
Mais j'ai fait l'impasse . . .
Les ordres seront donnés par le logiciel donc, ça ne devrait pas poser de problème . . . :siffle:

Re: Automatisation de l' APT de Patrice .

Posté : 27 janv. 2026, 19:12
par likiki
Essaye de donner un ou deux ordres DCC lors du déplacement de l'APT.

:lunette:

Re: Automatisation de l' APT de Patrice .

Posté : 27 janv. 2026, 19:24
par herwat
:hhhaaaa: :hhhaaaa:
Oui, je vais essayé .
Au pire, à peine arrivé , il va repartir pour sa prochaine destination et ainsi de suite . . . :3:

La solution consisterait à vider le buffer en fin de parcours . Pas très compliqué . Je ferai ça dans le programme de l'APT .

:a_suivre:

Re: Automatisation de l' APT de Patrice .

Posté : 27 janv. 2026, 19:28
par likiki
Oui, mais il faut aussi empêcher tout mouvements tant qu'un convois est a cheval entre la plateforme et la voie de stockage. :siffle:

Hervé vas me maudire. :mdr1:

:sivousme:

Re: Automatisation de l' APT de Patrice .

Posté : 27 janv. 2026, 19:31
par Amigorl
C'est vrai que c'est que c'est un point important à traiter, Patrice, sons APT, c'est son Dada....
:au revoir:

Re: Automatisation de l' APT de Patrice .

Posté : 27 janv. 2026, 19:38
par herwat
. . . . . . . . . . Vous me foutez le bourdon ! ! ! . . . . . . . .


J'étudie ça demain . :hhhaaaa: :hhhaaaa: :hhhaaaa:

Re: Automatisation de l' APT de Patrice .

Posté : 27 janv. 2026, 19:48
par Amigorl
Heuuu,

Je balaye devant ma porte, pour mon PT, je crois me souvenir que toute commande reçue durant un déplacement non terminé du tablier est dirigée vers la poubelle.

Ensuite, je ne crois pas avoir traité le cas où la loco est à 🐎 entre le tablier et une voie.
A vérifier, dans mon cas, quel est le comportement de Rocrail dans un cas pareil ?

La seule mesure conservatoire prise est la présence à proximité de la grue Cockerill.

En ce qui cocerne l'APT ? Il est possiblement inquiétant qu'il se transforme en pont de Cassandra !

:gratte:

Re: Automatisation de l' APT de Patrice .

Posté : 27 janv. 2026, 19:50
par patrice_b
:pur: :pur: :pur:

Re: Automatisation de l' APT de Patrice .

Posté : 27 janv. 2026, 19:52
par likiki
Le soucis est que Patrice ne verra pas 100% de l'APT qui se trouvera essentiellement dessous, donc il faut le protéger d'une bêtise éventuel. :siffle:

Surtout que le matériel roulant n'est pas donné.

Re: Automatisation de l' APT de Patrice .

Posté : 27 janv. 2026, 19:54
par Amigorl
D'où l'intérêt de roder là merveille en mode manuel.

Cela aura l'intérêt de faire ressortir tous les points de sécurité que l'on imagine pas au départ.

Attention, ma remarque n'est pas une remise en cause du superbe travail effectué.

Re: Automatisation de l' APT de Patrice .

Posté : 27 janv. 2026, 19:55
par likiki
Perso je partirais sur deux barrière IR, une a chaque extrémité du plateau avec une tempo de 5 secondes.

Après c'est Hervé qui vois.

:siffle:

Re: Automatisation de l' APT de Patrice .

Posté : 27 janv. 2026, 20:00
par Amigorl
Ça me rappelle le scandale Findus :

Comment cela a pû se produire ?
Cette société qui était particulièrement à cheval sur la qualité !

Hors sujet.... :au revoir:

Re: Automatisation de l' APT de Patrice .

Posté : 27 janv. 2026, 20:08
par ramasoft
Pareil sur mon ascenseur non plus, je n'ai pas prévu le cas où un petit rigolo bougerait le pont pendant qu'un convoi entre dessus ou en sort... mais je n'ai pas de logiciel qui reprend la main en douce. 😜
J'ai juste bloqué l'entrée si le pont n'est pas là.

Il est possible de mettre un flag dans le logiciel: le pont ne bouge que si ce flag est à 1 et on peut ainsi cumuler plusieurs conditions avec des opérateurs logiques pour éviter tout déplacement intempestif du pont.
Le test sur le flag peut être mis dans la ou les fonctions qui bougent les moteurs ainsi tout sera sécurisé même s'il y a plusieurs commandes qui arrivent en même temps ou successivement.
Reste à bien définir les conditions validantes.

Re: Automatisation de l' APT de Patrice .

Posté : 27 janv. 2026, 20:22
par herwat
Et si un pont tournant se met à tourner quand une loco s'engage dessus . . . Que se passe-t-il ? :siffle: :siffle: :siffle:

De toute façon, il est prévu que tout automatisme est à la charge de Patrice . na !

Re: Automatisation de l' APT de Patrice .

Posté : 27 janv. 2026, 20:27
par likiki
:mdrmdr: :mdrmdr: :mdrmdr: :mdrmdr: