un décodeur de 16 accessoires DCC avec arduino uno à 4€
Comme je l'expliquait plus bas dans un article comment faire communiquer le DCC avec un arduino, on va aller plus loin.
faire un décodeur d'accessoire DCC (pour piloter des aiguilles, des signaux, un passage à niveau ...) pour 4 € environ.
j'ai acheté des arduino uno sur aliexpress à moins de 3€
en plus j'ai fais mon petit montage qui permet de récuperer le signal DCC sur l'arduino (soit on le fais sur une plaque d'essai (voir l'autre article), soit on peut créer un petit circuit imprimé... )
voici le fichier gerber qui permet de se faire fabriquer la carte éléctronique Arduino_DCC_connector_
à commander sur le site jlcpcb.com par exemple
ETAPE 1 :
on fait le montage suivant (comme détaillé dans mon autre article, sauf que là je branche un servo moteur)
centrale digital -> interface DCC (montage avec l'octocoupleur 6N137) -> Arduino UNO -> accessoire (servo, led, bouton poussoir ou autre)
ici j'ai branché un servo (fil rouge = +5v, fil brun = GND, fil jaune = signal sur le pin 3)
ETAPE 2 :
on récupère le logiciel Mardec (programme arduino qui ne nécessite pas de programmation, c'est super cool)
sur le site https://www.arcomora.com/
1- on télécharge le logiciel arcomora
2 - on télécharge aussi Mardecpin
3 - on branche le arduino uno au port usb du PC et on installe le logiciel arcomora
4- on lance le logiciel Mardec qui permettra de piloter le servo
le programme s'installe sur l' arduino uno
fermer la fenêtre Mardec.
ce programme est fait pour fonctionner avec la carte vendue sur le site arcomora (shield arduino qui s'appelle DCC power shield)
mais nous on va utiliser l'arduino sans ce shield (carte additionnelle)
du coup il faut installer le programme Mardecpin
5- décompresser le fichier mardecpin.ino
le prgramme "arduino" s'ouvre
cliquer sur "téléverser" ce code pour mettre à jour l'arduino.
6- c'est fait ! on va configurer le servo
lancer le programme Mardec cette fois ci
on configure la carte arduino en faisant suivant puis on arrive à la liste des pin (broches en français).
rien n'est configuré, du coup on va dire que sur pin 3 (P), quand on active l'accessoire 3 (DCC 3) on veut piloter un servo
(vous pouvez lire la notice mardec en français fournie avec le logiciel pour plus de détails)
7- on peut modifier l'angle haut et l'angle bas du servo avec les touches + et - et utiliser la touche (c) pour configurer l'angle bas ou haut
8 - les angles sont configurés, on valide par "entrée"
9 - on vois que la pin 3 (broche 3 de l'arduino) va piloter un servo quand on appuiera sur l'accessoire 3 de la centrale Digital (DCC 3), le servo va passer de l'angle 83° à 142° à une vitesse de 25
10 - on valide par la fonction exit (e), tout est configuré !
11 - on teste, j'appuye sur l'aiguillage 3 sur ma multimaus
on constate que le servo est passé à la postion haut dès que l'on active l'aiguille 3 (DCC 3)
P.S. pour alimenter l'arduino sans le cable usb, il suffit de mettre du 9V sur la prise ronde noire, ou alors du 12V max entre la broche VIN et GND
P.S. pour alimenter plusieurs servo il vaut mieux convertir du 12V en 5V avec un module LM7805 par exemple