Table de commande pour 6 locomotives (ou plus)

Bonjour JiPé,

Je suis heureux de ce que tu dis car l’objectif est bien d’apporter plus de plaisir de jeu et tu confirmes que c’est le cas.

Nous allons détailler ce projet, je dis nous car je ne doute pas que Alain m’aider. Mais cela demande du temps, des schémas, des photos, des tests…

Je voudrais aussi faire évoluer le montage avec une solution à base de module CAN Niren qui est moins cher, moins encombrant et qui est suffisant pour le CAN de Marklin à 250 Kbps.

Je voudrais proposer aussi un shield que j’avais réalisé pour Arduino Mega qui supporte ce module CAN et permet surtout de souder les fils ce qui est beaucoup plus simple, fiable et économique que les câbles Dupont.

Juste pour info, pour ceux qui cherchent à comprendre les branchements, il faut analyser le début du programme :

const uint8_t NB_LOCO = 6; // Nombre de locomotives

comme le commentaire l’indique, NB_LOCO, c’est le nombre de locomotives que l’on souhaite piloter. Ici 6 mais on pourrait monter à 10 ou à 12

uint16_t t_address[NB_LOCO] = { ADDR_MFX + 7,
                                ADDR_MFX + 6,
                                ADDR_MFX + 5,
                                ADDR_MFX + 8,
                                ADDR_MFX + 9,
                                ADDR_MFX + 10 };

Pour ces 6 locomotives, il faut entrer leur adresse locale. En générale, cela commence à 1. Dans le code ci-dessus, ADDR_MFX + 7 correspond à l’adresse 7 pour le premier potentiomètre.

PS : Je suis en train de finaliser un petit programme pour lire facilement l’adresse d’une loco !

byte t_speedPin[NB_LOCO] = { A0, A1, A2, A3, A4, A5 };  // Broches pour chacun des potentiometres
byte t_dirPin[NB_LOCO] = { 3, 4, 5, 6, 7, 8 };          // Broches pour chacun des boutons inverseurs de direction
byte t_funcPin[NB_LOCO] = { 22, 23, 24, 25, 26, 27 };   // Broches pour chacun des boutons activation klaxon

Pour le code ci-dessus qui correspond aux broches de l’Arduino Mega, je crois que les commentaires du code se suffisent à eux-mêmes.

byte t_funcKlaxon[NB_LOCO] = { 5, 3, 3, 3, 3, 3 }; // Numéro de la fonction pour le klaxon

Dans ce tableau, on renseigne le numéro de la fonction que l’on souhaite activer avec le bouton poussoir. Pour ma première loco, le klaxon est la fonction 5. Il y a un autre klaxon en fonction 7. Chacun choisi ce qui lui correspond

C’est bien que vous posiez toutes ces questions car ça va aider à la mise au point du mode d’emploi.

Deux remarques

1° - J’ai déjà bien noté que tu es intéressé par une découpe laser du support. Je vais faire cela rapidement

2° - Comme tu es à l’aise avec l’Arduino, c’est vrai que tu peux faire plein de choses avec une MS2 + Gleisbox. D’une manière ou d’une autre, toutes les fonctions que l’on a dans une CS2, CS3 sont disponibles via le CAN. Je pense à la rétrosignalisation ou à la commande d’accessoires. La seule vraie limite de la Gleisbox est sa puissance limitée à 1,9 A environ.

Mais il ne t’as sans doute pas échappé que j’avais réalisé (sous l’impulsion de @gelit) une centrale MFX en DIY qui fonctionne jusqu’à 5A au besoin. Contrôler vos trains MFX depuis un Arduino Due SANS passer par la Gleisbox - #28 par bobyAndCo

Christophe

1 « J'aime »