Digitalisation voiture avec arduino
Posté : 08 oct. 2025, 09:35
Digitalisation d'une voiture voyageurs avec un arduino pro mini 5V
Pourquoi choisir un arduino pro mini 5 V?
1 - Le coût du module varie entre 1,5€ et 2,50€ sur Aliexpress autant dire ridicule.
Exemple pour trouver le module :https://fr.aliexpress.com/item/10050067 ... in_prod%3A
2 – Ses dimensions, plus petit qu'un arduino Nano il se loge sans problème dans les toitures des voitures, Il ne possède pas d'interface USB ce qui permet de gagner de la place en épaisseur. Un inconvénient cependant n'ayant pas d'interface USB sa programmation ne peut se faire qu'avec une mini interface USB/TTL vendu sur aliexpress moins de 2€.
la référence de l'interface sur aliexpress : Module adaptateur série FT232RL FT232 FTDI USB 3.3V 5.5V vers TTL pour Arduino FT232 Pro Mini Port USB vers TTL 232 Mini/type-c USB.
Attention cet interface peut avoir différents connecteurs USB (USB C mini USB USB micro USB etc..)
Exemple pour trouver l'adaptateur USB TTL https://fr.aliexpress.com/item/10050091 ... in_prod%3A
Pour la programmation de l'arduino pro mini 5V.
D'abord utiliser l'adapteur TTL /USB pour sa programmation et déclarer celui ci dans l'interface de programmation.
Dans l'onglet "OUTILS" déclarer la carte ARDUINO PRO ou PRO mini ,ensuite déclarer dans le même onglet le type de programmateur "MICRONUCLEUS" et toujours dans le meme onglet l'adresse du port détecté par votre PC
le type de carte Le type de programmateur
Le port "attention celui de la photo annonce COM5 mais il peut être diffèrent sur votre PC" Méthode de programmation raccorder le module via l'interface avec les 6 broches de d'adaptateur TTL voir photo
3 – le nombre de sorties utilisables au nombre de 12, largement au dessus de nos possibilités
les composants annexes (voir shéma): il nous faut quelques résistances, diodes, leds, condensateurs, transistors (si nécessaire), opto coupleur 6N137, l'addition s’élève a moins de 3€ au total notre digitalisation ne devrait pas dépasser les 8€, pas mal non?
Le module d'intégration: Je n'ai pas fait de PCB particulier car les composants peuvent être de récupération et dans ce cas la taille de ceux-ci varient et un PCB serait trop restrictif dans le choix des composants.
Personnellement je les fait sur des plaques de type «véro board type pastille » mais là encore chacun utilisera les matériaux de son choix.
Je précise une chose technique sur le 6N137 cet opto coupleur est disponible partout et avec des qualités différentes et parfois celui-ci et selon sa qualité provoque quelques problèmes d'intégration du DCC.
La solution consiste à poser un petit condensateur céramique en 27 et 270 pf entre les pattes 2 et 3 du 6N137 ( en parallèle de la diode).
Bien entendu il faut que vos voitures soit équipés de prise de courant sur les essieux.
Le fichier INO: Vous devez avoir la librairie
notamment: DCC_Decoder.h
Au besoin je vous enverrai la librairie par MP
Il faut dans son programme déclarer l'adresse de votre choix sur l'exploitation Ligne 15
int decoderAddress = 100; // Ici l'adresse de votre DCC (vous pouvez la changer)
Modifier éventuellement l'état de sortie des broches utilisés si adaptation par un transistor ou led directe sur l'arduino (Ligne 103-114)
if (Func[0]&B00000001) digitalWrite(F1_pin, HIGH); else digitalWrite(F1_pin, LOW);
if (Func[0]&B00000010) digitalWrite(F2_pin, HIGH); else digitalWrite(F2_pin, LOW);
if (Func[0]&B00000100) digitalWrite(F3_pin, HIGH); else digitalWrite(F3_pin, LOW);
if (Func[0]&B00001000) digitalWrite(F4_pin, HIGH); else digitalWrite(F4_pin, LOW);
if (Func[1]&B00000001) digitalWrite(F5_pin, HIGH); else digitalWrite(F5_pin, LOW);
if (Func[1]&B00000010) digitalWrite(F6_pin, HIGH); else digitalWrite(F6_pin, LOW);
if (Func[1]&B00000100) digitalWrite(F7_pin, HIGH); else digitalWrite(F7_pin, LOW);
if (Func[1]&B00001000) digitalWrite(F8_pin, HIGH); else digitalWrite(F8_pin, LOW);
if (Func[2]&B00000001) digitalWrite(F9_pin, HIGH); else digitalWrite(F9_pin, LOW);
if (Func[2]&B00000010) digitalWrite(F10_pin, HIGH); else digitalWrite(F10_pin, LOW);
if (Func[2]&B00000100) digitalWrite(F11_pin, HIGH); else digitalWrite(F11_pin, LOW);
if (Func[2]&B00001000) digitalWrite(F12_pin, HIGH); else digitalWrite(F12_pin, LOW);
Selon l’état de sortie des broches utilisés changer le HIGH en LOW et le LOW en HIGH
exemple :
if (Func[0]&B00000010) digitalWrite(F2_pin, LOW); else digitalWrite(F2_pin, HIGH);
Le schéma de principe..............
Le fichier INO...................
Un petit aperçu dans une voiture....
Amusez vous....
Je reviendrai poster photos ou infos au besoin
Pourquoi choisir un arduino pro mini 5 V?
1 - Le coût du module varie entre 1,5€ et 2,50€ sur Aliexpress autant dire ridicule.
Exemple pour trouver le module :https://fr.aliexpress.com/item/10050067 ... in_prod%3A
2 – Ses dimensions, plus petit qu'un arduino Nano il se loge sans problème dans les toitures des voitures, Il ne possède pas d'interface USB ce qui permet de gagner de la place en épaisseur. Un inconvénient cependant n'ayant pas d'interface USB sa programmation ne peut se faire qu'avec une mini interface USB/TTL vendu sur aliexpress moins de 2€.
la référence de l'interface sur aliexpress : Module adaptateur série FT232RL FT232 FTDI USB 3.3V 5.5V vers TTL pour Arduino FT232 Pro Mini Port USB vers TTL 232 Mini/type-c USB.
Attention cet interface peut avoir différents connecteurs USB (USB C mini USB USB micro USB etc..)
Exemple pour trouver l'adaptateur USB TTL https://fr.aliexpress.com/item/10050091 ... in_prod%3A
Pour la programmation de l'arduino pro mini 5V.
D'abord utiliser l'adapteur TTL /USB pour sa programmation et déclarer celui ci dans l'interface de programmation.
Dans l'onglet "OUTILS" déclarer la carte ARDUINO PRO ou PRO mini ,ensuite déclarer dans le même onglet le type de programmateur "MICRONUCLEUS" et toujours dans le meme onglet l'adresse du port détecté par votre PC
le type de carte Le type de programmateur
Le port "attention celui de la photo annonce COM5 mais il peut être diffèrent sur votre PC" Méthode de programmation raccorder le module via l'interface avec les 6 broches de d'adaptateur TTL voir photo
3 – le nombre de sorties utilisables au nombre de 12, largement au dessus de nos possibilités
les composants annexes (voir shéma): il nous faut quelques résistances, diodes, leds, condensateurs, transistors (si nécessaire), opto coupleur 6N137, l'addition s’élève a moins de 3€ au total notre digitalisation ne devrait pas dépasser les 8€, pas mal non?
Le module d'intégration: Je n'ai pas fait de PCB particulier car les composants peuvent être de récupération et dans ce cas la taille de ceux-ci varient et un PCB serait trop restrictif dans le choix des composants.
Personnellement je les fait sur des plaques de type «véro board type pastille » mais là encore chacun utilisera les matériaux de son choix.
Je précise une chose technique sur le 6N137 cet opto coupleur est disponible partout et avec des qualités différentes et parfois celui-ci et selon sa qualité provoque quelques problèmes d'intégration du DCC.
La solution consiste à poser un petit condensateur céramique en 27 et 270 pf entre les pattes 2 et 3 du 6N137 ( en parallèle de la diode).
Bien entendu il faut que vos voitures soit équipés de prise de courant sur les essieux.
Le fichier INO: Vous devez avoir la librairie
notamment: DCC_Decoder.h
Au besoin je vous enverrai la librairie par MP
Il faut dans son programme déclarer l'adresse de votre choix sur l'exploitation Ligne 15
int decoderAddress = 100; // Ici l'adresse de votre DCC (vous pouvez la changer)
Modifier éventuellement l'état de sortie des broches utilisés si adaptation par un transistor ou led directe sur l'arduino (Ligne 103-114)
if (Func[0]&B00000001) digitalWrite(F1_pin, HIGH); else digitalWrite(F1_pin, LOW);
if (Func[0]&B00000010) digitalWrite(F2_pin, HIGH); else digitalWrite(F2_pin, LOW);
if (Func[0]&B00000100) digitalWrite(F3_pin, HIGH); else digitalWrite(F3_pin, LOW);
if (Func[0]&B00001000) digitalWrite(F4_pin, HIGH); else digitalWrite(F4_pin, LOW);
if (Func[1]&B00000001) digitalWrite(F5_pin, HIGH); else digitalWrite(F5_pin, LOW);
if (Func[1]&B00000010) digitalWrite(F6_pin, HIGH); else digitalWrite(F6_pin, LOW);
if (Func[1]&B00000100) digitalWrite(F7_pin, HIGH); else digitalWrite(F7_pin, LOW);
if (Func[1]&B00001000) digitalWrite(F8_pin, HIGH); else digitalWrite(F8_pin, LOW);
if (Func[2]&B00000001) digitalWrite(F9_pin, HIGH); else digitalWrite(F9_pin, LOW);
if (Func[2]&B00000010) digitalWrite(F10_pin, HIGH); else digitalWrite(F10_pin, LOW);
if (Func[2]&B00000100) digitalWrite(F11_pin, HIGH); else digitalWrite(F11_pin, LOW);
if (Func[2]&B00001000) digitalWrite(F12_pin, HIGH); else digitalWrite(F12_pin, LOW);
Selon l’état de sortie des broches utilisés changer le HIGH en LOW et le LOW en HIGH
exemple :
if (Func[0]&B00000010) digitalWrite(F2_pin, LOW); else digitalWrite(F2_pin, HIGH);
Le schéma de principe..............
Le fichier INO...................
Un petit aperçu dans une voiture....
Amusez vous....
Je reviendrai poster photos ou infos au besoin
