Applications du BLUETOOTH au modélisme ferrovaire

Commande d'un train de jardin



1. Description du système

2. Commande par smartphone ou tablette d'une locomotive analogique avec sonorisation simplifiée

3. Commande par smartphone ou tablette d'une locomotive analogique avec sonorisation par carte SD

4. Commande par smartphone ou tablette d'une locomotive déjà équipée en DCC

5. Commande des aiguilles

6. Rétrosignalisation et commande automatique du réseau

.7. Application ANDROID BLUETRAIN

8. Réalisation d'un régulateur Bluetooth

9. Vidéo

10. Insertion d'un fumigène

1. Description du système

La commande en Bluetooth d'un train de jardin est très facile à mettre en oeuvre. Les locos doivent être alimentées par des batteries qui peuvent être placées dans la locomotive lorsque c'est possible ou dans un wagon tracté par la loco. Le pilotage des locos s'effectue par un smartphone ou une tablette en Bluetooth avec une application appelée Bluetrain que j'ai écrite avec le logiciel App Inventor.
Pour réaliser le système, il faut au minimum les composants suivants:
- une batterie
- un module ARDUINO
- un module BLUETOOTH
- un module de pilotage de moteur L298N

Concernant la sonorisation, la mémoire interne de l'ARDUINO ne permet d'enregistrer que 4 secondes de sons, ce qui est peu mais permet cependant de reproduire le klaxon ou le sifflet d'une loco ainsi que les coups d'échappement pour une loco vapeur. La qualité sonore obtenue est très inférieure à ce que l'on obtient avec un décodeur sonore DCC. Mais on peut obtenir des résultats bien meilleurs en utilisant un lecteur de carte SD ou un module MP3. Les sons sont stockés sur une carte SD et on peut obtenir une qualité sonore équivalente au DCC.
Si la loco est déjà équipée en DCC, alors l'Arduino génère un signal DCC qui permet d'utiliser le décodeur DCC de la loco.
Toutes mes locos sont maintenant équipées avec ce système Bluetooth dont je suis très satisfait.

1.1 Choix de la batterie

J'ai choisi des batteries Li-Ion pour leur excellent rapport capacité/poids.
Actuellement, j'utilise trois modèles de batteries Li-Ion:
- modèle BP-511
- pile rechargeable 18650
- batterie DC-1298A
J'utilise aussi depuis 2021 des batteries LIPO de la marque HELEN Electronica.

1.1.1 modèle BP-511

Il s'agit d'une batterie pour camescope dont il existe deux modèles:
- un petit modèle de capacité 1700 mAh
- un grand modèle de capacité 3000 mAh

Pour piloter une loco LGB, une seule batterie est insuffisante. Il faut en mettre deux en série.
Il n'y a pas de boîtier fourni avec la batterie. Il faut le fabriquer soi-même.
De plus, il faut un chargeur de batterie qui coûte 12 Euros chez
About Batterie

1.1.1.1 petit modèle BP-511



Les caractéristiques de ce modèle sont les suivantes:
- tension de sortie 7,4 à 8,4 Volts
- capacité: 1700 mAh
- dimensions: 55x38x21 mm
- poids: 76 g

Le prix est de 17 Euros chez About Batterie

1.1.1.2 grand modèle BP-511



Les caractéristiques de ce modèle sont les suivantes:
- tension de sortie 7,4 à 8,4 Volts
- capacité: 3000 mAh
- dimensions: 55x38x40 mm
- poids: 150 g

Le prix est de 24 Euros chez About Batterie

1.1.2 pile rechargeable 18650



Cette pile a les caractéristiques suivantes:
- tension de sortie 3,7 à 4,2 Volts
- capacité: 2600 mAh
- dimensions: (D) x 18mm (H) 65mm
- poids: 44 g
Pour piloter une loco LGB, il faut utiliser 3 ou 4 piles en série.
On peut trouver cette pile pour moins de 10 € chez TEMU.
Il existe aussi des boitiers support pour 3 ou 4 piles 18650
Le chargeur pour ces piles coûte moins de 15 Euros sur eBay.

1.1.3 batterie DC-1298A



Cette batterie de grande capacité a des dimensions imposantes qui permettent quand même de la placer dans un wagon à l'échelle du LGB. Les caractéristiques sont les suivantes:
- tension de sortie 11.1 à 12,6 Volts
- capacité: 9800 mAh
- dimensions: 125x63x22 mm
On peut trouver cette batterie pour moins de 25 € chez AliExpress.

Pour cette batterie, j'utilise un chargeur IMAX B6 que l'on trouve sur eBay pour moins de 20 Euros.

1.1.4 batterie LIPO de 1500 à 1700 mAh



Cette batterie est intéressante par ses dimensions réduites et sa faible épaisseur. Je l'utilise dans un autorail LGB. Les caractéristiques sont les suivantes:
- tension de sortie: 7,4 V Volts
- capacité: 1750 mAh
- dimensions: 85x34x13 mm
- poids: 61 grammes
On peut trouver cette batterie pour une dizaine d'Euros chez TEMU.
Cette batterie peut se charger avec un chargeur IMAX B6.

1.2 ARDUINO

Le système peut utiliser trois types d'ARDUINO:
- un ARDUINO UNO qui est le plus connu mais les dimensions sont importantes (67 x 54 mm)
Le prix est de 19,20 Euros chez TipTopBoards

- un ARDUINO NANO dont les dimensions sont plus petites ( 45 x 18 mm)
Le prix est de 17,50 Euros chez TipTopBoards

- un ARDUINO PRO MINI dont les dimensions sont vraiment très petites ( 33 x 18 mm).
Ce module est à privilégier pour l'installation dans une locomotive. Le prix est de 7,80 Euros chez TipTopBoards avec le module CP2102 qui permet de connecter l'ARDUINO au PC pour le programmer. Une fois le programme téléchargé, on peut déconnecter le module CP2102. L'inconvénient est qu'il faut souder soi-même les connecteurs sur le module ARDUINO et que le régulateur de tension est très fragile. Il est recommandé d'alimenter l'ARDUINO Pro Mini en 5 V en utilisant un régulateur externe (7805).

1.3 Module BLUETOOTH

Ce module permet de relier le smartphone à l'ARDUINO. Il intègre une antenne qui permet de communiquer en Bluetooth avec l'Arduino. La connexion entre le module et l'Arduino s'effectue par une liaison série RS232 avec RX et TX.
Il existe plusieurs modules possibles.

1.3.1 Module HC-05



Il s'agit du module le plus utilisé. Le prix est de 13 Euros chez TipTopBoards. La taille est de 39 x 15 mm.
Ce module a une portée d'environ 30 mètres en espace libre et est compatible avec toutes les versions d'Android. Ce module peut être « maître » (il peut proposer à un autre élément bluetooth de s’appairer avec lui) ou « esclave » (il ne peut que recevoir des demandes d’appairage).

1.3.2 Module HC-06



Ce module a des caractéristiques semblables au HC-05 mais il ne peut être qu’esclave.

1.3.2 Module HM-10



Ce module est compatible avec la nouvelle norme Bluetooth Low Energy. Par rapport au module HC-O5, il présente l'avantage d'avoir une plus grande portée jusqu'à 100 mètres en espace libre et une plus faible consommation. Le niveau du signal du HM-10 reçu par le smartphone peut être affiché, ce qui n'est pas possible avec un HC-05.
Comparé au HC-O5, le HM-10 a plusieurs inconvénients: un prix un peu supérieur et surtout il faut une version d'Android supérieure à 5, ce qui exclut de nombreux smartphones assez anciens.

1.4 Module de commande de moteur

Ce module sert à amplifier le signal PWM fourni au moteur et aussi à amplifier le son lorsqu'il est produit par l'Arduino.

1.4.1 Module de commande avec le circuit L298N




Ce module peut fournir une tension jusqu'à 35 V et un courant de 2 A.
Le prix est de 8,40 Euros chez TipTopBoards. La taille est de 55 mm x 60 mm x 30 mm
Les sorties Out1 et Out2 sont à relier au moteur et les sorties Out3 et Out4 sont à relier à un haut-parleur (impédance 8 ou 16 Ohms, puissance supérieure ou égale à 1 Watt)
En plus, ce module possède une sortie 5V qui permet d'alimenter un module Arduino et des accessoires.

1.4.2 Module de commande avec un circuit TB6612FNG




Ce driver TB6612FNG proposé par POLOLU permet de commander 2 moteurs à courant continu dans les 2 sens de rotation avec variation de vitesse (PWM). Ce module est beaucoup plus petit que le précédent et peut suffire pour certains moteurs. Il coûte 5,30 € chez GOTRONIC. Les caractéristiques sont les suivantes:
- tension: 5 à 15 V
- courant max: 1.2 A
- Dimensions: 21 x 15 x 3 mm

Le brochage est représenté sur la figure ci-dessous.



Les sorties A01 et A02 sont à relier au moteur et les sorties B01 et B02 peuvent être reliées à un haut-parleur (impédance 8 ou 16 Ohms, puissance supérieure ou égale à 1 Watt)
La tension d'alimentation comprise entre 5 et 13,5 V est à relier à la broche VM et la broche VCC est à relier au 5V.
A titre d'exemple, voici les connexions à établir pour commander un moteur par un ARDUINO (moteur 1):
La broche PWMA est à relier à la broche D3 de l'ARDUINO qui fournit le signal PWM sur cette broche (instruction AnalogWrite(3,Vpwm) avec VPwm variant enre 0 et 255)
La broche STBY ainsi que la broche VCC sont à relier à la broche 5V de l'ARDUINO
Les broches AIN1 et AIN2 déterminent le sens de rotation du moteur et sont à relier aux broches D4 et D5 de l'ARDUINO comme indiqué ci-dessous
D4=5V et D5=0 ==> sens direct
D4=0 et D5=5V ==> sens inverse
D4=0 et D5=0 ==> coupure moteur

2. Commande par smartphone ou tablette d'une locomotive analogique avec sonorisation simplifiée

Avec cette solution, c'est le module Arduino qui génère la sonorisation.

2.1 Schéma à réaliser

La figure ci-dessous montre à titre d'exemple le schéma à réaliser avec un ARDUINO PRO MINI pour une locomotive à vapeur qui possède des feux avant et arrière à ampoules classiques et qui possède aussi un fumigène.



Les connexions entre le module BLUETOOTH HC-05 et l'ARDUINO sont les suivantes:
La broche GND du module est à relier à une broche GND de l'ARDUINO
La broche Vcc du module est à relier au +5V de l'ARDUINO
La broche TxD du module est à relier à la broche RX de l'ARDUINO (broche 0)
La broche RxD du module est à relier à la broche TX de l'ARDUINO (broche 1)

Les connexions entre le module de pilotage de moteur L298N et l'ARDUINO sont les suivantes:
L'entrée IN1 du module est à relier à la sortie 5 de l'ARDUINO
L'entrée IN2 du module est à relier à la sortie 3 de l'ARDUINO
L'entrée IN3 du module est à relier à la sortie 11 de l'ARDUINO
L'entrée IN4 du module est à relier à la masse de l'ARDUINO
L'entrée Vcc du module est à relier à la sortie + de la batterie (9 à 15 Volts)
L'entrée GND du module est à relier à la sortie - de la batterie
La sortie +5V du module est à relier à la broche 5V de l'ARDUINO
Les sorties Out1 et Out2 du module sont à relier au moteur
Les sorties Out3 et Out4 du module sont à relier à un haut-parleur d'impédance 8 ou 16 Ohms et de puissance supérieure ou égale à 1 Watt

Il faut noter que l'ARDUINO PRO MINI ne peut pas être alimenté directement par la batterie car la tension maximale applicable est de 9V. Il est alimenté par la sortie 5V du module L298.

La photo ci-dessous montre le montage de test du système.



2.2 Programme ARDUINO

Les sons générés par l'ARDUINO pour une loco diesel sont les suivants
- mise en route et son du moteur au ralenti lorsque la vitesse est nulle
- son du moteur en marhe lorsque la vitesse n'est pas nulle
- le klaxon deux tons.

Les sons générés par l'ARDUINO pour une loco vapeur sont les suivants
- coups d'échappement avec une fréquence proportionnelle à la vitesse
- sifflet.

Vous pouvez télécharger ces deux programmes pour l'ARDUINO en cliquant
ici.

2.3 Photos et vidéo du système

La photo ci-dessous montre les composants installés dans un wagon derrière le locotracteur LGB.



La vidéo ci-dessous montre le petit locotracteur LGB en action

Pour télécharger la vidéo, cliquer ici.

3. Commande par smartphone ou tablette d'une locomotive analogique avec sonorisation par carte SD

Les sons sont stockés sur une carte SD insérée dans un lecteur de carte connecté à l'ARDUINO. Avec cette solution, on peut obtenir une qualité sonore assez bonne proche de ce que fournit un décodeur DCC et ceci pour un coût très inférieur.

Il y a deux approches possibles: l'utilisation d'un lecteur de carte SD ou l'utilisation d'un module MP3

3.1 Utilisation d'un lecteur de carte SD

3.1.1 Description du système

Les sons sont stockés sur une carte SD insérée dans un lecteur de carte connecté à l'ARDUINO. Avec cette solution, on peut obtenir une qualité sonore assez bonne proche de ce que fournit un décodeur DCC et ceci pour un coût très inférieur.

Les fichiers audio sont stockés sur la carte SD. Chaque fichier audio doit être au format wav avec les caractéristiques suivantes:
- fréquence d'échantillonnage 16 KHz
- codage sur 8 bits
- mono

Le lecteur de carte SD qui coute 3 Euros chez
TipTopBoards est connecté au bus SPI de l'ARDUINO UNO comme suit:
- MOSI - pin 11 de l'ARDUINO
- MISO - pin 12 de l'ARDUINO
- CLK - pin 13 de l'ARDUINO
- CS - pin 10 de l'ARDUINO
- +5V connecté au +5V de l'ARDUINO
- +3.3V connecté au +3.3V de l'ARDUINO
- masse connectée à la masse de l'ARDUINO

Les connexions entre l'ARDUINO et les autres composants sont les suivantes:
2 commande feux AV
3 sortie moteur vers IN1 L298
4 commande feux AR
5 sortie moteur vers IN2 L298
6 commande fonction auxilliaire (fumigène, éclairage, etc...)
7 RX2 vers TX HC-05
8 TX2 vers RX HC-05
9 sortie son vers IN3 L298 (l'entrée IN4 du L298 est à relier à la masse)
10 vers lecteur de carte SD CS
11 vers lecteur de carte SD MOSI
12 vers lecteur de carte SD MISO
13 vers lecteur de carte SD CLK
A0 vers ILS pour la détection de passage
+5V vers sortie +5V du L298, vers entrée +5V du lecteur de carte SD, vers entrée +5V du module HC-05
+3.3V vers entrée 3.3V du lecteur de carte SD
Masse vers masse alim, vers masse du L298, vers masse du lecteur de carte SD, vers masse du module HC-05

3.1.2 Programme ARDUINO

Les sons stockés sur la carte SD pour une loco diesel sont les suivants
03 démarrage moteur
05 ralenti moteur
07 marche moteur
08 freinage
09 arrêt moteur
10 annonce de gare
klaxon

Les sons stockés sur la carte SD pour une loco vapeur sont les suivants
01 son à l'arrêt
02 vitesse lente
03 vitesse moyenne 1
04 vitesse moyenne 2
05 vitesse rapide
06 freinage
07 sifflet court
08 sifflet long

Vous pouvez télécharger ces deux programmes pour l'ARDUINO avec les fichiers sons à télécharger sur la carte SD en cliquant ici.

3.1.3 Vidéo

La petite vidéo ci-dessous tournée en juillet 2018 montre la circulation simultanée de 3 trains pilotés en automatique par une tablette ANDROID avec l'application BLUETRAIN :
- un autorail LGB analogique équipé d'un montage à base d'ARDUINO et sonorisé par une carte SD
- une loco vapeur 031T LGB analogique équipée d'un montage à base d'ARDUINO et sonorisé par une carte SD
- un locotracteur BB900 LGB équipé d'un décodeur sonore DCC de la marque ZIMO et d'un montage à base d'ARDUINO.



3.2 Utilisation d’un module audio, le DFPlayer Mini mp3 de DFRobot



Ce petit module qui coûte moins de 10 Euros permet de lire des sons au format MP3 et de les écouter sur un haut-parleur directement connecté au module. Tout le traitement des sons est fait dans le module. L'Arduino qui est connecté au module audio par une liaison série permet simplement de choisir le son à lire. La qualité sonore est très bonne, équivalente à ce que l'on obtient avec un décodeur DCC.
On peut trouver ce module chez GOTRONIC.
On peut trouver un mode d'emploi de ce module en français en cliquant ici.
Ce module est assez récent (sorti en 2019) et je l'ai testé pour sonoriser mon autorail LGB en utilisant les mêmes sons que précédemment pour une loco diesel. J'ai codé les sons en MP3 et je les ai transféré sur une carte microSD insérée dans le module audio.
Vous trouverez une description de ce système sur la page web consacrée à l'autorail LGB.

Ce module doit être alimenté en 5V. Or il consomme beaucoup de courant jusqu'à 1A et il n'est pas possible d'utiliser le régulateur du module L298N car ce régulateur n'a pas de radiateur et il chauffe trop. Une bonne solution quand on a de la place est d'utiliser une batterie externe pour smartphone qui délivre une tension de 5V. J'ai utilisé une batterie Edenwood achetée 4 € chez ELECTRO-DEPOT et qui a une capacité de 2000 mAh.

4. Commande par smartphone ou tablette d'une locomotive équipée en DCC pour le train de jardin

Si la locomotive est déjà équipée d'un décodeur DCC, alors le module ARDUINO recoit les commandes en Bluetooth et génère le signal DCC

Le schéma des composants à installer dans un wagon derrière la locomotive est donné ci-dessous.



Les composants utilisés sont les suivants:
- un régulateur 7805 qui délivre une tension de 5V à l'ARDUINO et au module Bluetooth
- un module ARDUINO Pro-Mini
- un module BLUETOOTH HC-05
- un module amplificateur LMD 18200 qui fournit le signal DCC


L'adresse DCC de la locomotive doit être 3.(C'est l'adresse MAC du module Bluetooth qui permet d'identifier la locomotive).

Les commandes disponibles sont les suivantes:
- vitesse avec 28 crans et sens de marche
- Fonctions F0 à F8

La photo ci-dessous montre le montage réalisé.



Vous pouvez télécharger ce programme pour l'ARDUINO (bluetooth_loco_dcc.zip) en cliquant
ici.

5. Commande des aiguilles

Il y a deux façons de commander les aiguilles sur le réseau. La première est d'utiliser un boitier de commande piloté en Bluetooth . Ce boitier est alimenté par une batterie 12V et les moteurs d'aiguilles sont reliés par fil à ce boitier. Le smartphone qui controle un train en Bluetooth doit établir une deuxième connexion Bluetooth à ce boitier de commande d'aiguilles.
Ce boitier permet aussi de commander d'autres accessoires comme un passage à niveau par exemple.

La deuxième méthode utilise une commande d'aiguilles par les trains eux-mêmes. Le moteur d'aiguille est relié à un petit boîtier qui contient un récepteur radio à 433 MHz et chaque train embarque un émetteur radio miniature à 433 MHz qui fonctionne en tout ou rien. Lorsque l'émetteur radio n'est pas alimenté, l'aiguille est en position directe. Lorsque l'émetteur est activé, le récepteur radio reçoit le signal et l'aiguille passe en position déviée. C'est le train lui-même qui commande l'aiguille et il n'y a donc pas besoin d'une liaison Bluetooth dédiée à la commande d'aiguille.

5.1 Boitier de commande des aiguilles et autres accessoires.

Pour la commande des moteurs d'aiguilles LGB, j'utilise un module L298 qui permet d'envoyer au moteur d'aiguille une impulsion positive ou négative d'amplitude 12V et de durée 500 ms. Un module L298 possède deux sorties et permet donc de commander deux aiguilles.

Le passage à niveau est commandé par 2 servos(un pour chaque barrière)

Le montage que j'ai réalisé permet de commander 4 aiguilles et un passage à niveau.

Le schéma réalisé est donné ci-dessous.



Il comprend:
- un module Bluetooth HC-05
- un module ARDUINO UNO
- deux modules L298 pour commander les moteurs d'aiguilles.
- un régulateur 6V 7806 pour alimenter les servos.

Les connexions entre les modules L298 et l'ARDUINO sont représentées sur le schéma.
Le signal de commande des servos est relié à la sortie 9 de l'ARDUINO.

Vous pouvez télécharger ce programme pour l'ARDUINO (commande_accessoires.zip) en cliquant
ici.

5.2 Commande d'une aiguille par le train

5.2.1 Emetteur 433 MHz à placer dans le train

Chaque train embarque un émetteur radio miniature à 433 MHz ref RF1000A de dimensions 20x18 mm et dont le prix est inférieur à 5 €.
Vous pouvez voir ci-dessous une photo de cet émetteur:



Les broches VCC et DATA sont à relier à une sortie numérique de l'ARDUINO (D8) et la broche GND est à relier à la broche GND de l'Arduino.
Lorsque la sortie D8 est à 5V, le module radio émet un signal à 433 MHz. Lorsque la sortie D8 est à zéro, le module n'émet pas.

5.2.2 Récepteur avec alimentation filaire en 12V

Le boitier de commande d'aiguille comprend:
- un module récepteur radio à 433 MHz
- un module ARDUINO UNO
- un module L298 pour commander le moteur d'aiguille.

Pour la réception, on peut utiliser n'importe quel module 433 MHz du commerce (fréquence 433,92 MHz) à condition qu'il dispose d'une sortie RSSI ( tension proportionnelle au niveau de réception). Cette sortie doit être reliée à une entrée analogique de l'Arduino, par exemple A0.
Un module qui peut convenir est le récepteur CY78 à superréaction 433,92 MHz qui est un module économique de la marque CY Wireless Technology Limited. Vous trouverez les caractéristiques de ce module en cliquant ici.

Personnellement, j'ai utilisé un module RX-FM de la marque AUREL que je possédais depuis longtemps mais qui n'est plus commercialisé.
Voici le schéma de ce module.


Les connexions à établir sont les suivantes:
broche 1 à relier à la broche 3,3V de l'Arduino
broche 2 à relier à la broche GND de l'Arduino
broche 3 à relier à une antenne
broche 10 à relier à la broche A0 de l'Arduino
En absence de signal reçu, la tension continue sur la broche 10 est de 1,2V.
Lorsqu'un signal à 433 MHz est reçu, la tension de sortie sur la broche 10 disponible sur l'entrée A0 de l'Arduino augmente et passe à 1,4V . Lorqu'elle dépasse un seuil (1,3V) , celà déclenche l'envoi d'une impulsion de durée 1 seconde au moteur de l'aiguille, ce qui passe l'aiguille en position déviée.

Les connexions au module L298 sont les suivantes:
- broche Vcc du module L298 reliée au +12V de l'alimentation
- broche GND du module L298 reliée à la masse de l'alimentation
- broche +5V du module L298 reliée à la broche +5V de l'Arduino
- broche IN1 du module L298 reliée à la broche D3 de l'Arduino
- broche IN2 du module L298 reliée à la broche D5 de l'Arduino
- broche OUT1 du module L298 reliée à l'une des bornes du moteur d'aiguille
- broche OUT2 du module L298 reliée à l'autre borne du moteur d'aiguille

Vous pouvez voir ci-dessous une photo du montage réalisé:



5.2.2 Récepteur avec l'énergie fournie par un panneau solaire.

Le montage est alimenté par un petit panneau solaire de dimensions 12x8 cm qui peut être plaçé sur le toit d'un batiment ou à côté (voir photo ci-dessous)



Ce panneau de la marque VisorTech fournit une tension de 6V avec un courant max de 2A. Cette tension peut alimenter un module Arduino mais n'est pas suffisante pour alimenter un moteur d'aiguille LGB. C'est pourquoi j'utilise un multiplicateur de tension acheté chez TEMU qui fournit à partir de la tension de 6V fournit une tension de 20V. La photo de ce composant qui coûte environ 3 € est donnée ci-dessous



Cette tension de 20V permet de commander l'aiguille LGB avec un circuit utilisant la décharge capacitive.

Pour la réception à 433 MHz, un récepteur CY78 a été utilisé dont la photo est donnée ci-dessous avec les connexions à réaliser.



Vous pouvez trouver une description de ce récepteur en cliquant ici.

Le schéma complet du dispositf réalisé est donné sur la figure ci-dessous:



La sortie 13 (RSSI) du récepteur radio CR78 est reliée à l'entrée A0 de l'Arduino Pro-Mini et la sortie 13 de l'Arduino est reliée à la bobine du relais qui commande l'aiguille LGB par décharge capacitive.
Lorsqu'un signal à 433 MHz est reçu, la tension sur sortie 13 du récepteur CR78 augmente et dépasse un seuil fixé. L'Arduino envoie alors une tension de 5V sur la sortie 13 reliée à la bobine du relais et l'aiguille LGB passe en position déviée.

La photo ci-dessous montre le dispositif réalisé.



Vous pouvez télécharger le programme pour l'ARDUINO ainsi que la liste des composants (ag_radio.zip) en cliquant ici.

6. Rétrosignalisation et commande automatique du réseau

6.1 Description du système

On a vu ci-dessus qu'il est possible de commander en Bluetooth une loco équipée d'un ARDUINO et d'un module Bluetooth. Mais il est possible de faire beaucoup plus.

Avec un smartphone ou une tablette ANDROID, il est possible de commander en automatique plusieurs trains ainsi que les accessoires (aiguilles, passage à niveau, etc...). En effet, un smartphone peut communiquer simultanément avec 6 modules Bluetooth différents. Il est ainsi théoriquement possible de commander 5 trains et les accessoires. Les trains peuvent être équipés de décodeurs DCC, mais ce n'est pas nécessaire.

Les locomotives sont identifiées par l'adresse MAC du module Bluetooth qui est différent pour chaque machine.

Ainsi, il est possible d'enregistrer un trajet en utilisant l'EEPROM de l'ARDUINO et de reproduire ensuite automatiquement ce trajet.Lors de l'enregistrement, lorsque l'octet de commande est envoyé à l'ARDUINO, cet octet est stocké dans l'EEPROM ainsi que la durée entre la commande reçue et la commande précédente. Pour chaque commande reçue, 2 octets sont enregistrés dans l'EEPROM (l'EEPROM peut contenir 1000 octets). Ensuite, en lisant les octets enregistrés dans l'EEPROM, il est possible de reproduire le trajet.

Le trajet doit évidemment être synchronisé pour que par exemple, les arrêts s'effectuent toujours au même endroit. C'est le rôle de la rétrosignalisation qui est réalisée en utilisant un ILS plaçé sous le wagon derrière la loco et des aimants plaçés entre les rails. L'ILS est relié à l'entrée A0 de l'ARDUINO comme montré sur le schéma ci-dessous:



En mode enregistrement, la fermeture de l'ILS est enregistrée (octet 200) dans l'EEPROM de l'ARDUINO ainsi que la durée entre la fermeture de l'ILS et la commande suivante.
C'est la tablette qui transmet en Bluetooth les ordres d'enregistrement (octet 124) et de lecture (octet 126) dans l'EEPROM de l'ARDUINO.
En mode enregistrement, les commandes d'accessoires sont transmises par la tablette en Bluetooth au module de commande d'accessoires et aussi à la loco qui les enregistre dans l'EEPROM de l'ARDUINO.
En mode automatique, les commandes d'accessoires sont lues dans l'EEPROM de l'ARDUINO et transmises à la tablette qui les retransmet au module de commande d'accessoires.

Le système est constituée des éléments suivants:
- un smartphone ou une tablette ANDROID dont l'application Bluetrain communique en Bluetooth avec les trains et avec le module de commande des accessoires
- des trains équipés chacun d'un module Bluetooth HC-05 et d'un module ARDUINO
- un module de commande des accessoires
- de plusieurs aimants fixés entre les rails.

Vous pouvez télécharger les programmes pour l'ARDUINO (arduino_bluetooth_retro.zip) en cliquant
ici.

On peut remplacer l'ILS par un capteur à effet Hall ST022 plaçé sous la locomotive ou sous le wagon qui contient les modules de commande. La photo ci-dessous montre le cablage entre le capteur et l'Arduino.



Sur la photo, la sortie du capteur est reliée à l'entrée A5 de l'Arduino, alors que dans mon programme de commande de loco, la sortie du capteur doit être reliée à l'entrée A0 de l'Arduino. (elle remplace l'ILS).
En l'absence de champ magnétique, la sortie du capteur est proche de 1023 alors qu'en présence d'un champ magnétique(passage au dessus d'un aimant) la tension est proche de Zéro et la diode du capteur s'allume.

6.2. Synchronisation des trajets.

Si plusieurs locos doivent circuler sur une même portion de voie (ce qui est le cas sur mon réseau de jardin), alors il est indispensable de synchroniser les trajets entre eux pour éviter des collisions.
Le trajet 1 effectué par la loco 1 est considéré comme le trajet maître. C'est la loco 1 qui donne l'ordre aux autres locos de démarrer.
Pour celà 3 octets sont utilisés:
202: ordre envoyé par le trajet 1 du départ du trajet 2
203: ordre envoyé par le trajet 1 du départ du trajet 3
204: ordre envoyé par le trajet 1 du départ du trajet 4
Lorsque l'octet 202 est lu par l'ARDUINO de la loco 1, celui ci envoie l'octet 202 à la tablette qui envoie l'octet 210 à la loco 2
Les autres trajets (2, 3 et 4) sont considérés comme esclave et utilisent l'octet 205 pour la synchronisation. Lorsque cet octet est lu par l'ARDUINO, l'ARDUINO attend la réception de l'octet 210 pour faire redémarrer la loco.

7. Application ANDROID BLUETRAIN

7.1 Présentation de l'application

Cette application appelée Bluetrain se connecte en Bluetooth à une locomotive et au module de commande des accessoires.

Cette application permet de commander les fonctions suivantes d'une locomotive:
marche avant, marche arrière
controle de la vitesse avec 20 crans
fonctions F0 à F8 (les fonctions F0 à F4 peuvent être personnalisées)

L'application permet aussi de commander les accessoires.

En outre, il est possible d'enregistrer des trajets et de les reproduire automatiquement.

J'ai réalisé cette application à l'aide du logiciel en ligne intitulé MIT App Inventor 2 que l'on peut trouver à l'adresse suivante:
http://ai2.appinventor.mit.edu/

Ce logiciel est très facile à utiliser et permet de créer une application ANDROID très rapidement sans connaître le language Java.

Vous pouvez voir ci-dessous une copie d'écran de la tablette.



7.2 Téléchargement de l'application Bluetrain

Vous pouvez télécharger cette application en cliquant ici.

Le dossier intitulé bluetrain_android.zip comprends:
- le fichier bluetrainv28.apk qui est l'application ANDROID à télécharger et installer sur le smartphone
- un dossier nommé bluetrain à télécharger sur le smartphone
- le fichier bluetrainv28.aia qui est le code source à ouvrir avec le logiciel MIT App Inventor 2 pour effectuer des modifications
- un mode d'emploi de l'application

7.3 Enregistrement d'un train

Mettre le module de commande du train à enregistrer sous tension. Le module Bluetooth HC-05 doit être allumé.
Après avoir allumé la tablette, il faut aller dans les paramètres de la tablette activer le bluetooth et se connecter au module HC-05 qui doit être sous tension. Le code à entrer est: 1234

Notez l'adresse MAC du module Bluetooth. L'adresse MAC est constituée d'une suite de 6 nombres séparés par des : (par exemple 20:15:07:06:49:01)

Puis lancer l'application Bluetrain et appuyez sur le bouton marqué Initialisation.
L'écran suivant apparait.


Entrer le nom de la loco à enregistrer
Puis appuyer sur le bouton marqué Adresse MAC.
Une liste d'adresses apparait. Appuyer sur l'adresse MAC que vous avez notée précédemment.
Ensuite vous pouvez entrer si vous le souhaitez des noms pour les fonctions F0 à F4 (par exemple Phares pour F0, Son pour F1, klaxon pour F2, etc...)
Puis appuyer sur le bouton valider. C'est terminé, la loco est enregistrée.

7.4 Enregistrement du module de commande des accessoires

Mettre le module de commande des accessoires sous tension. Le module Bluetooth HC-05 doit être allumé.
Après avoir allumé la tablette, il faut aller dans les paramètres de la tablette activer le bluetooth et se connecter au module HC-05 qui doit être sous tension. Le code à entrer est: 1234

Notez l'adresse MAC du module Bluetooth. L'adresse MAC est constituée d'une suite de 6 nombres séparés par des : (par exemple 20:15:07:06:49:01)

Puis lancer l'application Bluetrain et appuyez sur le bouton marqué Initialisation.
L'écran suivant apparait.


Appuyer sur le bouton marqué Adresse MAC à droite du label intitulé accessoires
Une liste d'adresses apparait. Appuyer sur l'adresse MAC que vous avez notée précédemment.
Puis appuyer sur le bouton valider. C'est terminé, le module de commande d'accessoires est enregistré.

7.5 Commande d'un train

Mettre le module de commande du train à commander sous tension. Le module Bluetooth HC-05 doit être allumé.
Allumez la tablette et lancez l'application Bluetrain.
L'écran ci-dessous doit s'afficher.



Appuyer sur le bouton marqué Choix de la loco. La liste des locos enregistrées s'affiche. Appuyer sur la loco qui est sous tension puis appuyer sur le bouton marqué Valider. La couleur du bouton Valider doit passer au vert, ce qui indique que la tablette est connectée au train en Bluetooth.
Vous pouvez alors piloter la loco en utilisant les boutons et le slider pour régler la vitesse.
Si vous souhaitez commander en même temps des accessoires (aiguilles, passage à niveau), il faut mettre sous tension le module de commande des accessoires, puis appuyer sur le bouton intitulé Accessoires. La couleur de ce bouton passe au vert lorsque la tablette est connectée au module de commande des accessoires.
Vous pouvez alors commander un accessoire en appuyant sur le bouton correspondant à cet accessoire.
Lorsque vous avez terminé la commande du train, appuyer sur le bouton intitulé Déconnexion, ce qui ferme l'application, puis mettre la loco hors tension ainsi que le module de commande des accessoires.

7.6 Enregistrement du trajet et commande automatique

Il est possible d'enregistrer le trajet effectué par un train et de le reproduire ensuite automatiquement.
Si le train est équipé d'ILS pour la rétrosignalisation, l'application Bluetrain enregistrera les passages sur les aimants, ce qui permettra de synchroniser le trajet.
Pour enregistrer un trajet, il suffit d'appuyer sur le bouton intitulé ENR après avoir connecté la tablette au train. Le bouton ENR devient jaune. Lorsque le trajet est terminé, appuyer de nouveau sur le bouton ENR qui doit devenir blanc. L'enregistrement est terminé.
Pour effectuer le trajet en automatique, il suffit d'appuyer sur le bouton intitulé PLAY. Le bouton passe au jaune et le trajet démarre.

8. Régulateur Bluetooth

Ce petit boitier permet de piloter un train en Bluetooth. Il remplace alors le smartphone ou la tablette. Le principal intérêt est de pouvoir l'utiliser en plein soleil quand l'écran d'un smartphone est difficile à lire. De plus, il démarre plus vite qu'un smartphone.

Ce boitier, alimenté par une pile 9V, utilise un ARDUINO NANO et un module Bluetooth HC-05 configuré en mode maître (alors que les modules HC-05 installés dans les trains sont en mode esclave).
Ce régulateur simplifié permet de régler la vitesse en marche avant ou arrière avec un potentiomètre. De plus, il permet de commander 4 fonctions ( F0 à F4).
Le schéma de principe est donné sur la figure ci-dessous.



I1 est l'interrupteur de mise sous tension.
I2 est un interrupteur qui commande le sens de marche
P1 à P4 sont des boutons poussoirs qui commandent les fonctions F0 à F3.
Le potentiomètre qui commande la vitesse a pour valeur 10 KOhms.
Les résistances R1 à R4 ont pour valeur 10 KOhms.

Vous pouvez voir ci-dessous une photo du boitier régulateur.



Le programme ARDUINO ne présente aucune difficulté particulière.
Vous pouvez le télécharger en cliquant
ici.

La mise en route est très simple. Il faut mettre sous tension le train à piloter, puis mettre sous tension le régulateur qui se connecte alors automatiquent en Bluetooth au train sous tension.

La principale difficulté est de configurer le module HC_05 en mode maître.

Voici la procédure à suivre.
Tout d'abord, il faut connecter le module HC-05 à l'ARDUINO. La broche RX du module doit être connectée à la broche 11 de l'ARDUINO et la broche TX du module HC-05 doit être connectée à la broche 10 de l'ARDUINO.
Puis charger sur l'ARDUINO le programme hc05_maitre qui permet d'envoyer les commandes AT pour configurer le module HC-05 en mode maître. Vous pouvez télécharger ce programme en cliquant ici.

Débrancher le module HC-05, appuyer sur le bouton situé sur le module, rebrancher le module et relacher le bouton.
La diode du module HC-05 doit clignoter lentement, ce qui indique que le module est prêt à recevoir les commandes AT
Taper dans la console AT puis envoyer. Le module doit répondre OK
Taper AT+ROLE=1 ceci passe le module en maître
Taper AT+CMODE=1 ceci permet au module de se connecter automatiquement à un autre module Bluetooth.
Débrancher le module et le rebrancher. C'est terminé.
Vous pouvez alors télécharger dans l'ARDUINO le programme qui communique avec l'autre module HC-05 en mode 'esclave.

9. Vidéo

Cette petite vidéo tournée en juin 2017 montre 2 locos vapeur (030T Corpet et Mallet) ainsi qu'un autorail De Dion en circulation automatique sur le réseau avec pilotage en Bluetooth par le système Bluetrain.
Chaque machine est équipée d'un décodeur sonore DCC Loksound XL et les équipements plaçés dans un wagon attelé à la machine sont les suivants:
- 2 batteries Li-On de 7,6 V
- un module ARDUINO Pro-Mini
- un module Bluetooth HC-05
- un module LMD 18200



10. Insertion d'un fumigène

Quelques modèles de fumigènes disponibles dans le commerce sont décrits dans la page web consacrée aux fumigènes.
Pour mes trains de jardin, j'ai utilisé trois types de fumigènes qui sont commandés par un Arduino:
- un fumigène classique de type SEUTHE
- un fumigène pulsé ESU
- un fumigène pulsé HOOBEN

Tous ces fumigènes consomment beaucoup de courant (entre 0.6 et 1 A) et ils ne peuvent pas être alimentés par une sortie AUX d'un décodeur DCC. Ils sont directement reliés à l'alimentation par l'intermédiaire d'un relais dont la bobine est reliée à une sortie de l'Arduino.

10.1 fumigène classique de type SEUTHE

J'ai utilisé le modèle Seuthe Nr. 117 qui doit être alimenté entre 16 et 18V. Il a été inséré dans ma locomotive LGB Corprt Louvet CDN N°30. Ce fumigène est directement connecté en sortie des batteries par l'intermédiaire d'un relais dont la bobine est reliée à une sortie numérique D9 de l'Arduino.

11.2 fumigène pulsé ESU 54768



Ce fumigène a été installé dans
ma loco vapeur LGB 031T. La carte électronique du fumigène a été supprimée afin d'accéder directement à l'élément chauffant qui est alimenté sous 12 Volts ( consommation de 0,7 A environ) et au moteur du ventilateur qui est alimenté sous 5V directement par la sortie D9 de l'Arduino.

10.2 fumigène pulsé HOOBEN

HOOBEN est un fabricant de chars d'assaut miniatures au 1/10 ème. Cette marque vend un fumigène pulsé pour ses chars à un prix très raisonnable. Le fumigène est vendu 28 dollars sur le site de HOOBEN mais on peut le trouver encore moins cher sur Amazon ou eBay. Les dimensions sont les suivantes: longueur 60 mm, largeur: 50 mm, hauteur: 30 mm.



Ce fumigène a été installé dans un petit locotracteur LGB rouge D10. Le fumigène possède un moteur qui fait fonctionner une pompe qui propulse la fumée à l'extérieur. Le fumigène consomme presque 1A et il faut le connecter directement à la batterie par l'intermédiaire d'un relais dont la bobine est alimentée par la sortie D9 de l'Arduino. Vu la consommation, il faut utiliser ce fumigène avec parcimonie pour prolonger l'autonomie de la batterie.



Retour page d'accueil