LOCODUINO
Parlons Arduino => Composants => Discussion démarrée par: jcm le avril 14, 2021, 09:37:44 am
-
Bonjour
La dernière librairie NMRA https://github.com/mrrwa/NmraDcc (https://github.com/mrrwa/NmraDcc) parle d'une compatibilité avec TEENSY et ESP.
Dans les deux cas, je n'y suis pas arrivé. Il y a t'il quelqu'un qui a fait un décodeur accessoire sur la base TEENSY ou ESP.
Je fais un TCO automobile, et j'en demande de trop à un arduino (DCC CANBUS NEXTION), un TEENSY 3.2 serai le bien venu (j'ai digitalisé des véhicules "carfaller" avec un esp si cela vous intéresse http://letraindejc.free.fr/ (http://letraindejc.free.fr/))
Je digitalise une plaque tournante avec tous les composants embarqués, un NANO rentre pile-poil. Un ESP12 m'intéresse, gain de place et possibilité de paramétrer de son smartphone via le wifi......mais je décode pas le DCC
Je vous remercie
JC
-
Bonjour,
Vous pourriez contacter la NMRA :
https://www.nmra.org/dcc-working-group# (https://www.nmra.org/dcc-working-group#)
-
Merci je vais essayé
-
Tihierry est, il me semble, commiter sur cette librairie : je crois qu'il en a fourni l'adaptation pour ESP32 notamment. Pas certain que sur ESP12 ça soit opérationnel. Peut-être a-t-il une meilleure vue du projet.
Quand vous dites "Je décode pas le DCC", avez-vous essayé de compiler la lib en DEBUG avec quelques leds branchées pour voir ce qu'elle fait ? L'init est bien réalisée ? Le "process" est bien appelé régulièrement ?
Le traitement du signal est réalisé par interruption déclenchée par les fronts montant / descendant de la broche connectée à la voie soit via un optocoupleur, soit via un montage de lecture à diode....comment faites-vous toute cette partie dans votre montage ?
-
Bonjour
Le montage est je pense classique (le même que mes 10-15 décodeur avec Nano)
un opto le 637, une diode, résistance coté DCC et 2 résistances coté arduino dont qui est branchée sur la pin2 (INT0)
Quand au programme je prend les exemples de la librairie.
Je dois mal faire au niveau du dcc.init(0,2,1)
Je vais me repencher sur le problème.
Bonne journée
-
Je viens peut être de trouver un site qui va m'aider
https://nodemcu.readthedocs.io/en/dev/modules/dcc/ (https://nodemcu.readthedocs.io/en/dev/modules/dcc/)
mais la, je vais me coucher
Bonne nuit ;D
-
Bonjour
Le montage est je pense classique (le même que mes 10-15 décodeur avec Nano)
un opto le 637, une diode, résistance coté DCC et 2 résistances coté arduino dont qui est branchée sur la pin2 (INT0)
Quand au programme je prend les exemples de la librairie.
Je dois mal faire au niveau du dcc.init(0,2,1)
Je vais me repencher sur le problème.
Bonne journée
La méthode INIT réclame 4 paramètres, pas 3. Et ils n'ont pas de rapport avec la broche et l'initerruption utilisés.
C'est la méthode "pin" qui gère cet aspect. Si vous avez une résistance pullup externe, il ne faut pas armer la pullup interne du CPU.
Par ailleurs, pour éviter les erreurs, dans la mesure du possible vous devriez utiliser la méthode pin à deux paramètres, qui détermine automatiquement le numéro d'interruption en fonction de la broche utilisée : pin(broche,pullup).
La compatibilité 8266 semble bien présente sur les versions récentes de la lib mais pour cela il faut s'assurer aussi que le code est compilé avec le flag standard (ESP8266)
-
Une autre piste éventuelle est celle de Geoff Bunza qui a exploré en profondeur toutes les possibilités de ces décodeurs :
https://www.scalemodelanimation.com/ (https://www.scalemodelanimation.com/)
-
Merci
Je vais approfondir
Je tiendrais au courant
JC
-
Bonjour
J'ai contacté l'auteur de la librairie.
Pour un teensy il faut mettre
Dcc.pin (2, 1);
Pour les arduino
Dcc.pin (0, 2, 1);
Ça marche avec teensy 3.2 et 4.
Du coup je peux gérer le nextion, le Can, le dcc et lecture du s88 pour afficher les secteurs occupés
Si ça peut servir......
A+JC