Bonjour Philippe,
Pour répondre à ta remarque fort à propos; j’ai repris ma copie.
Cela demande du temps, car j’ai essayé quelquechose qui n’a pas fonctionné. Et pourtant que je trouvait assez esthétique :
Je trouve cela très sympa en manette individuelle. Du coup, ça me donne une idée que je souhaite soumettre au groupe.
Seriez-vous intéressés par des petites manettes du même type avec un potentiomètre, un bouton inverseur et peut-être 2 ou 4 fonctions mais que ces manettes soient cette fois sans fil (en WiFi ou en Bluetooth).
On peut aussi imaginer avec un pavé numérique qui pourrait permettre de sélectionner parmi une dizaine de locos. Qu’en pensez-vous ? S’il y a des retours positifs, je pourrais m’intéresser à la chose et revenir avec des propositions.
J’avais présenté comme exemple de la bibliothèque Railuino une petite application pour smartphone ou tablette. J’aimerai aussi savoir si ce type de projet en intéresse certains. Ce projet était quasi finalisé, je pourrai aussi le présenter s’il y a des personnes intéressées.
MS2 recue hier soir.
Premiers essais particulièrement concluants.
Encore quelques config à tester.
Bravo pour le travail réalisé.
Seriez-vous intéressés par *des petites manettes du même type avec un potentiomètre, un bouton inverseur et peut-être 2 ou 4 fonctions mais que ces manettes soient cette fois sans fil (en WiFi ou en Bluetooth).
Pourquoi pas, bien sûr … mais attention, en final, de ne pas refaire une MS2
JiPé
On m’a posé la question de savoir comment il était possible de connaitre l’adresse des locomotives pour renseigner le tableau ci-dessous (adresse 5, 6, 7 …)
const uint8_t NB_LOCO = 6; // Nombre de locomotibes
Loco loco[NB_LOCO]; // Instances de locomotives
uint16_t t_address[NB_LOCO] = { ADDR_MFX + 5,
ADDR_MFX + 6,
ADDR_MFX + 7,
ADDR_MFX + 8,
ADDR_MFX + 9,
ADDR_MFX + 10 };
J’ai réalisé un petit programme très ludique pour ce faire dont voici un extrait ci-dessous. Dans le setup, le programme active la MS2 puis dans le loop, il active les 6 premières fonctions pour chaque locomotive alternativement. Quand les feux s’allument et que le klaxon est actif, le moniteur série affiche le numéro de la locomotive.
void setup()
{
Serial.println("Power on");
ctrl.setPower(true);
}
void loop()
{
delay(5000);
uint16_t LOCO = ADDR_MFX;
for (uint8_t i = 1; i < nbreLocos; i++)
{
for (uint8_t j = 0; j < 6; j++)
ctrl.setLocoFunction(LOCO + i, j, 1);
Serial.print("Loco adresse : ");
Serial.println(i);
delay(5000);
for (uint8_t j = 0; j < 6; j++)
ctrl.setLocoFunction(LOCO + i, j, 0);
}
}
Bonjour,
la platine de test étant bien avancée, je me lance dans des essais réels et je me permets une remarque:
à la première mise sous tension les fonctions déclarées (byte t_funcKlaxon[NB_LOCO] = { 3, 3, 1, 3, 3, 1 }; ) sont automatiquement activées et restent permanentes jusqu’au premier appui sur le bouton d’activation-fonction du pupitre. Je pense qu’il serait mieux de ne pas l’avoir en permanent au début.
Dans le même ordre d’idée, j’ai des locos sans son mais avec des éclairages intérieurs. dans ce cas, une fois définie dans le programme, cette fonction est, bien sûr en impulsion et non pas en permanente. Serait il alors possible de spécifier dans le programme, par exemple :
si F3 ou F5 activation en impulsion
si autre, alors en permanente.
Juste une idée …
autrement, ça marche impec et je pense que ce serait particulièrement utile pour des exposants, car une fois paramétré, on débranche la MS … et pas de risque de mauvaise manip par des utilisateurs autres. Ca marche sans pb avec ou sans MS.
JiPé
Pour les fonctions klaxon sont en effet désactivables au démarrage.
Il est tout à fait envisageable d’ajouter des fonctions. Tu connais les Arduino et les Mega en particulier. On peut aller jusqu’au nombre de broches digitales disponibles soit une petite cinquantaine. On peut aussi utiliser des broches analogiques sous réserve d’en garder un nombre suffisant pour les potentiomètres.
Pour garder les fonctions de locomotives actives, il suffit de remplacer le bouton poussoir par un commutateur.
Bonjour Christophe,
Je continue à “Jouer” avec la table, avant de passer à une réalisation finale.
C’est vrai que je souhaiterai rajouter une commande pour la fonction “Son Moteur” (F2 je crois), avec un interrupteur supplémentaire; mais je ne me sens pas encore assez à l’aise pour écrire le code.
Si éventuellement tu voulais bien écrire ce morceau, je serai ravi.
Très cordialement.
Alain