Bon, j'ai quand même modifié pas mal de choses :
- J'ai besoin de piloter 5 aiguilles alors que la solution Locoduino ne permet d'en gérer que 4...
- du coup, j'ai pris les bornes D2 à D11 pour piloter mes bobines d'aiguilles via 3 ULN2803...
- et j'ai pris les broches A1 à A5 pour les boutons poussoirs associés...
- mais alors il ne restait que D12, D13 et A0 pour gérer 5 paires de LEDs pour le TCO... problème !

=> il y a bien D0 et D1, mais ces broches servent à la console Arduino... bon, pas très grave, mais il semble qu'elles servent aussi aux communications via le port USB avec l'ordinateur : dans le doute, je préfère ne pas m'en servir !
=> je pensais avoir encore A6 et A7... mais ces deux broches (non présentes sur le Uno) ne peuvent fonctionner qu'en analogique ai-je découvert !!!
Du coup, j'ai remplacé les LEDs traditionnelles par des LEDs WS2812b qui sont adressables une à une et ne nécessitent qu'un seul fil pour être gérées !!! => ce sera la broche D12 pour moi.
Et j'en profite pour utiliser D13 pour un interrupteur et A0 pour une LED qui lui est associée : cet interrupteur me permet de choisir entre un fonctionnement du TCO via le pilotage des aiguilles une à une (traditionnel quoi), et un fonctionnement par itinéraires !
Cet interrupteur étant bipolaire, je me sers d'un pôle pour gérer le commun de mes boutons poussoirs : du coup, je peux utiliser les mêmes broches de mon Arduino pour la commande de mes aiguilles ET de mes itinéraires !
Quelques photos de ce que ça donne :
Bon, tout cela paraît super et je suis plutôt fier du résultat, MAIS... catastrophe, j'arrive un peu au même résultat que sur mon premier TCO !!!! :
=> sans raccorder les aiguilles, tout semble bien fonctionner et être fiable dans le temps : les boutons sont bien réactifs et les LEDs associées répondent bien...
=> mais dès que je branche les aiguilles pour de vrai... ben ça marche au début, puis ça bugue !!!! = soit une aiguille se met à faire l'aller-retour quand je la pilote, soit tout se fige... soit l'Arduino redémarre carrément !!!
Bon, ayant repris le programme de 0 et n'étant pas un spécialiste, j'espère que ça n'est qu'un souci de programmation, mais j'avoue être un peu désabusé et surtout perdu... et pourtant j'y suis tous les jours depuis ce week-end, snif...

Je joins le programme à tous hasard... si un expert charitable passe par ici...

Je me dis qu'il y a peut-être un souci dans le mélange des type de variables : j'utilise par ex. un booléen pour indiquer le sens de mes aiguilles, mais je l'utilise parfois comme "entier" (0 ou 1) dans des "calculs" pour accéder à l'indice d'un tableau par exemple... Mais pourquoi ça marcherait sans raccorder les aiguilles, puis plus une fois celles-ci branchées ?????

Là, j'atteins mes limites... dommage, l'idée me plaisait bien et c'était plutôt réussi au niveau "design" je trouve...
Merci de m'avoir lu, et en espérant un jour pouvoir partager une solution à ce casse-tête !
