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

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



2. Application ANDROID BLUELENZ V1

Cette application appelée BLUELENZ V1 est un petit régulateur DCC qui se connecte à l'ARDUINO en Bluetooth par l'intermédiaire d'un module HC-05 ou HC-06. Vous pouvez voir ci-dessous une copie d'écran de la tablette.


Cette application très simple à réaliser permet de piloter une loco avec les caractéristiques suivantes:
adresse comprise entre 3 et 9999
marche avant et arrière
vitesse entre 0 et 28
fonctions F0 à F8
L'application permet aussi de commander des accessoires d'adresses comprises entre 1 et 99

Avant de lancer l'application, 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.
Ensuite, on peut lancer l'application BLUELENZV1. Pour l'utiliser, il suffit de cliquer sur le bouton intitulé "Connexion ARDUINO" et de choisir dans la liste des éléments qui s'affichent le module HC-05.
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 télécharger l'application bluelenzv1.apk à installer sur la tablette 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 Application ANDROID BLUELENZ V2

Cette application appelée BLUELENZ V2 se connecte en Bluetooth à la centrale LENZ ainsi qu'à un ou deux modules de 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 deux trains simultanément

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 à F8 (les fonctions F0 à F4 peuvent être personnalisées)

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.

La commande automatique de deux trans simultanément est aussi possible.

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

Les fichiers contenant les caractéristiques des trains et les trajets enregistrés sont stockés dans un dossier intitulé bluelenz.

Vous pouvez télécharger cette application ainsi qu'un exemple de dossier bluelenz en cliquant ici.

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



3.3.1 Enregistrement 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.


Entrer le nom et l'adresse de la loco à enregistrer
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.

3.3.2 Enregistrement des adresses MAC des modules

Avant de pouvoir utiliser l'application BLUELENZ, il faut enregistrer les adresses MAC du module d'interface avec la centrale LENZ et 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.
Faire défiler vers le bas l'écran qui s'affiche jusqu'à obtenir le contenu ci-dessous.



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 valder. L'adreese MAC est alors stockée dans le fichier adlenz.txt du dossier intitulé bluelenz.

Il faut refaire la même procédure pour enregistrer le ou les modules de rétrosignalisation.

3.3.3 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.3.4 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.

3.3.5 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 tajet 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.3.6 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 quatre 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.3.7 Mode automatique

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

Pour celà, il faut lancer l'application BLUETRAIN 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 ou 2) 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.

Page suivante


Page précédente


Retour page d'accueil