Passage à niveau automatisé pour train bois

Grâce à la série d'articles "Passage à niveau géré par Arduino", destiné initialement au Train' In Box, parus dans le forum voisin Locoduino, j'ai pu mener à bien sa transposition sur un circuit train bois démontable et remontable par de jeunes enfants.
J'ai finalement retenu les fiches banane pour le branchement des capteurs ILS.

Un retour sur ce forum où j'ai reçu pas mal de conseils pour optimiser le schéma électrique et câbler une carte à pastilles.
J'en ai même retenu certains, la preuve, même si j'ai maintenant un lot de connecteurs JST et Dupont, tout a été directement soudé sur la carte (j'ai gardé quelques connexions Dupont dans les boîtiers pour faciliter le montage/démontage car le matériel va souffrir, usage enfants oblige)

Je ne l'aurais pas parié, mais ça a fonctionné du premier coup !
Sauf que... les palonniers des servos battaient des ailes dans les mauvais sens, il a fallu se plonger un brin dans le programme pour modifier les cadrans. Ce qui n'était rien comparé au travail déjà mâché...

Y'a quand même quelques spaghettis

En surface, c'est plus clair

Test in situ sur un ovale vite fait

J'avais oublié les ouvertures pour brancher le scartes Nano et sortir la micro SD. Une façade plaquée rendra ça plus propre en attendant une réimpression.

Reste à coller tout ça aux rails puisque le module est validé.

1 Like

Bonjour Jean

Chapeau bas! C'est du Grand Art!
La réalisation électronique, les pièces en 3D ajoutées,, c'est beau, c'est propre, BRAVO!

Cordialement
jpbbricole

Ça marche bien, mais... Deux Nanos pour contrôler juste ça ? Je pense qu'avec un seul d'entre eux, cela pourrait être fait.
Les salutations.

Merci jpbbricole
Mais je n'ai fait qu'adapter à ma sauce un projet de modélisme ferroviaire.
Avec l'impression 3D, on peut vraiment faire du sur mesure.
J'ai quand même utilisé la CNC pour rainurer le passage des fils sous le rail bois (et préserver les automatismes, les miens, car si on pratique peu, on perd vite le fil...) :grinning:

Oui, c'est sans doute beaucoup, mais c'est un projet conçu pour les débutants en modélisme ferroviaire et Arduino.
Son auteur explique ici la démarche, adaptée aux acquéreurs d'un coffret Train' In Box qui vouraient agrémenter ce pack de base.
Passage à niveau Locoduino

Et plus particulièrement le pourquoi pédagogique du doublage des cartes Nano dans la partie "sonnerie", plus facile à appréhender pour le néophyte.
La sonnerie

C'est sûr qu'on doit pouvoir faire tenir le tout sur une carte, mais c'est une autre étape.

Bonjour Jean

Oui, mais, adapter à ce niveau...
Pour moi, Locoduino est un exemple de pédagogie et de sobriété dans l'apprentissage de l'Arduino. A conseiller à tout débutant ou même confirmé dans l'Arduino, même si leur projets ne concernent pas le train électrique.

Cordialement
jpbbricole

Bonjour,
Belle réalisation.
Je suis loin d'être expert, je me demande si

  if((top_debutISR - old_top_debutISR) > 2000) {
    // 2 secondes au moins entre execution ISR
    etatZonePN = !etatZonePN; // etat passe a etat oppose
    old_top_debutISR = top_debutISR;  // initialisation date anterieure d appel ISR
  }

n'a pas plutôt sa place dans la fonction loop() que dans cette fonction changeEtat()gérée par l'interruption ?

Bonjour achess

Non, si comme c'est spécifié "// 2 secondes au moins entre execution ISR" ce serai une complication inutile.

Cordialement
jpbbricole

J'aime bien simplifier, genre :

volatile static boolean etatZonePN = true; // Initialiser avec trains en gare sur TIB
unsigned long top_debutISR;  // date appel ISR

void changeEtat() { // routine d'interruption (ISR)
  top_debutISR = millis();  // date appel ISR
  etatZonePN = false; //
}

void loop() {
  if (!etatZonePN) {// dès le contact ILS
    digitalWrite (LED_BUILTIN, LOW);
    etatZonePN = true;// pas de rebond
  }
  if (millis() - top_debutISR) > 2000) {
   digitalWrite (LED_BUILTIN, HIGH);
  }
  // ...
}

Bonsoir jean34
Bon travail.
:v: :v:

Pour la partie programmation pure, sans doute qu'il est améliorable. N'oublions pas qu'il s'agit d'un programme à vocation pédagogique pour débutants et articulé en 4 parties (détection, feux, barrières, sonnerie) de manière à facilter sa compréhension et son adaptation par des novices.

Les loulous, aux manettes, pas besoin de mode d'emploi. Ils ont créé leur propre configuration

De quoi dégourdir les roues aux Hot Wheels.