Sur un réseau DCC, il ne peut y avoir qu'un seul contrôleur DCC, un seul émetteur. Donc je verrais plutôt :
- 1 arduino avec le DcDccNanoController pour le contrôle de la loco, et réception via bus (Serial, SPI, I2C, CAN,... avec Commanders) de commande extérieures
- 1 arduino avec les boutons TCO avec Commanders, capable d'envoyer les ordres en bus SPI, I2C, CAN ou autre, mais pas avec Commanders qui ne sait pas envoyer.
- 1 arduino avec les aiguilles, leds qui reçoit les ordres en DCC (librairies Commanders + Accessoires)
Il faut comprendre le rôle de Commanders. Cette bibliothèque reçoit des ordres via divers canaux possibles : boutons, encodeurs, bus I2C, SPI, CAN, ou encore DCC. D'autres sont à venir avec écran tactile, blutooth, wifi ou simplement radio 477Mz... Jamais Commanders n'envoie quoi que ce soit. Elle va simplement traduire tout ce qu'elle reçoit par divers moyens en quelque chose de plus simple, un événement, qu'un autre bout de code se chargera d'exploiter, comme Accessories qui va activer des accessoires selon le type et l'identifiant de l'événement, ou DcDccNanoController qui va le traduire en ordre DCC.
A titre d'information, il y a dans les exemples de Commanders des croquis qui envoient des données sur les bus pré-cités. Tu constatera que ces exemples n'utilisent pas Commanders !