Voir les contributions

Cette section vous permet de consulter les contributions (messages, sujets et fichiers joints) d'un utilisateur. Vous ne pourrez voir que les contributions des zones auxquelles vous avez accès.


Messages - Jocelyn

Pages: 1 [2]
16
Aide / Re : Commande de passage à niveau par DCC
« le: février 27, 2023, 04:24:26 pm »
Bonjour,
voici le programme utilisé pour recevoir l'information depuis la centrale. Il allume une led verte sur la broche 3 si la fonction enable est envoyée sur l'adresse 117, et rouge sur la broche 4 dans le cas contraire.
C'est à partir de là que j'ai ajouté les fonctions du PN, certainement très maladroitement.

// Utilisation de la librairie DCC Decoder pour lire les trames DCC
#include "DCC_Decoder.h"

// Adresse de base du Arduino-Decodeur
#define baseAdresse 117 

// Déclaration des éléments par rapport aux broches de l'Arduino
// La LED verte est connectée à la broche 3
// La LED rouge est connectée à la broche 4
const int Led_Verte = 3;
const int Led_Rouge = 4;

// Cette fonction est appelée par la librairie pour
// chaque activer / désactiver au niveau des adresses
void BasicAccDecoderPacket_Handler(int address, boolean activate, byte data) {
  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 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 2 LEDs.
  switch (address) {
 
    case (baseAdresse):
      if (enable) {
        digitalWrite(Led_Rouge, LOW);
        digitalWrite(Led_Verte, HIGH);
      } else {
        digitalWrite(Led_Rouge, HIGH);
        digitalWrite(Led_Verte, LOW);
      }
      break;

    // Cas pour les adresses suivantes
/*
    case (baseAdresse + 1):

      break;

    case (baseAdresse + 2):
     
      break;
*/
  }

}


void setup() {
 
  // Broche des LEDs en mode "Sortie"
  pinMode(Led_Rouge, OUTPUT);
  pinMode(Led_Verte, OUTPUT);
 
  // Init les Voyants, par défaut Rouge actif
  digitalWrite(Led_Rouge, HIGH);
  digitalWrite(Led_Verte, LOW);

  // Les 2 lignes suivantes permettent d'initialiser la librairie DCC Decoder
  DCC.SetBasicAccessoryDecoderPacketHandler(BasicAccDecoderPacket_Handler, true);
  DCC.SetupDecoder( 0x00, 0x00, 0 );
}


void loop() {

  // Appel de la librairie DCC pour lire les valeurs
  DCC.loop();
}

17
Aide / Re : Commande de passage à niveau par DCC
« le: février 27, 2023, 03:24:17 pm »
Ok, si je mets address sans les "", plus rien n'apparait dans le monitor

18
Aide / Re : Commande de passage à niveau par DCC
« le: février 27, 2023, 01:49:35 pm »
Merci de votre aide. Oui, c'était bien la fonction horodatage qui était activée. Seul le message "address = address" apparait sur le monitor.

19
Aide / Re : Commande de passage à niveau par DCC
« le: février 27, 2023, 09:00:27 am »
le message du monitor est l'heure, suivi de address = address et le pour le montage, le servo tourne en boucle et les leds du 6 clignotent

20
Aide / Re : Commande de passage à niveau par DCC
« le: février 26, 2023, 11:14:59 pm »
si j'ai bien compris la fonction heure,ne sert que pour le clignotement des feux

21
Aide / Re : Commande de passage à niveau par DCC
« le: février 26, 2023, 10:34:51 pm »
J'ai essayer de compiler deux programmes, l'un pour la lecture de codes, qui modifie les sorties 3 et 4 en fonction du signal DCC reçu sur la broche 2 et l'autre depuis le code de locoduino pour les passages à niveau

22
Aide / Re : Commande de passage à niveau par DCC
« le: février 26, 2023, 10:08:34 pm »
Merci, ça ne change rien,
 Le moniteur ne marque que l'adresse et l'heure

23
Aide / Re : Commande de passage à niveau par DCC
« le: février 26, 2023, 07:40:46 pm »
BonjourTony
Merci de ta réponse
En tapant ce code, je ne vois rien passer sur le monitor!

24
Aide / Commande de passage à niveau par DCC
« le: février 26, 2023, 06:40:59 pm »
Bonjour,
J'essaie depuis quelques jours de compiler deux programmes afin de pouvoir commander un passage à niveau depuis la multimouse Roco.
J'ai utilisé naïvement utilisé le programme 2 feux qui permet de lire et allumer deux feux selon la commande de la MM et le programme de passage à niveau "classique".
Voici mon dernier test, mais ne va toujours pas.
Votre aide me serait précieuse.
Merci d'avance

25
Vos projets / Re : Arduino avec CDM Rail
« le: juin 18, 2017, 10:11:45 pm »
Merci pour votre réponse.
Pour le booster il s'agit du booster de marque Cobalt qui réalise les moteurs d'aiguille. La référence est Alpha Box.
Pour l'interface avec CDM Rail, je suis resté aussi sans réponse de la part de leur forum.
Attendons donc...
Cordialement

26
Vos projets / Arduino avec CDM Rail
« le: juin 15, 2017, 09:58:43 pm »
Etant en retraite, je dispose d’un peu de temps pour redémarrer la réalisation d’un réseau.
Pour des raisons économiques, j’ai commencé par la création du plan sur CDM Rail, qui permet théoriquement de commander les trains et les accessoires.
Je pense éviter la réalisation d’un TCO en utilisant ce logiciel.
Je dispose d’un booster et d’une alimentation Cobalt qui m’a été livrée avec les moteurs d’aiguillages Cobalt IP.
Ce booster dispose d’une entrée Bus Cab.
Est il possible de réaliser une interface sur la base d’un Arduino entre ces deux systèmes me permettant dans un premier temps la commande des aiguillages ?
Merci de votre réponse

Pages: 1 [2]