Commande d'une centrale LENZ en Bluetooth par un smartphone ou une tablette


Il est possible de piloter une centrale LENZ en Bluetooth par un smartphone ou une tablette sous ANDROID.

Le smartphone peut être utilisé comme une simple commande sans fil, mais il peut aussi commander un ou plusieurs trains en automatique avec un système de rétrosignalisation.

1. Module d'interface avec la centrale LENZ

Connecter un Arduino à une centrale LENZ en XpressNet est assez compliqué. Le protocole XpressNet est basé sur une liaison RS485, sur du câble téléphonique à 6 fils (RJ12). De plus, XpressNet est un protocole série 9 bits a 62.5 kbit/s. Le SDK Standard d’Arduino ne propose pas de bibliothèque série 9 bits. Cependant quelqu’un l’a fait sur un Arduino mega 2560 Vous trouverez une description de ce système en cliquant ici.

Une approche plus simple consiste à utiliser un module LENZ LI101F et à relier un ARDUINO UNO au connecteur série du module LI101F.
Le module utilise un protocole à 8 bits connu de l'ARDUINO. Le débit est de 19200 bauds.
Malheureusement, le module LI101F n'est plus commercialisé et il est de plus en plus difficile d'en trouver d'occasion.

1.1 Interface avec LI101F et ARDUINO UNO

1.1.1 Description du montage

Le montage réalisé utilise les composants suivants:
- un module LENZ LI101F qui se connecte en XpressNet à la centrale LENZ LZV100
- un module ARDUINO UNO
- un module Bluetooth HC-05 ou HC-06
- un circuit inégré CD 4011
- une alimentation qui délivre une tension de 9 à 12 Volts

Le schéma est donné sur la figure ci-dessous.



Voici une photo des composants installés dans un boîtier.



1.1.2 Programme ARDUINO

La liaison série entre l'ARDUINO et le module Bluetooth s'effectue à 9600 bits/s alors que la liaison série entre l'ARDUINO et le module LENZ LI101F s'effectue à 19200 bits/s.
Il est donc nécessaire d'utiliser deux liaisons série et pour celà on utilise la librairie SoftwareSerial qu'il faut déclarer en début de programme par les instructions:
#include
SoftwareSerial Serial2(10, 11);
La broche 10 correspond à RX et la broche 11 correspond à TX (c'est la broche utilisée par l'ARDUINO pour transmettre les données au module LENZ LI101F.

Les données échangées entre l'ARDUINO et le module LI 101F sont conformes à la norme XPRESSNET et sont constituées d'une suite de 6 octets. Le premier octet a pour valeur 228. Les octets 2 à 5 ont les valeurs indiquées dans le tableau ci-dessous.



L'octet 6 est un octet de controle obtenu en faisant un OU Exclusif des octets précédents.

Les octets 3 et 4 transmettent l'adresse et les valeurs AH et AL sont données par les relations suivantes:
Si l'adresse est inférieure à 100, alors AH=0 et AL=adresse
Si l'adresse est supérieure ou égale à 100 alors:
AH = int(adresse/256) + 192
AL = adresse - int(adresse/256) X 256
Pour la commande des fonctions les valeurs FG1 et FG2 sont données par les relations suivantes:
FG1 = F1 + 2 x F2 + 4 X F3 + 8 X F4 + 16 X F0
FG2 = F5 + 2 X F6 + 4 X F7 + 8 X F8

Le smartphone ou la tablette envoie à l'ARDUINO en Bluetooth une suite de 4 octets qui sont donnés dans le tableau ci-dessous



Vous pouvez télécharger ce programme en cliquant ici.



1.2 Interface avec ARDUINO MEGA 2560

1.2.1 Description du montage

Le montage à réaliser est constitué de trois éléments:
- une carte d'interface entre l'ARDUINO et le connecteur XpressNet soit à base d'un circuit MAX 485 soit un convertisseur TTL/RS485
- un module ARDUINO MEGA 2560
- un module Bluetooth HC-05

Pour raccorder la centrale LENZ LZV100 à ce module, j'utilise un adaptateur LA 152 et un cable RJ12 vendu comme rallonge de téléphone. Le module LENZ LA152 possède une prise RJ12 où l'on peut raccorder ce câble.
Les connexions à réaliser sur le cable RJ12 pour le connecter à l'XpressNet sont données sur le schéma ci-dessous:



1.2.1.1 Schéma avec un circuit MAX 485

Le shéma de la carte d'interface entre l'ARDUINO et le connecteur XpressNet est donné ci-dessous:



Les pattes du circuit intégé MAX 485 sont à relier aux éléments suivants:
1: broche RX1 de l'ARDUINO
2: broche 5 de l'ARDUINO
3: broche 5 de l'ARDUINO
4: broche TX1 de l'ARDUINO
5: masse de l'ARDUINO et du connecteur XpressNet
6: entrée A du connecteur XprssNet (broche 4)
7: entrée B du connecteur XprssNet (broche 3)
8: broche +5V de l'ARDUINO

Il faut placer une résistance de 1,5 K entre le +5V et la broche 6 et une autre résistance de 1,5 K entre la broche 7 et la masse.

Le module Bluetooth HC-05 est à relier à l'ARDUINO comme suit:
Broche Vcc à relier au +5V de l'ARDUINO
Broche TX à relier à la broche RX2 de l'ARDUINO
Broche RX à relier à la broche TX2 de l'ARDUINO
broche GND(masse) à relier à une broche GND de l'ARDUINO

Voici une photo des composants installés dans un boîtier.



Et voici une photo du boitier.



1.2.1.2 Schéma avec un circuit convertisseur TTL/RS485

Cette solution est plus simple à mettre en oeuvre que la précédente car il n'y a pas de circuit imprimé à cabler. Il suffit d'acheter un petit circuit convertisseur TTL/RS485 que l'on peut trouver chez Robot-Maker au prix de 4,20 €. On peut voir ci-dessous une photo de ce module.



Le schéma montrant les connexions entre l'Arduino Mega, le module TTL/RS485 et le module Bluetooth HC-05 est donné ci-dessous:



Voici les branchements à réaliser entre le connecteur RJ12 , le module TTL/RS485 et l'Arduino Mega:
Masse du connecteur RJ12 sur borne GND du module
+12V du connecteur RJ12 sur borne VIN de l’arduino mega
Fils de données A et B du connecteur branchés sur le bornier vert à vis en A et B
Borne RO du module connectée à la pin 19 (RX1) de l’Arduino
Borne DI du module connectée à la pin 18 (TX1) de l’Arduino
Bornes DE et RE reliées ensemble vers la pin 5 de l’Arduino

Le module Bluetooth HC-05 est à relier à l'ARDUINO comme suit:
Broche Vcc à relier au +5V de l'ARDUINO
Broche TX à relier à la broche RX2 de l'ARDUINO
Broche RX à relier à la broche TX2 de l'ARDUINO
broche GND(masse) à relier à une broche GND de l'ARDUINO

Et voici deux photos qui montrent le boîtier et les composants à l'intérieur du boîtier.





1.2.2 Le programme ARDUINO


Pour pouvoir communiquer avec l'ARDUINO, il faut installer la librairie Xpressnet.
Cette librairie permet de commander une locomotive ainsi que les accessoires.
Il y a trois instructions à utiliser.

Commande loco: vitesse et sens de marche
XpressNet.setLocoDrive (Adr_High, Adr_Low, Steps, Speed);
Steps=0 ==> 14 crans de vitesse
Steps=1 ==> 27 crans de vitesse
Steps=2 ==> 28 crans de vitesse
Steps=3 ==> 128 crans de vitesse
MAV Speed=vitesse + 128
MAR Speed=vitesse

Commande loco: fonctions
XpressNet.setLocoFunc (Adr_High, Adr_Low, val, fkt);
val=0 ==> fonction off
val=1 ==> fonction on
fkt= numéro de la fonction (entre 0 et 28)

commande des aiguilles
XpressNet.setTrntPos (AdresDccH, AdresDccB, pos);
AdresDccH=0
AdresDccB = numag - 1 (numag est l'adresse de l'aiguillage)
pos = 8 ==> aiguille direct
pos = 9 ==> aiguille déviée

Chaque commande envoyée par le smartphone est constituée d'une suite de 4 octets transmis par le module Bluetooth à l'ARDUINO:

Commande de vitesse et sens de marche
octet1= Adresse_High
octet2= Adresse_Low
octet3= 10+bl
avec bl=0 ==> 14 crans de vitesse
bl=1 ==> 27 crans de vitesse
bl=2 ==> 28 crans de vitesse
bl=3 ==> 128 crans de vitesse
octet4=vitesse si MAR
octet4=vitesse+128 si MAV

Commande de fonction
octet1=Adresse_High
octet2= Adresse_Low
octet3=0 ==> fonction off
octet3=1 ==> fonction on
octet4= numéro de fonction entre 0 et 28

Commande d'accessoires
octet1=0
octet2=numag-1
octet3=22
octet4=8 ==> aiguille direct
octet4=9 ==> aiguille déviée

Calcul de Adresse_High et Adresse_Low
Si l'adresse est <= 100 alors:
Adresse_High = 0
Adresse_Low = adresse
Si l'adresse est > 100 alors:
b=partie entière (adresse/256)
Adresse_High = 192 + b
Adresse_Low = adresse - b x 256

Vous pouvez télécharger le dossier intitulé bluelenz_arduino qui contient le programme pour l'ARDUINO MEGA 2560 ainsi que la librairie XpressNet en cliquant ici.

2. Application ANDROID BLUELENZ

2.1 Présentation de l'application

Cette application appelée BLUELENZ se connecte en Bluetooth à la centrale LENZ. Elle peut aussi se connecter à un ou deux modules de rétrosignalisation, mais ce n'est pas obligatoire. On peut utiliser l'application sans la rétrosignalisation

Elle exécute les actions suivantes:
- commande manuelle d'un train et des accessoires
- commande manuelle d'un train et des accessoires avec enregistrement du trajet, y compris le passage dans les cantons
- reproduction automatique du trajet enregistré
- sonorisation du réseau avec des enceintes Bluetooth
- commande automatique de trois trains simultanément (avec la rétrosignalisation)

Cette application permet la commande manuelle ou automatique d'une loco avec les caractéristiques suivantes
- adresse entre 3 et 9999
- marche avant, marche arrière
- controle de la vitesse avec 28 crans
- fonctions F0 à F16 (les fonctions F0 à F8 sont personnalisables)

Il est aussi possible de piloter la loco en utilisant l'inclinomètre du smartphone. On penche le smartphone à droite et la loco avance, on penche le smartphone à gauche et la loco recule.

De plus, le trajet peut être enregistré et reproduit ensuite automatiquement.

L'application permet aussi de commander 16 accessoires et d'assurer la sonorisation du réseau par des enceintes Bluetooth.

Les caractéristiques des trains sont stockés dans des fichiers .txt.
Les trajets sont écrits dans des tableaux CSV. Le format CSV est un format de texte simple qui est largement utilisé. Les tableaux CSV sont créés automatiquement par l'application en mode "enregistrement" mais il est tout à fait possible de les modifier par la suite..

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 langage Java.

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



2.2. Téléchargement de l'application BLUELENZ

Il y a deux versions de l'application en fonction du module d'interface avec la centrale LENZ.

L'application BLUELENZ V2 doit être utilisée avec l'interface avec LI101F et ARDUINO UNO.
Cette application est compatble avec pratiquement toutes les versions d'Android depuis la version2.
Vous pouvez télécharger cette application en cliquant ici.

L'application BLUELENZ V11 doit être utilisée avec l'interface avec l'ARDUINO MEGA.
Cette application est compatble avec les versions d'Android supérieures à 5.
Vous pouvez télécharger cette application en cliquant ici.

Dans chaque dossier on trouve l'application avec l'extension .apk à installer sur le smartphone ou la tablette ainsi qu'un fichier avec l'extension .aia qui est le code source à ouvrir avec APP INVENTOR si vous souhaitez modifier l'application.

2.3 Création des fichiers de stockage des paramètres

Lorsque l'on lance l'application pour la première fois, des messages d'erreur s'affichent à l'écran (Error 2101 The file adlenz.txt could not to be found). C'est normal. Il faut alors appuyer sur le bouton "INIT". Celà ouvre un autre écran intitulé "INITIALISATION". Appuyer sur le bouton intitulé "Création des fichiers" pour créer les fichiers nécessaires au stockage des paramètres. Puis appuyer sur le bouton Déconnexion.
Lorsqu'on relance l'application, il n'y aura plus de message d'erreur.

2.4 Enregistrement et modification des paramètres d'une loco (nom, adresse, fonctions, vitesse)

Lancer l'application BLUELENZ et appuyez sur le bouton marqué INIT.
L'écran suivant apparait.


Cliquer sur le bouton "ajout d'une loco".
L'écran suivant apparait.


Entrer le nom et l'adresse de la loco à enregistrer
Ensuite vous pouvez entrer si vous le souhaitez des noms pour les fonctions F0 à F8 (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.

Pour modifier les paramètres d'une loco déjà entregistrée, il faut lancer l'application BLUELENZ et appuyez sur le bouton marqué INIT, puis appuyer sur le bouton intitulé "Modification d'une loco".

2.5 Enregistrement de l'adresse MAC du module d'interface avec la centrale LENZ

Avant de pouvoir utiliser l'application BLUELENZ, il faut enregistrer l'adresse MAC du module d'interface avec la centrale LENZ.

Voici la procédure à suivre.
Mettre sous tension le module d'interface avec la centrale LENZ et allumer le smartphone ou la tablette.
Puis il faut aller dans les paramètres de la tablette activer le bluetooth et se connecter au module HC-05 du module d'interface. Le code à entrer est: 1234.
Noter l'adresse MAC du module. L'adresse MAC est constituée d'une suite de 6 nombres (par exemple 20:15:07:06:49:01)

Lancer l'application BLUELENZ et appuyer sur le bouton INIT.
L'écran intitulé "INITIALISATION" s'ouvre.
Apuuyer alors sur le bouton intitulé "Enregistrement des adresses MAC".
L'écran suivant doit s'afficher



Appuyer sur le bouton intitulé Choix de l'adresse à droite de l'intitulé Module LENZ. Appuyer sur l'adresse MAC du module puis appuyer sur le bouton valider. L'adresse MAC est alors stockée dans le fichier adlenz.txt.

2.6 Commande d'un train

Mettre sous tension la centrale LENZ et le module d'interface avec la centrale LENZ.
Allumez la tablette et lancez l'application BLUELENZ.
L'écran ci-dessous doit s'afficher.



Appuyer sur le bouton marqué LENZ à droite de connexion. Le bouton passe au vert, ce qui indique que la connexion est effectuée.
Puis appuyer sur le bouton marqué Adresse.
La liste des locos enregistrées s'affiche. Appuyer sur la loco choisie puis appuyer sur le bouton marqué Valider.

Vous pouvez alors piloter la loco en utilisant les différents boutons (MAV, MAR, vitesse, fonctions)
On peut commander aussi les accessoires en appuyant sur le bouton du numéro de l'accessoire à droite de ACC.

2.7 Enregistrement et reproduction du trajet

Il est possible d'enregistrer le trajet effectué par un train et de le reproduire ensuite automatiquement.
Pour enregistrer un trajet, il suffit d'appuyer sur le bouton intitulé ENR aprés avoir choisi la loco à faire circuler. 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 enregistré démarre.
Il est fortement recommandé d'utiliser un système de rétrosignalisation pour synchroniser le trajet.

2.8 Commande automatique d'un train avec rétrosignalisation nomade

Même si le réseau n'est pas équipé pour la rétrosignalisation (avec découpe en cantons), il est quand même possible de faire circuler un ou deux trains en automatique en utilisant un système de rétrosignalisation nomade. Ce système consiste à installer dans un wagon un émetteur/récepteur à ultra sons connecté à un ARDUINO et à un module Bluetooth. Il suffit de positionner ce wagon sur une voie de garage parallèle à la voie où circule le train en automatique. Lorsque le train passe en face du wagon équipé de l'émetteur/récepteur à ultra sons, le wagon transmet à la tablette en Bluetooth un octet qui indique le passage du train, ce qui suffit à synchroniser le trajet effectué en automatique.

Les composants installés dans le wagon sont les suivants:
- une batterie Li-On de 8 volts
- un interrupteur
- un module à ultra-sons HC-SR04
- un module ARDUINO (UNO, NANO ou Pro-Mini)
- un module Bluetooth HC-05

La batterie est connectée à l'ARDUINO comme suit:
Pôle moins à la broche GND
Pôle plus à la broche Vin

Le module à ultra-sons HC-SR04 est connecté à l'ARDUINO comme suit:
broche Vcc à la broche +5V
broche GND à la broche GND
broche Trig à la broche 8
broche Echo à la broche 9

Le module Bluetooth HC-05 est connecté à l'ARDUINO comme suit:
broche Vcc à la broche +5V
broche GND à la broche GND
broche TXD à la broche RX
broche RXD à la broche TX

La photo ci-dessous montre les composants installés dans le wagon.



Et cette photo montre le module à ultra-sons dans le wagon.



Avant de pouvoir utiliser l'application BLUELENZ, il faut enregistrer l'adresse MAC du module Bluetooth HC-05. La procédure est décrite dans le paragraphe 3.3 ci-dessous.

Vous pouvez télécharger le programme pour l'ARDUINO en cliquant ici.

3. Rétrosignalisation et commande automatique des trains

3.1 Généralités

Il est possible de commander un train en automatique avec un smartphone ou une tablette, ce qui permet de se passer d'un ordinateur.

Pour faire une commande automatique d'un train, il est nécessaire de connaître sa position sur le réseau. Pour celà, le réseau doit être divisé en cantons associés à des détecteurs d'occupation LENZ LB101 qui envoient un signal lorsque le canton est occupé par un train.

Dans cette configuration, les détecteurs d'occupation LENZ LB101 sont reliés à un module qui communique en Bluetooth avec le smartphone ou la tablette.
L'application ANDROID BLUELENZ communique en Bluetooth en même temps avec la centrale LENZ et avec le ou les modules de rétrosignalisation.

Avec le smartphone, on fait circuler un train en manuel en enregistrant le trajet ainsi que les passages dans les cantons équipés de détecteurs d'occupation. Ensuite, on peut reproduire automatiquement le trajet enregistré. La procédure est très simple.

3.2 Module de rétrosignalisation

La sortie de chaque détecteur d'occupation LB101 est relié à une entrée numérique de l'ARDUINO. Avec un ARDUINO UNO, il est possible de connecter 12 détecteurs d'occupation (sur les entrées 2 à 13 de l'ARDUINO) , soit 6 modules LENZ LB101. L'ARDUINO communique avec le smartphone en Bluetooth avec un module HC-05.
Le schéma du module (pour 4 détecteurs) qui doit être alimenté en 12 Volts est le suivant.



Lorsque l'état d'un détecteur change, un octet est envoyé par l'ARDUINO au smartphone.
Si N est le numéro du détecteur (N est compris entre 1 et 12), l'ARDUINO envoie la valeur N si le canton est occupé et N + 100 si le canton est libéré.

Vous pouvez télécharger le programme pour l'ARDUINO en cliquant ici.



3.3 Enregistrement des adresses MAC des modules de rétrosignalisation

Avant de pouvoir utiliser l'application BLUELENZ, il faut enregistrer les adresses MAC du ou des modules de rétrosignalisation.

Voici la procédure à suivre.
Mettre sous tension le module d'interface avec la centrale LENZ et allumer le smartphone ou la tablette.
Puis il faut aller dans les paramètres de la tablette activer le bluetooth et se connecter au module HC-05 du module d'interface. Le code à entrer est: 1234.
Noter l'adresse MAC du module. L'adresse MAC est constituée d'une suite de 6 nombres (par exemple 20:15:07:06:49:01)

Lancer l'application BLUELENZ et appuyer sur le bouton INIT.
L'écran intitulé "INITIALISATION" s'ouvre.
Apuuyer alors sur le bouton intitulé "Enregistrement des adresses MAC".
L'écran suivant doit s'afficher



Appuyer sur le bouton intitulé Choix de l'adresse à droite de l'intitulé Module RETRO 1. Appuyer sur l'adresse MAC du module puis appuyer sur le bouton valider. L'adresse MAC est alors stockée dans le fichier retro1.txt.

Il faut refaire la même procédure pour enregistrer le deuxième module de rétrosignalisation.

3.4 Commande d'un train

Mettre sous tension la centrale LENZ, le module d'interface avec la centrale LENZ et le ou les modules de rétrosignalisation.
Allumez la tablette et lancez l'application BLUELENZ.
L'écran ci-dessous doit s'afficher.



Appuyer sur le bouton marqué LENZ à droite de connexion. Le bouton passe au vert, ce qui indique que la connexion est effectuée.
Puis appuyer sur le bouton marqué RETRO 1 à droite de connexion pour connecter le premier module de rétrosignalisation. Le bouton passe au vert, ce qui indique que la connexion est effectuée.
Si un deuxième module de rétrosignalisation est utilisé, appuyer sur le bouton marqué RETRO 2 à droite de connexion pour connecter le deuxième module de rétrosignalisation. Le bouton passe au vert, ce qui indique que la connexion est effectuée.

Puis appuyer sur le bouton marqué Adresse.
La liste des locos enregistrées s'affiche. Appuyer sur la loco choisie puis appuyer sur le bouton marqué Valider.

Vous pouvez alors piloter la loco en utilisant les différents boutons (MAV, MAR, vitesse, fonctions)
On peut commander aussi les accessoires en appuyant sur le bouton du numéro de l'accessoire à droite de ACC.

3.5 Enregistrement et reproduction du trajet

Il est possible d'enregistrer le trajet effectué par un train ainsi que les passages dans les cantons et les commandes d'aiguilles et de le reproduire ensuite automatiquement.
Pour enregistrer un trajet, il suffit d'appuyer sur le bouton intitulé ENR aprés avoir choisi la loco à faire circuler. 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 enregistré démarre.

3.6 Stockage d'un trajet enregistré

Il est possible de stocker un trajet enregistré en lui donnant un nom pour l'utiliser ensuite en mode automatique avec d'autres trajets.

Pour celà, lorsque le trajet est enregistré, appuyer sur le bouton intitulé TRANSFERT. L'écran suivant s'affiche.



Donnez un nom au trajet enregistré, puis appuyer sur le bouton intitulé Création du trajet.
Le trajet est enregistré dans le sous dossier nommé trajets du dossier bluelenz.

3.7 Sonorisation du réseau

Il est possible de sonoriser le réseau en utilisant des enceintes Bluetooth que l'on peut dissimuler dans un batiment (une gare par exemple) ou sous le réseau. On peut ainsi générer des annonces en gare (départ et arrivée des trains), la sonnerie d'un passage à niveau, etc...

Pour l'instant, l'application BLUELENZ ne permet de communiquer qu'avec une seule enceinte Bluetooth.

Pour générer une annonce en gare, il faut appuyer sur le bouton intitulé HP qui se trouve dans le tableau des fonctions. Ce bouton permet de choisir une parmi deux annonces possibles. Si le bouton ENR est activé, cette annonce sera enregistrée pour être ensuite reproduite automatiquement lors de l'exécution automatique du trajet.

Voici une photo de l'enceinte Bluetooth que je place dans une gare.



3.8 Mode automatique

Ce mode permet de faire circuler un à trois trains en mode automatique. Trois trajets enregistrés précédemment peuvent être exécutés simultanément.

Pour celà, il faut lancer l'application BLUELENZ et dans l'écran qui s'affiche, appuyer sur le bouton intitulé Mode auto. L'écran suivant doit s'afficher.



Après s'être connecté au module d'interface LENZ et aux modules de rétrosignalisation, il faut choisir le nombre de trajets à exécuter (1 à 3) puis choisir les trajets à exécuter.
Enfin, appuyer sur le bouton intitulé Départ des trajets.
Pour arrêter, appuyer sur le bouton intitulé Arrêt des trajets puis sur Déconnexion.

4. Régulateur Bluetooth

Si vous êtes allergique au smartphone ou à la tablette, 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.

4.1 Description

Ce boitier, alimenté par une pile 9V, utilise les composants suivants:
- un module ARDUINO (UNO, NANO ou ProMini)
- un module Bluetooth HC-05 configuré en mode maître (alors que le module HC-05 installé dans l'interface LENZ est en mode esclave).
- un afficheur 4 digits qui sert à afficher l'adresse de la locomotive ou de l'accessoire sélectionné
- un clavier à membrane de 16 touches qui sert à commander les fonctions et à entrer l'adresse de la locomotive ou de l'accessoire à commander
- un potentiomètre qui sert à commander la vitesse
- un interrupteur qui sert à commander le sens de marche
- un interrupteur pour la mise en marche

Les fonctions disponibles avec cette manette sont les suivantes:
- adresse d'une loco entre 1 et 9999
- vitesse en MAV et MAR avec 28 crans de vitesse
- fonctions F0 à F8
- commande de 8 accessoires
- mise en mémoire des adresses des locos

Les connexions entre l'ARDUINO et les autres composants sont les suivantes:
Le clavier à membrane est connecté sur les 8 entrées digitales successives de la carte Arduino Uno de D9 à D2
pin1 --> D9
pin 2--> D8
pin 3--> D7
pin 4--> D6
pin 5--> D5
pin 6--> D4
pin 7--> D3
pin 8--> D2
Le module Bluetooth HC-05 est relié à l'ARDUINO comme suit:
VCC --> +5V
GND --> GND
TXD --> D10
RXD --> D11
STATE --> A2
L'afficheur est relié à l'ARDUINO comme suit:
VCC --> +5V
GND --> GND
DIO --> pin 12
CLK --> pin 13
Le potentiomètre de 10K lin est relié à l'ARDUINO comme suit:
broche 1 --> +5V
broche 2 (point milieu) --> A0
broche 3 --> GND
L'interrupteur qui sert à commander le sens de marche est relié à l'ARDUINO comme indiqué sur le schéma ci-dessous:



4.2 Configuration du module Bluetooth 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.

Le moniteur série doit être configuré avec les paramètres suivants:
- débit: 38400 bauds
- fin de ligne: NL et CR

Débrancher le fil d'alimentation (5V) du module HC-05, appuyer sur le bouton situé sur le module, rebrancher le fil d'alimentation 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 (pour le repasser en mode esclave taper AT+ROLE=0)
Taper AT+CMODE=1 ceci permet au module de se connecter automatiquement à un autre module Bluetooth HC-05 configuré en esclave.
Si vous souhaitez que le module maître ne se connecte qu'à un seul module esclave, alors il faut taper la commande suivante:
AT+BIND=xxxx,xx,xxxxxx (par exemple,si l'adresse MAC du module esclave est 20:16:01:26:15:11, il faut taper AT+BIND=2016,01,261511).

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.

4.3 Téléchargement du programme pour l'ARDUINO

Vous pouvez télécharger un dossier intitulé regulateur_bluetooth_lenz.zip en cliquant ici.

Ce dossier comprend:
- le progamme pour l'ARDUINO intitulé regulateur_bluetooth.
- deux dossiers intitulés Keypad et TM1637Display à placer dans le dossier libraries du logiciel ARDUINO.

4.4 Photos

Voici une photo des composants reliés à un ARDUINO UNO avant installation dans le boîtier.



Et voici une photo du régulateur avec les composants installés dans un boîtier.



4.5 Mode d'emploi du régulateur

L'afficheur clignote lorsque la connexion Bluetooth n'est pas établie et s'arrête de clignoter lorsque la connexion est établie.

Entrée d'une adresse loco:
Appuyer sur A puis taper l'adresse de la loco et appuyer sur B L'afficheur indique l'adresse de la loco.
Faire avancer ou reculer la loco avec le potentiomètre et l'interrupteur de sens de marche
Pour activer ou désactiver les fonctions F0 à F8, appuyer sur la touche correspondant au N° de la fonction.

Commande des accessoires 1 à 8.
Taper * puis le numéro de l'accessoire à commander et appuyer sur B. Le numéro de l'accessoire doit s'afficher.
Taper sur les touches 1 ou 3 pour commander l'accessoire
Appuyer sur # pour revenir à la commande loco.

Mise en mémoire
Appuyer sur C pour mettre en mémoire l'adresse d'une nouvelle loco
Appuyer sur D pour faire défiler les adresses mises en mémoire.

Page suivante


Page précédente


Retour page d'accueil