Bonjour,
J'avais fait il y a environ 2 ans un embryon de présentation de mon projet lors de ma présentation en temps que membre (
https://forum.locoduino.org/index.php?topic=1511.msg16347#msg16347) puis, après des débuts un peu difficiles en raison de mon ignorance totale d'Arduino et de dialogues parfois compliqués, j'ai pu valider les principaux choix techniques quelques mois plus tard. La réalisation complète se faisant ensuite progressivement et étant loin d'être achevée à ce jour. Car dans un réseau, il faut penser au décor (là aussi je me suis orienté vers une solution peu classique), à l'ambiance, ... Et faire des pauses de temps en temps ou se tourner momentanément vers un autre mini projet moins chronophage mais lié au train miniature. Mais le "cahier des charges" général n'a absolument pas changé en 2 ans.
Comme je suis à nouveau en train d'explorer des solutions plus détaillées dans le domaine d'Arduino que j'avais un peu laissé de côté (je fréquentais davantage le forum LR pour d'autres sujets), j'ai pensé qu'il était bon que je présente ici l'état actuel des solutions que j'ai choisies. D'autant qu'on pourrait me reprocher de n'utiliser ce forum que pour recevoir de l'aide et ne rien présenter.
Mes petits réseaux indépendants (le tout tenant sur environ 2m75 x 1m50)
:- un réseau HO DCC (à automatiser partiellement : klaxon à un certain endroit essentiellement pour l'instant) avec juste 1 loco pour le moment
- 1 réseau HOm à automatiser entièrement, analogique mais avec un décodeur en amont des rails, 3 tramways de montagne
- 2 réseaux analogiques indépendants manuels à base de matériels Jouef et Mehano
Je ne détaillerai pas ces 2 réseaux analogiques purs qui n'ont pas d'intérêt dans ce forum.
Solutions choisies :Architecture générale "hybride"En raison de la taille volontairement réduite de ces réseaux et de ma volonté à limiter au maximum les composants et les câblages ainsi que tous les coûts, j'ai choisi de créer une application Android C++ qui communique en Bluetooth (BLE) avec un carte Arduino v4 qui elle-même communique avec une carte Uno v3 qui envoie les signaux DCC via un motor shield. Ceci parce qu'on ne trouve (ou trouvait) pas de code dédié au DCC pour les cartes Uno v4. J'aurais pu prendre un petit module Bluetooth avec la carte Uno v3 mais il m'a semblé préférable d'utiliser une carte v4. Cela permet aussi de séparer différentes tâches, certaines sur la v3, d'autres sur la v4.
L'intérêt d'avoir une application Android est qu'on peut adopter une interface utilisateur très conviviale et faciliter le développement car rien n'est fermé. En pratique, cette application est installée sur une tablette (et accessoirement un smartphone) et peut être associée par Bluetooth à un clavier physique comportant 6 touches (il en existe avec davantage de touches), de couleurs différentes le cas échéant, et un bouton rotatif.
Ainsi, le code Arduino qui est installé sur les cartes Arduino est quasiment figé, seul le code C++ de l'appli évolue au gré des développements. C'est, je trouve, très confortable de n'avoir qu'une seule application à modifier, totalement ouverte, sans limites réelles, dans un environnement de programmation très performant (Android Studio).
La carte Uno v4 reçoit les instructions (une chaine alphanumérique) de la tablette via BLE et les transmet à la carte Uno v3 via I2C. La carte Uno v3 reçoit la chaine alphanumérique de la carte Uno v4, l'interprète, crée et envoie la trame DCC. Le code Arduino n'évoluant donc pas, ces cartes deviennent petit à petit des "boites noires"... Aucune connexion depuis un ordinateur n'est nécessaire.
Voici un aperçu de l'interface utilisateur de l'application (un seul écran) ainsi qu'une photo du clavier :

Après une 1ere tentative avec une carte Uno Wifi Rev2 qui s'est avérée peu adéquate car trop exotique (très rarement utilisée dans le milieu Arduino) et surtout pas fiable (plusieurs utilisateurs ont rencontré le même problème), je me suis donc tourné vers cette architecture :
Réseau HOm "hybride"C'est principalement le réseau HOm qui m'intéresse actuellement. Car je viens de enfin finir d'assembler les 3 rames. Il me reste quand même à créer quelques decalcs... Ce réseau est donc dans une configuration analogique avec un décodeur basique placé en amont des rails. Ceci parce qu'il m'était assez difficile d'installer des décodeurs, les bogies moteurs Halling utilisés étant déjà relativement encombrants. Et parce que je voulais limiter les coûts. Toutefois il existe depuis quelque temps des bogies Halling plus compacts pouvant recevoir facilement des décodeurs. C'est une solution qui pourrait être retenue plus tard.
Grâce à 3 aiguillages Peco electrofrog, il est possible de couper l'alimentation des rails dans une ou plusieurs parties du réseau. Ainsi, un scénario de va-et-vient peut s'établir avec 3 rames. Il faut "juste" détecter l'arrivée d'une rame à certains endroits précis (capteurs à effet Hall ou lecteur RFID), commander les aiguillages, la vitesse et le sens de marche avec la tablette et les cartes Uno v4 et v3.

L'alimentation au moyen d'un décodeur en amont des rails m'est venue naturellement à l'esprit en tentant d'explorer diverses méthodes et j'ai vu ensuite que cette solution était parfois utilisée dans des mini ou micro réseaux. Son principal avantage, en dehors du fait qu'on peut piloter le réseau depuis une tablette, est d'autoriser des vitesses de déplacement très faibles et sans bruit parasite comme cela peut arriver avec une solution PWM.
Autres fonctions :J'ai également utilisé 2 décodeurs basiques pour allumer des ampoules avec le même principe que le réseau HOm.
La suite :Aujourd'hui, après des tests fructueux il y a 1 an avec un capteur à effet Hall relié à la carte Uno v4 qui renvoyait l'info à la tablette, ce qui validait le procédé, je fais des investigations sur l'utilisation de cartes Nano BLE reliées aux capteurs ou aux lecteurs RFID et envoyant directement l'info à la tablette. Question câblage, il me faudra "juste" alimenter ces cartes Nano ainsi que les éventuels lecteurs RFID. J'ai pensé à prendre le courant sur les voies (mais ça ne peut marcher en analogique, le courant pouvant être nul) ou au moyen de piles. Mais cette dernière solution ne peut être retenue car il faudrait couper l'alimentation de chaque élément manuellement, à l'aide d'un interrupteur, en fin d'utilisation. Reste donc une alimentation via un ou plusieurs transfos.
Ensuite il me faudra commander les 3 aiguillages du réseau HOm avec des signaux DCC ou plus probablement par relais au moyen de la tablette et des cartes Uno v4 et v3 ou des cartes Nano qui seront à proximité des aiguillages, ce qui limiterait encore plus les câblages.
Résumé :L'architecture est aujourd'hui la suivante :
- la carte Uno v4 reçoit les instructions de la tablette via BLE et les transmet à la carte Uno v3 via I2C
- la carte Uno v3 reçoit les instructions de la carte Uno v4, les interprète, crée et envoie la trame DCC
Cette architecture devrait donc évoluer avec l'ajout des cartes Nano BLE :
- les cartes Nano transmettent les infos d'occupation à la tablette via BLE
- les cartes Nano reçoivent les instructions de la tablette via BLE et commandent les aiguillages

Louis