LOCODUINO

Parlons Arduino => Vos projets => Discussion démarrée par: msport le novembre 16, 2020, 09:52:26 am

Titre: Un décodeur DCC pour les signaux à deux ou trois feux sur Arduino NANO/UNO
Posté par: msport le novembre 16, 2020, 09:52:26 am
Un fichier ino final pour CDMRail

Sans garantie.
Titre: Re : Un décodeur DCC pour les signaux à deux ou trois feux sur Arduino NANO/UNO
Posté par: msport le mai 27, 2021, 04:04:26 pm
@François. https://www.locoduino.org/spip.php?article161#forum5497
suivant le schéma de vos LED, le câblage à adopter.
!!! NE PAS OUBLIER LES RÉSISTANCES AVEC DES LEDS !!!
Titre: Re : Un décodeur DCC pour les signaux à deux ou trois feux sur Arduino NANO/UNO
Posté par: denizot le mai 30, 2021, 12:13:57 pm
Bonjour,
Une question parce que mon montage ne fonctionne pas. J'ai réalisé la carte soudé tous les composants chargé le programme dans l'arduino nano. Pour tester l'ensemble j'ai installé un feu bicolore  coté + avec résistance sur les bornes D3 D4 le commun le - donc sur la borne qui va bien. j'ai ensuite programmer ma multinaus avec une adresse DCC 90 sur le mode aiguille, j'ai relié le montage a ma centrale DCC 10764,  l'arduino a ses leds rouges qui s'allument mais par contre mon feu bicolore(testé auparavant) lui ne s'allume pas. Ma question est ce normal ?
cordialement     
Titre: Re : Un décodeur DCC pour les signaux à deux ou trois feux sur Arduino NANO/UNO
Posté par: msport le mai 30, 2021, 07:09:36 pm
On a noté dans la littérature que Roco décale les adresses de 4 par rapport au standard.
C'est peut-être votre problème : testez autour de 90.

Pour tester votre montage, faites clignoter les LED D3 et D4 avec le programme exemple Blink, bien connu.
Titre: Re : Un décodeur DCC pour les signaux à deux ou trois feux sur Arduino NANO/UNO
Posté par: denizot le juin 11, 2021, 04:11:33 pm
bonjour voici le message d'erreur que j'obtiens avec le telechargement decodeur trafic
Arduino : 1.8.14 (Windows 10), Carte : "Arduino Nano, ATmega328P"

Le croquis utilise 2974 octets (9%) de l'espace de stockage de programmes. Le maximum est de 30720 octets.

Les variables globales utilisent 366 octets (17%) de mémoire dynamique, ce qui laisse 1682 octets pour les variables locales. Le maximum est de 2048 octets.

avrdude: stk500_recv(): programmer is not responding

avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0x69

avrdude: stk500_getsync() attempt 2 of 10: not in sync: resp=0x74

avrdude: stk500_getsync() attempt 3 of 10: not in sync: resp=0x72

avrdude: stk500_getsync() attempt 4 of 10: not in sync: resp=0x61

avrdude: stk500_getsync() attempt 5 of 10: not in sync: resp=0x66

avrdude: stk500_getsync() attempt 6 of 10: not in sync: resp=0x66

avrdude: stk500_getsync() attempt 7 of 10: not in sync: resp=0x69

avrdude: stk500_getsync() attempt 8 of 10: not in sync: resp=0x63

avrdude: stk500_getsync() attempt 9 of 10: not in sync: resp=0x20

avrdude: stk500_getsync() attempt 10 of 10: not in sync: resp=0x6c

Problem uploading to board.  See https://support.arduino.cc/hc/en-us/sections/360003198300 for suggestions.



Ce rapport pourrait être plus détaillé avec
l'option "Afficher les résultats détaillés de la compilation"
activée dans Fichier -> Préférences.

et celui-ci avec blink :
Arduino : 1.8.14 (Windows 10), Carte : "Arduino Nano, ATmega328P"

Le croquis utilise 924 octets (3%) de l'espace de stockage de programmes. Le maximum est de 30720 octets.

Les variables globales utilisent 9 octets (0%) de mémoire dynamique, ce qui laisse 2039 octets pour les variables locales. Le maximum est de 2048 octets.

avrdude: stk500_recv(): programmer is not responding

avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0x51

avrdude: stk500_recv(): programmer is not responding

avrdude: stk500_getsync() attempt 2 of 10: not in sync: resp=0x51

avrdude: stk500_recv(): programmer is not responding

avrdude: stk500_getsync() attempt 3 of 10: not in sync: resp=0x51

avrdude: stk500_recv(): programmer is not responding

avrdude: stk500_getsync() attempt 4 of 10: not in sync: resp=0x51

avrdude: stk500_recv(): programmer is not responding

avrdude: stk500_getsync() attempt 5 of 10: not in sync: resp=0x51

avrdude: stk500_recv(): programmer is not responding

avrdude: stk500_getsync() attempt 6 of 10: not in sync: resp=0x51

avrdude: stk500_recv(): programmer is not responding

avrdude: stk500_getsync() attempt 7 of 10: not in sync: resp=0x51

avrdude: stk500_recv(): programmer is not responding

avrdude: stk500_getsync() attempt 8 of 10: not in sync: resp=0x51

avrdude: stk500_recv(): programmer is not responding

avrdude: stk500_getsync() attempt 9 of 10: not in sync: resp=0x51

avrdude: stk500_recv(): programmer is not responding

avrdude: stk500_getsync() attempt 10 of 10: not in sync: resp=0x51

Problem uploading to board.  See https://support.arduino.cc/hc/en-us/sections/360003198300 for suggestions.



Ce rapport pourrait être plus détaillé avec
l'option "Afficher les résultats détaillés de la compilation"
activée dans Fichier -> Préférences.

je ne comprends pas bien ?
cordialement

Titre: Re : Un décodeur DCC pour les signaux à deux ou trois feux sur Arduino NANO/UNO
Posté par: Dominique le juin 11, 2021, 04:32:57 pm
Vous voyez-bien que l’IDE ne trouve pas l’Arduino (le port COM) donc ne peut pas televerser !
Titre: Re : Un décodeur DCC pour les signaux à deux ou trois feux sur Arduino NANO/UNO
Posté par: denizot le juin 11, 2021, 05:58:19 pm
Là, vous m 'aidez, je sais lire, mais je voudrais savoir pourquoi, car les leds de l'arduino verte et rouge clignotent lors du téléchargement, même si je ne pratique pas tous les jours c'est la première fois que je rencontre ce problème 
Titre: Re : Un décodeur DCC pour les signaux à deux ou trois feux sur Arduino NANO/UNO
Posté par: msport le juin 11, 2021, 06:38:20 pm
Bonsoir,

vous avez certainement vérifié comme dans

Vérification après installation de l' Installation de l’IDE Arduino

https://www.locoduino.org/spip.php?article15

Si oui, essayez le "Old bootloader"

Titre: Re : Un décodeur DCC pour les signaux à deux ou trois feux sur Arduino NANO/UNO
Posté par: denizot le juin 11, 2021, 10:15:03 pm
J'ai suivit toute cette procédure mon ordi me dit également que les meilleurs pilotes sont déjà installé pour le CH340 : voici mes messages d'erreurs :
Arduino : 1.8.14 (Windows 10), Carte : "Arduino Nano, ATmega328P"

Le croquis utilise 2974 octets (9%) de l'espace de stockage de programmes. Le maximum est de 30720 octets.

Les variables globales utilisent 366 octets (17%) de mémoire dynamique, ce qui laisse 1682 octets pour les variables locales. Le maximum est de 2048 octets.

Une erreur est survenue lors du transfert du croquis

avrdude: stk500_recv(): programmer is not responding

avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0xb6

avrdude: stk500_recv(): programmer is not responding

avrdude: stk500_getsync() attempt 2 of 10: not in sync: resp=0xb6

avrdude: stk500_recv(): programmer is not responding

avrdude: stk500_getsync() attempt 3 of 10: not in sync: resp=0xb6

avrdude: stk500_recv(): programmer is not responding

avrdude: stk500_getsync() attempt 4 of 10: not in sync: resp=0xb6

avrdude: stk500_recv(): programmer is not responding

avrdude: stk500_getsync() attempt 5 of 10: not in sync: resp=0xb6

avrdude: stk500_recv(): programmer is not responding

avrdude: stk500_getsync() attempt 6 of 10: not in sync: resp=0xb6

avrdude: stk500_recv(): programmer is not responding

avrdude: stk500_getsync() attempt 7 of 10: not in sync: resp=0xb6

avrdude: stk500_recv(): programmer is not responding

avrdude: stk500_getsync() attempt 8 of 10: not in sync: resp=0xb6

avrdude: stk500_recv(): programmer is not responding

avrdude: stk500_getsync() attempt 9 of 10: not in sync: resp=0xb6

avrdude: stk500_recv(): programmer is not responding

avrdude: stk500_getsync() attempt 10 of 10: not in sync: resp=0xb6



Ce rapport pourrait être plus détaillé avec
l'option "Afficher les résultats détaillés de la compilation"
activée dans Fichier -> Préférences.

Avec le oldbootloader la liste d'erreurs est plus longue encore ?
j'ai essayé avec un arduino neuf et non relié au montage et je n'ai aucune erreur
Désormais j'ai une des leds qui s'allume sur la broche D3 qui fini par s'éteindre au bout d'une minute environ, relié à ma centrale idem par contre le régulateur 78M08 chauffe énormément !!! je ne lui ai pas encore adjoint de radiateur 

Titre: Re : Un décodeur DCC pour les signaux à deux ou trois feux sur Arduino NANO/UNO
Posté par: msport le juin 11, 2021, 10:34:53 pm
Conclusion, si vous télé-déversez avec le Nano reliè à un montage, c'est le montage qui réalimente le Nano.
Comme il faut éviter d'alimenter le 5V et l'USB en même temps, le CH340 peut souffrir.
Si l’Arduino que vous testez OK avec blink est un Nano, téléchargez le en solo avec le programme définitif, sinon testez en un neuf.

Comme vous n'êtes pas très prolixe sur la configuration utilisée, on est obligé de jouer à la devinette.
Titre: Re : Un décodeur DCC pour les signaux à deux ou trois feux sur Arduino NANO/UNO
Posté par: denizot le juin 12, 2021, 12:07:19 pm
Bonjour,
Oui mon Nano est soudé sur le montage et je l'ai telé déchargé INO en place sur la carte électronique, fallait il télé déchargé le programme avant de souder l'Arduino ?  Par contre je n'ai jamais branché l'USB et ma centrale en même temps ! je vous joins une photo du montage peut être ai-je commis une erreur ?
 Codialement
Titre: Re : Un décodeur DCC pour les signaux à deux ou trois feux sur Arduino NANO/UNO
Posté par: msport le juin 12, 2021, 03:09:16 pm
Si vous téléchargez le programme decoder_traffic_light.ino sur un Nano en solo sans problème, alors qu'il est en erreur sur celui de votre montage, c'est que le Nano de votre montage est défectueux (une fausse manip est si vite arrivée.)
C'est tout l’intérêt d'utiliser des supports dits header 2.54 que de pouvoir permuter les circuits montés dessus.
Sinon, rien à redire sur votre photo pour ce que l'on voit.
Titre: Re : Un décodeur DCC pour les signaux à deux ou trois feux sur Arduino NANO/UNO
Posté par: denizot le juin 12, 2021, 05:14:51 pm
Donc voilà j'ai dessoudé l'Arduino avec beaucoup de dificulté,  j'en ai remis un autre avec le programme pré téléversé, mais avant de le souder pourriez-vous SVP m'indiquer certaines valeurs que je pourrais contrôler avec mon multimètre sur la carte afin de voir si le problème ne vient pas de là.
 
certes, je suis pénible, mais tout cela est un peu nouveau pour moi, et j'aimerai comprendre merci d'avance.

cordialement
FD
       
Titre: Re : Un décodeur DCC pour les signaux à deux ou trois feux sur Arduino NANO/UNO
Posté par: msport le juin 12, 2021, 07:00:41 pm
Je ferais les vérifications suivantes, non exhaustives :

avec le DCC la tension de 8 V est correcte et présente sur le Vin. Le régulateur reste froid.

A l'ohmmètre la broche 5V de l'Arduino ne présente que les résistances de 10K ou mieux vers le GND

aucune des broches l'Arduino (absent) n'est au GND, au 5V ou au 8V au voltmètre  / ohmmètre .

En réalimentant le point 5V de l’Arduino (sans celui-ci) vérifiez que vous avez 2,5 continus sur la broche 2 de l'Arduino avec le DCC

Et globalement, pas de ponts de soudure au compte-fils.

Mais votre premier constat, la LED qui s'éteint correspond à une surconsommation peut-être due au CH340 grillé.
Titre: Re : Un décodeur DCC pour les signaux à deux ou trois feux sur Arduino NANO/UNO
Posté par: denizot le juin 13, 2021, 03:32:20 pm
Bonjour,

Voici quelques tensions prises, branché en DCC sur mon montage sans l'Arduino

-pattes extérieurs du pont de diode  5.8V
-entrée résistance  1K 0.02V sortie 0V
-pattes externes condo 100nf 5.56V et 5.92V pattes internes  2V et 0,56V
-diodes 1N4148  0.34VC et 11.3VA
-entrée résistance 10K 1.33V pour les deux  sortie Idem
-entrée opto 0.35V et 0.02V sorties les 4 entre 1.5V et 1.27V
-patte 1 du régulateur 5.96V centrale 5.88V troisième 0.80V
-Broches Arduino VIN 1.29V GND 5.87V RST 1.92V 5V 1,31V de A6 à D13 entre 0.01 et 0.03V de l'autre coté D12 4.33V D11 3.50V D10 2.56V D9 2.20V
D8 2.20V D7 2.10V D3 0V D2 1.43V
Tension entrée DCC 11.3VA
Ces valeurs sont elles conforme ?
merci pour votre patience

Titre: Re : Un décodeur DCC pour les signaux à deux ou trois feux sur Arduino NANO/UNO
Posté par: msport le juin 13, 2021, 05:06:39 pm
Je ne sais pas si c'est votre référence pour les mesures (non précisée et qui devrait être systématiquement le GND) ou le résultat qui est problématique mais ces valeurs sont anormales.
-pattes extérieurs du pont de diode  5.8V,
Votre pont de diodes est trop lent pour le DCC, il devrait fournir environ 10V CC, vous avez +/- 5.8V, mais c'est peut être du à un défaut du montage. Le montage peut éventuellement fonctionner avec cette valeur.
-entrée résistance  1K 0.02V sortie 0V, normal l'entrée est isolée du GND mais la mesure était à faire entre 2 et 3 du 6N137 et vous auriez du avoir 0.35V CC
-pattes externes condo 100nf 5.56V et 5.92V pattes internes  2V et 0,56V si c'est vis-à-vis du GND les pattes "internes" devraient être à 0V
-diode 1N4148  0.34VC et 11.3VA si c'est aux bornes de cette diode,, vous ne devriez avoir que 0.7V CA (6N137 claqué ?)
-entrée résistance 10K 1.33V pour les deux  sortie Idem si c'est vis-à-vis du GND possible si il n'y a pas de 5V sur le VCC du Nano
-entrée opto 0.35V et 0.02V sorties les 4 entre 1.5V et 1.27V l'entrée est isolée du GND
-patte 1 du régulateur 5.96V centrale 5.88V troisième 0.80V, pont inadapté, et la 3e devrait être au GND donc à 0V
-Broches Arduino VIN 1.29V GND 5.87V RST 1.92V 5V 1,31V de A6 à D13 entre 0.01 et 0.03V de l'autre coté D12 4.33V D11 3.50V D10 2.56V D9 2.20V D8 2.20V D7 2.10V D3 0V D2 1.43V ces mesures ne sont pas cohérentes si elles ont été faites en référence au GND. Des mesures faites sur des points non connectés peuvent donner des valeurs aléatoires, mais on les voit se balader.
Tension entrée DCC 11.3VA : OK.

En tout cas, sans autres précisions, vos mesures ne sont pas rassurantes.
Titre: Re : Un décodeur DCC pour les signaux à deux ou trois feux sur Arduino NANO/UNO
Posté par: denizot le juin 13, 2021, 09:41:16 pm
bonsoir
je suis vraiment un manche, je vous imagine en train de sourire

je n'étais en fait pas relié au GND,
voici donc d'autre mesure qui semble plus fiable
patte + pont de diode 11.71V les 2 centrales 5.8V - 0V
1K 5.76V et 6.09V
diodes 5.76V et 6.09V (elle doit être claquée)
6N137 (2) 5.88V (3) 6.09
régulateur 11.72V  0V et 5.07V
100nf 0V ext et 11.2V et 5.2V
pattes Arduino VIN 3V GND 0V RST 4.24V de D13 à A2 0.1V et de D12 à D3 entre 1.35V et 4.35V

Encore une fois merci pour le temps que vous me consacrez
Cordialement
DF
Titre: Re : Un décodeur DCC pour les signaux à deux ou trois feux sur Arduino NANO/UNO
Posté par: msport le juin 14, 2021, 10:18:47 am
Bonjour,

ça parait plus logique ...
A priori, vous avez utilisé un régulateur 7805 et non 7808 ? Ça peut fonctionner quand même.
Si le seul point à 4.35V est est D2, c'est OK.

Donc pour autant qu'on puisse juger, vous pouvez monter le Nano

A priori, la diode 1N4148 est OK, vérifiez que la tension à ses bornes ne dépasse pas 0.7V, le 6N137 peut tenir un petit moment à plus.
Titre: Re : Un décodeur DCC pour les signaux à deux ou trois feux sur Arduino NANO/UNO
Posté par: denizot le juin 14, 2021, 02:07:01 pm
Bonjour oui en y regardant de plus prêt avec mes mauvais yeux le régulateur est un 7805 cela implique-t-il le voltage de 3V sur VIN et non 8V ?
valeur mesuré sur D12 1.51 V , D11 2.86V, D10 3.88V,  D09 4.28V, D8 4.37V, D7 4.34V, D6 4.35V, D5 4.45V, D4 4.30V, ET ENFIN D3 4.85V je n'arrive pas m'expliquer pourquoi il y a du courant sur ces bornes puisque sans l'Arduino elles ne sont relié à rien ?

A priori, la diode 1N4148 est OK, vérifiez que la tension à ses bornes ne dépasse pas 0.7V, le 6N137 peut tenir un petit moment à plus.
Le courant mesuré au borne du 1N4148 est largement supérieur à 0.7V puisque l'on atteint 5.88V et 6.02V ? et sur le 6N137 on n'a les même mesure ?

mais je sens que je touche au but
cordialement 
Titre: Re : Un décodeur DCC pour les signaux à deux ou trois feux sur Arduino NANO/UNO
Posté par: msport le juin 14, 2021, 02:51:46 pm
Avec un multimètre vous mesurez des tensions sur les points qui sont en l'air via les résidus de flux de soudure mais ces valeurs doivent varier aléatoirement. Quid D2 ?

La sortie du régulateur est directement connectée au Vin : vous devriez retrouver le même 5V =

Diode : quand on dit tension aux bornes, cela veut dire que vous mettez une pointe de touche sur une borne et l'autre sur l'autre : vous avez alors la différence entre les deux valeurs que vous mesurez par rapport au GND :
6.09V - 5.76V = 0.33V c'est OK.
Par contre si vous n'avez pas la même valeur (DCC branché) entre la diode et le 6N137 (/ GND) , c'est que vos soudures sont sèches ou que les pistes sont coupées.

Il faut que vous compreniez la différence entre courant et tension, revoyez les cours d'électricité/électronique du site éditorial. Un courant provoque une chute de tension quand il passe dans une résistance (loi d'ohm)
Titre: Re : Un décodeur DCC pour les signaux à deux ou trois feux sur Arduino NANO/UNO
Posté par: msport le juin 14, 2021, 03:08:30 pm
Vérifiez à l'ohmmètre que les différents points de l'Arduino ne sont pas en court-circuit entre eux.
Titre: Re : Un décodeur DCC pour les signaux à deux ou trois feux sur Arduino NANO/UNO
Posté par: denizot le juin 14, 2021, 04:02:19 pm
bonjour,
mon ohmmetre est réglé sur 200K, pour qu'un quelconque courant circule entre les bornes d12 à d4 il ne peut provenir que de d2 j'ai testé il n'y a pas de continuité entre d2 et toutes les autres bornes je passe mon réglage à 200M et là je trouve une valeur de 03.7
la valeur mesuré de D2 est : 1.55V
j'en perd mon latin
cordialement
DF
Titre: Re : Un décodeur DCC pour les signaux à deux ou trois feux sur Arduino NANO/UNO
Posté par: msport le juin 14, 2021, 05:06:38 pm
Rien que les résistances de surface donnent quelque chose sur la gamme 200Mohm, ça ne perturbe pas le fonctionnement.
Sur D2, en fonctionnement avec le DCC, on a la moité de la tension "5V" de l'Arduino.
Faites les vérifications que je vous ai suggérées et tentez le montage.
Titre: Re : Un décodeur DCC pour les signaux à deux ou trois feux sur Arduino NANO/UNO
Posté par: denizot le juin 14, 2021, 07:05:34 pm
Re bonjour,
Donc j'ai bien 5.01V sur VIM valeur sur borne 6 du 6N137 1.28V que je retrouve donc sur D2  j'ai changé le 6N137 les valeur en entrée sont désormais sur 2 de 3.37V sur 3 de 3.55V  (au lieu de 5.88V et 6.09v précédemment) en sortie vers D2 0.60V donc D2 0.60V. on est loin de la moitié de la valeur 5V de l'Arduino. valeur que je retrouve sur la broche 5V de l'Arduino. Le repère du 6N137 doit bien être dirigé vers le coté ou se trouve les condensateurs? et j'ai toujours des valeurs sur les bornes de D12 à D3 qui s'élèvent de de 00V à 1.59V en passant par 2.55V  j'avoue ne plus rien comprendre.
cordialement

dernière minute le fait d'avoir déssoudé l'Arduino grillé avait certainement laissé des débris microscopiques produisant des contactes invisibles à l'œil nu j'ai fini par résoudre ce problème entre D12 et D3 pour le reste je ne comprends toujours pas ....
Titre: Re : Un décodeur DCC pour les signaux à deux ou trois feux sur Arduino NANO/UNO
Posté par: msport le juin 14, 2021, 09:44:37 pm
Bonsoir,

comme je ne suis pas très sur de la qualité de votre circuit, surtout après démontage et que j'ai beaucoup de mal à interpréter les mesures que vous faites, je ne vois comme solution que de repartir sur des circuits neufs et professionnels.

Je vous suggère de télécharger le fichier zippé dit Fichier Gerber de l'article et de le faire réaliser chez JLCPCB
 https://jlcpcb.com/
 QUOTE NOW-> Add Gerber files ->  SAVE TO CART (avec les options proposées qui vous proposent 5 circuits)
cout 1,64€ + 3,11€ pour le port avec Global Direct Economical Line (à sélectionner en dessous de DHL, liste à dérouler)
Vous les aurez en 15 jours - 3 semaines.

Et mettez des supports pour le Nano :
https://www.ebay.fr/itm/264835274780


 
Titre: Re : Un décodeur DCC pour les signaux à deux ou trois feux sur Arduino NANO/UNO
Posté par: denizot le juin 15, 2021, 05:36:12 pm
Bonsoir je veux bien essayer avec le fichier gerber, mais à priori au nombre de borne il est prévu pour une signalisation 3 feux, puisque le nombre de borne (15) est impair, voilà pourquoi j'avais opté pour l'autre carte offrant la possibilité d'alimenter 8 feux bicolores.
cordialement   
Titre: Re : Un décodeur DCC pour les signaux à deux ou trois feux sur Arduino NANO/UNO
Posté par: msport le juin 15, 2021, 06:59:29 pm
Bonsoir,
effectivement la sortie A4 n'est pas accessible sur les borniers.
Il vous reste néanmoins, 7 feux bicolores utilisables, dans l'ordre :
Signal1    broches 3,4
Signal2    broches 5,6
Signal3    broches 7,8
Signal4    broches 9,10
Signal5    broches 11,12
Signal6    broches 13, A0
Signal7    broches A1, A2.
+ A3 en solo.
A vous de voir.
Titre: Re : Un décodeur DCC pour les signaux à deux ou trois feux sur Arduino NANO/UNO
Posté par: denizot le juin 16, 2021, 05:17:44 pm
Bonsoir,
Pour info j'ai commandé les circuits mais pour informer la communauté les tarifs ont changé il faut compter 2€ pour les circuits et 12€ pour le transport entre 1 semaine et 15 jours le moins chère mais pas par DHL ....!
Donc le vous tiendrais informé d'ici là ....
cordialement
DF
Titre: Re : Un décodeur DCC pour les signaux à deux ou trois feux sur Arduino NANO/UNO
Posté par: msport le juin 16, 2021, 10:19:33 pm
Bonsoir,
vous n'avez pas déroulé la liste des transporteurs jusqu'en bas pour atteindre Global Direct Economical Line.
Titre: Re : Un décodeur DCC pour les signaux à deux ou trois feux sur Arduino NANO/UNO
Posté par: denizot le juin 27, 2021, 05:21:43 pm
Bonsoir, et bien me revoilà, un peu désespéré je dois l'avouer, j'ai suivi vos conseils fait imprimé les circuits à l'adresse que vous m'avez indiqué, je les ai reçu plus tôt que prévu, super.  J'ai remonté tout le circuit avec des composants neufs, j'ai téléversé le programme Arduino sur mon Nano, mais lorsque je branche le signal il n'y a que la borne G1 qui doit correspondre a D2 qui allume la led l'autre led est connecté à R1, j'ai beau essayer toutes les adresses DCC de 39 à 151 rien ne se passe, de plus les autres bornes sont inactives !!!!! ? :-\ :-\ :-\ :-\ :-\ :-\ >:( >:(   d'ou ma question ce montage fonctionne-t-il vraiment ?   
Titre: Re : Un décodeur DCC pour les signaux à deux ou trois feux sur Arduino NANO/UNO
Posté par: msport le juin 27, 2021, 08:09:54 pm
Bonsoir, et bien reprenons,

vous avez téléchargé dans votre Nano le programme decoder_traffic_light.ino sans modification donc configuré en TRICOLOR et avec 90 comme première adresse. Le MODE est LOW donc le common = HIGH, ce qui n'est peut-être pas le cas si le commun de vos signaux est le GND (0V et que les feux sont actifs en envoyant du 5V sur chacune des LED via une résistance de limitation)
Vous avez mis un pont sur votre circuit sur jump common LED du coté +5V (même remarque)

vous avez branché les deux fils du DCC sur input DCC du circuit
Vous avez branché une LED verte (avec une résistance de limitation) sur G1 (qui correspond à D3)
Vous activez l'adresse 90 sur votre ECOS et la LED verte G1 s'allume.
Vous avez branché une LED rouge (avec une résistance de limitation) sur R1 (qui correspond à D4)
Vous activez les adresses d'accessoires 39 à 151 sur votre ECOS et la LED rouge R1 ne s'allume pas. Ni connectée de O1 à O5

Titre: Re : Un décodeur DCC pour les signaux à deux ou trois feux sur Arduino NANO/UNO
Posté par: denizot le juin 28, 2021, 08:52:57 am
Bonjour,
Oui j'ai téléversé decoder_traffic_light.ino sans modification,( mais je veux le faire fonctionner en bicolores) le commun de mes LED est effectivement le GND.
le pont est également sur GND.
oui j'ai branché les 2 fils DCC sur input
oui j'ai branché une led verte avec résistance sur G1 et la led s'allume
oui j'ai activé l'adresse 90 et la led verte est toujours allumée
oui j'ai branché une led rouge sur R1 avec une résistance elle est éteinte
oui j'ai activé et essayé toutes les adresses de 39 à 151 de G1 à G4 et rien ne se passe.

J'ai donc dû louper un épisode, car il me semble qu'à une borne sur deux la led verte devrait s'allumer ou je me trompe?   
cordialement et à tête reposée
Titre: Re : Re : Un décodeur DCC pour les signaux à deux ou trois feux sur Arduino NANO/UNO
Posté par: msport le juin 28, 2021, 10:48:44 am
  d'ou ma question ce montage fonctionne-t-il vraiment ?   

Oui si on se donne la peine de lire l'article et de configurer le programme et le module conformément à ses besoins.

Non dans le cas contraire.

Donc, il faut que vous modifiez le programme :

/***************************************************************************************       
 *            CONFIGURATION SETTING
 *           
 ****************************************************************************************/
 
// #define CONSOLE                             // output console, delete this after checking the configuration
#define MODE   HIGH                        // LOW or HIGH
#define FIRST_ID_DCC   90                   // first DCC address, DCC_CODE
#define NB_TRAFFIC_LIGHT  BICOLOR           //  TRICOLOR or BICOLOR

N'oubliez pas le petit condensateur de 27pf (22pf-270pf) aux bornes de 2 et 3 du 6N137. (comme déjà expliqué sur le site éditorial)   
Titre: Re : Un décodeur DCC pour les signaux à deux ou trois feux sur Arduino NANO/UNO
Posté par: denizot le juin 28, 2021, 02:33:10 pm
Bonjour, il y a un mieux,
la led rouge s'allume désormais sur les bornes A5 04 G4 R3 O2 mais pas sur G2 et R1, et toujours aucune inter-action à partir de ma central multmaus à partir de l'adresse 90, effectivement sur ce montage, puisque l'emplacement n'existe pas sur le circuit imprimé,  je n'ai pas ajouté le 27 pf  le problème provient-il de là ?
cordialement
Titre: Re : Re : Un décodeur DCC pour les signaux à deux ou trois feux sur Arduino NANO/UNO
Posté par: msport le juin 28, 2021, 03:08:18 pm
je n'ai pas ajouté le 27 pf  le problème provient-il de là ?

Pour le savoir, ajoutez le ...

effectivement sur ce montage, puisque l'emplacement n'existe pas sur le circuit imprimé,

Quel emplacement ?

Postez nous votre programme modifié.
Titre: Re : Un décodeur DCC pour les signaux à deux ou trois feux sur Arduino NANO/UNO
Posté par: Dominique le juin 28, 2021, 03:14:00 pm
Attention, la facture de msport pour ce support technique particulier va être bien salée  ;D >:(
Titre: Re : Re : Re : Un décodeur DCC pour les signaux à deux ou trois feux sur Arduino NANO/UNO
Posté par: denizot le juin 28, 2021, 06:18:56 pm
je n'ai pas ajouté le 27 pf  le problème provient-il de là ?

Pour le savoir, ajoutez le ...

effectivement sur ce montage, puisque l'emplacement n'existe pas sur le circuit imprimé,


/*
 * Decoder for traffic light with three or two leds on ARDUINO NANO
 *
 * by default the red leds are switched on
 * pin 2 receives DCC interrupts
 *
 * TRAFFIC LIGHT WITH THREE leds (GREEN, RED, YELLOW)
 * 5 decoders of traffic lights with three leds on Arduino UNO
 * the leds are controlled by pins 3 to A3 by triplet
 * traffic light 1 : 3,4,5
 * traffic light 2 : 6,7,8
 * traffic light 3 : 9,10,11
 * traffic light 4 : 12,13,A0
 * traffic light 5 : A1,A2,A3
 * two addresses by traffic light
 * even addresses for green and red lights
 * odd addresses for yellow light
 *
 * TRAFFIC LIGHT WITH TWO leds (GREEN, RED)
 * 8 decoders of traffic lights with two leds on Arduino UNO
 * the leds are controlled by pins 3 to A4 by pair
 * traffic light 1 : 3,4
 * traffic light 2 : 5,6
 * traffic light 3 : 7,8
 * traffic light 4 : 9,10
 * traffic light 5 : 11,12
 * traffic light 6 : 13,A0
 * traffic light 7 : A1,A2
 * traffic light 8 : A3,A4
 * one address by traffic light
 *
 * CONFIGURATION
 * MODE : determined by the common of the led, LOW if common = HIGH, HIGH if common = LOW
 * FIRST_ID_DCC : DCC address of the first traffic light
 * NB_TRAFFIC_LIGHT : determined by the kind of traffic light, BICOLOR for two leds, TRICOLOR for three leds
 *
 */

/***************************************************************************************           
 *            CONFIGURATION SETTING
 *           
 ****************************************************************************************/
 
//#define CONSOLE                             // output console, delete this after checking the configuration
#define MODE   HIGH                         // LOW or HIGH
#define FIRST_ID_DCC   90                   // first DCC address, DCC_CODE
#define NB_TRAFFIC_LIGHT  BICOLOR           //  TRICOLOR or BICOLOR

/********************************************************************************** 
 *   DON'T CHANGE THE FOLLOWING
 *********************************************************************************/
 
/******************************************************************************
 *    INTERNAL PARAMETERS
 *   
 ********************************************************************************/
 
//  DCC

#include <DCC_Decoder.h>                 // Minabay library
#define kDCC_INTERRUPT    0             // pin 2 receives DCC interrupts
int previous_address = 0;               // avoids multiple DCC addresses
int previous_position = 2;              // avoids multiple DCC orders
volatile boolean update_light;          // set if an update should be processed after DCC control

// traffic light

#define BICOLOR  8                     // 8 traffic lights with two leds
#define TRICOLOR 5                     // 5 traffic lights with three leds
#define FIRST_PIN         3             // pin of the first traffic light
#define GREEN             0             // address DCC/0
#define RED               1             // address DCC/1
#define YELLOW            2             // address DCC+1/0

// traffic light definition

struct light {
  int address;                    // its DCC address
  int current_position;           // green / red / yellow
  int green;                      // pin of the green led
  int red;                        // pin of the red led
  int yellow;                     // pin of the yellow led
  boolean activation_request;     // request of activation
};
light traffic_light[NB_TRAFFIC_LIGHT];    // the set of traffic light

/********************************************************************
 * method called if a request is made by the DCC
 *
 *******************************************************************/
 
void activation_traffic_light() {
  for (int i = 0; i < NB_TRAFFIC_LIGHT; i++)                 // for all traffic lights
  {
    if (traffic_light.activation_request == true)  // if the traffic_light is waiting for activation
    {
      switch(traffic_light.current_position)            // we look the current position
      {
        case GREEN :{                                                     // if green led
                      digitalWrite(traffic_light.green,MODE);         // switch on green
                      digitalWrite(traffic_light.red,!MODE);          // switch off red
                      if ( NB_TRAFFIC_LIGHT == TRICOLOR){digitalWrite(traffic_light.yellow,!MODE);} // switch off yellow
                      #ifdef CONSOLE
                        Serial.print("activation -> traffic light");Serial.print(i);Serial.println(" : green led");
                      #endif
                      break;}
        case RED : {                                                  // if red led
                      digitalWrite(traffic_light.green,!MODE);      // switch off green
                      digitalWrite(traffic_light.red,MODE);         // switch on red
                      if ( NB_TRAFFIC_LIGHT == TRICOLOR){digitalWrite(traffic_light.yellow,!MODE);} // switch off yellow
                      #ifdef CONSOLE
                        Serial.print("activation -> traffic light");Serial.print(i);Serial.println(" : red led");
                      #endif
                     break;}
         case YELLOW : {                                                  // if yellow led
                      digitalWrite(traffic_light.green,!MODE);         // switch off green
                      digitalWrite(traffic_light.red,!MODE);           // switch off red
                      digitalWrite(traffic_light.yellow,MODE);         // switch on yellow
                      #ifdef CONSOLE
                        Serial.print("activation -> traffic light");Serial.print(i);Serial.println(" : yellow led");
                      #endif
                     break;}
         }
           }
       traffic_light.activation_request = false;            // the traffic light is updated
      }
  update_light = false;                                        // all updates are made
}

/*************************************************************************************
 *  DCC method
 * 
 ***********************************************************************************/

void BasicAccDecoderPacket_Handler(int address, boolean activate, byte data)

 
  address -= 1; address *= 4; address += 1; address += (data & 0x06) >> 1;    // DCC address decoding
  int led = (data & 0x01) ? GREEN : RED;                                      // DCC/0 or DCC/1
  int traffic_light_index = address;                                          // index of a traffic light   
  int color = led;                                                            // the color of the led
  boolean activation = false;
  if ((address != previous_address) || ((led != previous_position) && (address == previous_address))){ // if we change the address or the led
        switch (NB_TRAFFIC_LIGHT) {
          case BICOLOR : {      // if the address is in our range for traffic light with two leds
                    if ((address >= FIRST_ID_DCC) && (address < FIRST_ID_DCC + NB_TRAFFIC_LIGHT)){
                      traffic_light_index = address - FIRST_ID_DCC;                                  // index of the traffic light
                      activation = true;}
                        break;}
          case TRICOLOR : {     // if the address is in our range for traffic light with three leds
                    if ((address >= FIRST_ID_DCC) && (address < FIRST_ID_DCC + (2*NB_TRAFFIC_LIGHT))){
                      if (address%2 != 0) {  traffic_light_index = address - 1; color = YELLOW;}         // if odd address => yellow led
                        traffic_light_index = (traffic_light_index - FIRST_ID_DCC)/2;                    // index of the traffic light
                        activation = true;}
                        break;}
        }
     traffic_light[traffic_light_index].activation_request =  activation;    // activation is requested
     traffic_light[traffic_light_index].current_position = color;            // state is requested (color of the led)
     update_light = activation;                                              // traffic light update is requested
    }
   previous_address = address; previous_position = led;                    // the current activation is saved
  }
/**********************************************************************************************
 *  setup
 *
 ******************************************************************************************/

void setup() {
  int pin_jump = 0;                                                     // a jump for traffic light pins
  int traffic_light_jump = 0;                                           // a jump for traffic light number
  for (int i=0; i<NB_TRAFFIC_LIGHT; i++){                               // for all the traffic lights
    traffic_light.activation_request = false;                        // no activation request
    traffic_light.green = pin_jump + FIRST_PIN;                      // pin number of the green led
    pinMode(traffic_light.green, OUTPUT);                            // green led in output(ID DCC/0)                                                                                                                                                                                                                                                                   
    digitalWrite(traffic_light.green, !MODE);                       // green led switch off
    traffic_light.red = 1+ pin_jump + FIRST_PIN;                    // pin number of the red led
    pinMode(traffic_light.red, OUTPUT);                             // red led in output  (ID DCC/1)
    digitalWrite(traffic_light.red, MODE);                          // red led switch on
    if (NB_TRAFFIC_LIGHT == TRICOLOR) {                                // if three leds
      traffic_light.address = traffic_light_jump + FIRST_ID_DCC + i;   // its DCC ID
      traffic_light.yellow = 2+ pin_jump + FIRST_PIN;               // pin number of the yellow led
      pinMode(traffic_light.yellow, OUTPUT);                        // yellow led in output  (ID DCC+1/0)
      digitalWrite(traffic_light.yellow, !MODE);                    // yellow led switch off
      traffic_light_jump++;                                             // the following traffic light
      pin_jump+=3;                                                     // the following pin for three leds
          }
    else {                                                             // if two leds
         traffic_light.address = FIRST_ID_DCC + i;                  // its DCC ID
        pin_jump+=2;                                                   // the following pin for two leds
        }
 
  }
 
  DCC.SetBasicAccessoryDecoderPacketHandler(BasicAccDecoderPacket_Handler, true);   // instanciate the DCC
  DCC.SetupDecoder( 0x00, 0x00, kDCC_INTERRUPT );                                   // its IT
  update_light = false;                                                             // no update
 
  #ifdef CONSOLE
   Serial.begin(115200);
   for (int i=0; i<NB_TRAFFIC_LIGHT; i++){
    Serial.print("traffic light");Serial.println(i);
    Serial.print("\t green led on pin : ");Serial.print(traffic_light.green);Serial.print(" , DCC address : ");Serial.print(traffic_light.address);Serial.println("/0");
    Serial.print("\t red led on pin : ");Serial.print(traffic_light.red);Serial.print(" , DCC address : ");Serial.print(traffic_light.address);Serial.println("/1");
    if (NB_TRAFFIC_LIGHT == TRICOLOR) {
      Serial.print("\t yellow led on pin : ");Serial.print(traffic_light.yellow);Serial.print(" , DCC address : ");Serial.print(traffic_light.address+1);Serial.println("/0");
      }
   }
  #endif
}

/*************************************************************************
 * loop
 *
 ******************************************************************/
 
void loop() {
  DCC.loop();                                              // Is there a DCC command ?
  if (update_light) {activation_traffic_light();}          // if yes, activation of traffic lights
}

Quel emplacement ?

Postez nous votre programme modifié.
Titre: Re : Re : Un décodeur DCC pour les signaux à deux ou trois feux sur Arduino NANO/UNO
Posté par: denizot le juin 28, 2021, 08:52:54 pm
Attention, la facture de msport pour ce support technique particulier va être bien salée  ;D >:(

Oui je l'ai dejà remercié plus haut pour la patience dont il fait montre avec moi, mais je dois avouer que cela n'est pas si simple, d'ailleurs je me demande pourquoi vous n'avez pas plutôt fait deux programmes l'un pour les tricolors et l'autre pour les bi avec toutes les mises à jours qui vont bien.
j'en profite pour écrire que j'ai soudé le petit condo de 27pf et que le résultat est surprenant car maintenant je n'ai plus que la led verte qui s'allume mais à condition que les leds rouges soient conecté également .......!   
Titre: Re : Un décodeur DCC pour les signaux à deux ou trois feux sur Arduino NANO/UNO
Posté par: msport le juin 28, 2021, 09:46:45 pm
Bonsoir,

je crains que votre maitrise des outils informatiques et de l'électronique ne soit pas suffisante pour arriver à bout, seul, de ce montage.
Faites vous aider par quelqu'un qui voit ce que vous faites. A distance, c'est impossible.
En attendant lisez les articles de formation du site éditorial.

L'ajout de ce petit condensateur n'a aucune raison de provoquer ce que vous nous indiquez.
C'est que votre montage n'est pas fiable et que probablement vous avez fait un pont de soudure ailleurs ...

Par ailleurs, vous n'auriez pas du mettre la copie du programme dans la citation, les crochets sont supprimés. ( ligne 172 )
Il faut le mettre en code balise : #Ou mieux le mettre en fichier joint.
Titre: Re : Un décodeur DCC pour les signaux à deux ou trois feux sur Arduino NANO/UNO
Posté par: denizot le juin 29, 2021, 11:38:45 am
Bonjour, je comprends que la réflexion de Dominique vous ai agacé et que vous renonciez à m'aider .... Certes mes connaissances en électronique sont loin d'être au top, mais je manie le fer à souder depuis l'âge de 12 ans et j'en ai 60, j'estime avoir un peu d'expérience, mes soudures sont propres et lorsqu'il m'arrive d'en avoir une sèche je la corrige.
Pour mes connaissances en informatique et l'usage de l'Arduino, là non plus je ne prétends pas être au top, j'ai découvert ce produit il y a peu de temps mais j'ai réalisé un fonctionnement de pont tournant, le fonctionnement d'un rotary dumper, et le fonctionnement d'un passage à niveau double voies à l'aide de sensor GP2YoD805Z0f parfaitement fonctionnel et réaliste. J'ai voulu passer à l'étape supérieur en réalisant un montage électronique complet et en réalisant pour la première fois de ma vie le circuit imprimé artisanalement. Là je dois dire que la réussite n'y était pas,  j'ai  donc opté pour votre solution, le faire imprimer chez JLCPCB.
Vous avez essayé de m'aider et je vous en remercie encore.
Mais à votre place, et pour éviter de perdre le temps que vous avez perdu avec moi, et qui à priori ne servira pas aux autres internautes, vous devriez refaire tout ce post avec les circuits qui vont biens et les programmes tricolores et bicolores bien séparé avec quelques options comme pour le fonctionnement avec CDM rail par exemple,  et téléchargeable, le détail exacte des composants. Car actuellement tout cela est un peu brouillon et peu conviviale.
Je vais donc essayer de me débrouiller seul avec ce truc qui ne fonctionne pas. En espérant obtenir un résultat quitte à réécrire tout le code.  Car le temps passé et les sous investis en vale la peine.   
cordialement  >:( ::) :-[ :-\
               
Titre: Re : Un décodeur DCC pour les signaux à deux ou trois feux sur Arduino NANO/UNO
Posté par: Dominique le juin 29, 2021, 11:58:34 am
Je ne pense pas que "la réflexion de Dominique" ait pu agacer msport mais je comprends qu'elle ait pu vous agacer, et je tente de comprendre ce qui se passe pour éviter de voir cela à nouveau.

Je suis désolé que cette réalisation se termine, pour le moment, par un échec. "Echouer c'est toujours apprendre" si on trouve ses erreurs et qu'on ne les refait pas par la suite.

Mais je ne suis pas certain que le fait de refaire le circuit chez JLCPCB ne suffira pas car il y a, dans tous projets, une série d'étapes à franchir après avoir validé l'étape précédente :

Le schéma d'abord doit être finalisé : je n'ai vu nulle part dans votre fil le schéma définitif utilisé et les explications du pourquoi du comment vous êtes parti de quoi...

On voit bien que vous êtes parti de l'article de JP Claudé (https://www.locoduino.org/spip.php?article161 (https://www.locoduino.org/spip.php?article161)) qui a été consulté environ 7500 fois et beaucoup de modélistes ont réalisé ce montage, moi-même y compris, avec succès, y compris avec comandes par Traincontroler.

Donc ça marche et il faudrait rechercher les différences à la fois dans le matériel et ensuite dans le logiciel.

Beaucoup de modélistes passent énormément de temps à lire les articles et les contributions du forum, et ensuite, ensuite seulement, réalisent, échouent, recommencent jusqu'à la réussite, puis, le plus souvent quand c'est fini et testé, partagent leur expérience au profit des autres modélistes.

Vous avez pu profiter de cette énorme masse de contributions pour préparer votre projet, mais je n'ai pas vu vos efforts pour adapter ces connaissances à votre projet. Au lieu de cela, au fur et à mesure, chaque problème s'est étalé sur le forum (et avec force détails !), au risque de provoquer la risée d'autres modélistes ...

Bien entendu je comprends que vos connaissences en électronique et programmation aient pu vous manquer, mais là encore, il faut avoir la patience de les acquérir, même si cela prend du temps et réaliser des montages intermédiaires n'est pas un crime : Quand vous aurez réalisé tout ce que j'ai réalisé pour mon compte personnel et surtout pour rendre service à la communauté Locoduino ainsi qu'à mon club ferroviaire, on en reparlera tous les deux tranquillement, entre quatre yeux si vous voulez  :D :D :D

Le nec plus ultra serait que vous décriviez cette réalisation dans un post ad hoc, celui que vous auriez souhaité trouver pour réaliser votre projet ;D

Citer
refaire tout ce post avec les circuits qui vont biens et les programmes tricolores et bicolores bien séparé avec quelques options comme pour le fonctionnement avec CDM rail par exemple,  et téléchargeable, le détail exacte des composants
(je vous laisse mettre le "s" à la bonne place  >:()
Titre: Re : Un décodeur DCC pour les signaux à deux ou trois feux sur Arduino NANO/UNO
Posté par: denizot le juin 29, 2021, 01:37:24 pm
Bonjour Dominique, je comprends que mes réflexions de néophyte agace et encombre inutilement le forum d’un sachant comme vous. Mais justement, jusqu’à présent ce que j’ai réalisé pour mon train électrique  (déjà cité) ou pour ma maison dans le domaine de la domotique, centralisation de l’ouverture et fermeture de mes volets roulant et l’automatisation de mon portail le tout à base d’Arduino, avec l’unique aide de tuto sur youtube. Je pensai qu’avec locoduino j’allais intégrer une communauté d’entre aide, et j’y ai vraiment cru avec la patience de msport, et votre réflexion, a vraiment tout gâché, j’ai l’impression que votre site est réservé à quelques sachant qui cherche à se faire mousser entre eux. A la limite invité un C.. de temps en temps le mardi soir à un diné.
Le schéma d'abord doit être finalisé : je n'ai vu nulle part dans votre fil le schéma définitif utilisé et les explications du pourquoi du comment vous êtes parti de quoi...
Le schema utilisé est celui que j’ai téléchargé sur votre site ou l’emplacement pour souder le 27PF n’existe pas et qui est conçu pour faire fonctionner 5 feux tricolores mais à priori pas 7 feux bicolores.
Sur les 7500 consultations, je serais curieux de savoir combien ont fait aboutir ce projet ? 
Beaucoup de modélistes passent énormément de temps à lire les articles et les contributions du forum, et ensuite, ensuite seulement, réalisent, échouent, recommencent jusqu'à la réussite, puis, le plus souvent quand c'est fini et testé, partagent leur expérience au profit des autres modélistes.
Oui  je sais ce que c’est, oui je félicite tous ceux qui ont vus leurs projets aboutir, et qui en font profiter la communauté, une fois encore bravo.   
Vous avez pu profiter de cette énorme masse de contributions pour préparer votre projet, mais je n'ai pas vu vos efforts pour adapter ces connaissances à votre projet. Au lieu de cela, au fur et à mesure, chaque problème s'est étalé sur le forum (et avec force détails !), au risque de provoquer la risée d'autres modélistes ...
Malheureusement en tant que modérateur, il me semble que vous avez un peu de mal à synthétisé cette énorme masse de contributions, voilà pourquoi plus votre site prends de l’ampleur, plus tout cela devient brouillon et illisible. Vous ne voulez pas suivre les deux ou trois conseils que je vous donne. Dommage car vous y gagneriez en lisibilité plutôt qu’en curiosité.   
Cordialement             
Titre: Re : Un décodeur DCC pour les signaux à deux ou trois feux sur Arduino NANO/UNO
Posté par: mario-bl le janvier 04, 2022, 10:42:18 pm
Bonsoir,
J'ai réalisé décodeur dcc pour des signaux tricolore et le programme posté à la première page marche bien pour une exploitation avec cdm rail,
Si vous voulez tester les signaux lors de la configuration il est nécessaire de cocher : "Autoriser le pilotage des signaux" dans options => RUN
attention dans la programmation du signal il faut indiquer le type de décodeur : LDT LS DEC

Merci pour le partage de ce décodeur,

Bonne soirée (et bonne année)



Titre: Re : Un décodeur DCC pour les signaux à deux ou trois feux sur Arduino NANO/UNO
Posté par: msport le janvier 04, 2022, 11:16:58 pm
Merci pour le retour d'expérience !