Bonjour,
Merci beaucoup pour vos réponses et désolé pour le retard dans la réponse.
Je vais expliquer brièvement l'assemblée réalisée :
1.- La centrale est une arduino Mega avec la célèbre (et fantastique) bibliothèque DCCpp de Thierry. Il a été prouvé qu'il fonctionnait parfaitement dans plusieurs assemblées.
2 - Je fais la connexion décodeur-central de deux façons :
a) au moyen du célèbre décodeur DCC de Minabay.
b) en connectant directement la broche 12 de la centrale avec la broche 2 du décodeur (interrupt=0).
Les deux systèmes sont également testés sur d'autres ensembles et fonctionnent correctement.
3.-Le décodeur est un autre Mega avec le sketch simple que j'inclus à la fin du message. Il s'agit simplement d'allumer une led (cathode vers GND, anode vers la broche 11) au moyen d'un signal DCC.
Je donne à la led l'adresse 40, qui dans le code DCCpp est équivalente à l'adresse 10, sous-adresse 3. Ensuite, par le moniteur série de la centrale, j'envoie la commande <a 10 3 1>, qui devrait allumer la led, mais cela ne fonctionne pas. Comme l'assemblée est si simple, je pense que je fais une énorme erreur, mais je ne le vois pas. C'est pourquoi je vous remercie pour votre aide.
#include <Commanders.h>
const int ledPin = 11; // broche du led
void setup() {
Commanders::begin(LED_BUILTIN);
DccCommander.begin(0x00,0x00, digitalPinToInterrupt(2));
Serial.begin(115200);
pinMode(ledPin, OUTPUT);
}
void loop() {
unsigned long ret = Commanders::loop();
if (DCCID(ret) == 40 && DCCACTIVATION(ret) == 1)
{
digitalWrite(ledPin, HIGH);
}
else
{
digitalWrite(ledPin, LOW);
}
}