Auteur Sujet: gestion passage à niveau pour deux voies unidirectionnelles  (Lu 265 fois)

soft3348

  • Newbie
  • *
  • Messages: 1
    • Voir le profil
gestion passage à niveau pour deux voies unidirectionnelles
« le: avril 17, 2025, 11:15:35 am »
Bonjour à tous.
J'ai réalisé le projet décrit pour passage à niveau simple voie N.
Je n'ai rencontré aucun problème majeur.
Je voudrais l'appliquer sur mon réseau pour gérer une double voie unidirectionnelles.
j'ai bien compris qu'il fallait placer des ils sur une autre sortie de l" Arduino, mais il faut d'après ce que j'ai lu ajouter du programme, chose que je suis totalement incapable d'écrire, étant vraiment nul en programmation, tout cela me paraît assez compliqué.
Est ce que quelqu'un d'entre vous à déjà réalisé ce projet , et si c'est le cas est-il possible d'avoir le code.
je sais que la philosophie de ce groupe est de chercher par soi même les solutions, ce que j'ai fait évidement, mais je n'y arrive vraiment pas.
Un grand merci à tous.

trimarco232

  • Sr. Member
  • ****
  • Messages: 359
    • Voir le profil
Re : gestion passage à niveau pour deux voies unidirectionnelles
« Réponse #1 le: avril 17, 2025, 03:24:51 pm »
Bonjour,
je pense que l'analyse des annonces pour la DV (unidirectionnelle) est plus simple que pour une VU
il faudra plutôt enlever du code

chris_bzg

  • Sr. Member
  • ****
  • Messages: 363
    • Voir le profil
Re : gestion passage à niveau pour deux voies unidirectionnelles
« Réponse #2 le: avril 19, 2025, 09:57:17 am »
Bonjour soft3348,

Je suppose que ton prénom est François et que c'est à toi que j'ai répondu à la suite de l'article PN(1).
C'est très bien que tu aies ouvert ce fil car c'est le meilleur endroit possible pour trouver de l'aide.
Je t'ai donné une piste de travail : déjà une première question, est-ce que tu comprends le principe invoqué en dehors de toute programmation ?
Si oui, je t'aiderai à écrire le code, ou quelqu'un d'autre sur ce forum. On ne laisse pas tomber les gens, donc tu finiras par avoir ton PN à 2 voies !  ;)

Pour ceux qui voudraient aider, voici ce que j'ai répondu :

Visiblement, vous savez le faire pour une voie. S’il y a deux voies, on peut considérer que la zone PN est constituée de deux sous-zones (Z1 et Z2) constituées d’une seule voie. Vous savez faire la détection pour chaque sous-zone Z1 et Z2.
La zone totale du PN est libre si Z1 est libre ET Z2 est libre.
La zone totale du PN est occupée si Z1 est occupée OU Z2 est occupée (et à fortiori si les deux sont occupées).

Pour citer l’article :
Le mieux est de considérer que chaque voie est banalisée (deux sens de circulation possibles même si un sens est imposé) et dispose de sa propre zone de protection de PN (comme étudié dans le paragraphe précédent). La zone Z de protection du PN est alors constituée de deux sous-zones Z1 et Z2 et pour être libre, les deux sous-zones doivent être libres. Dès qu’une sous-zone est occupée, la zone de protection du PN doit être considérée comme occupée. C’est ce que montre la figure 4.

Il suffit de définir une variable d’occupation pour Z1 et une pour Z2 et de tester la condition donnée plus haut.


La Z1 correspond au montage de l'article.
La Z2 est une zone identique mise sur l'entrée 3 d'Arduino car elle est capable de faire une interruption externe.
La zonePN est de l'algèbre de Boole de ces deux zones, comme je l'ai expliqué.

La solution ne doit donc pas être si difficile pour ceux qui savent programmer (j'essaierai de faire le montage sur Wokwi mais ne sois pas pressé car je suis sur d'autres projets actuellement).

Bon, on en reparle...  ;)

chris_bzg

  • Sr. Member
  • ****
  • Messages: 363
    • Voir le profil
Re : gestion passage à niveau pour deux voies unidirectionnelles
« Réponse #3 le: avril 19, 2025, 11:07:13 am »
Voici le montage et le programme :
https://wokwi.com/projects/428648704885657601

Il prend en compte le refoulement. Les deux voies sont utilisables dans les deux sens.

Joyeuses Pâques à tous.  ;)

chris_bzg

  • Sr. Member
  • ****
  • Messages: 363
    • Voir le profil
Re : gestion passage à niveau pour deux voies unidirectionnelles
« Réponse #4 le: avril 19, 2025, 04:01:24 pm »
Comme je sais que tu finiras par me le demander, j'ai anticipé.  ;)

Voici le projet de Passage à niveau à deux voies SAL 2 complet non sonorisé :
https://wokwi.com/projects/428656938257258497

Voie 1 en vert, voie 2 en bleu.
Les poussoirs remplacent les ILS. Deux appuis à moins de 2 sec sur un même poussoir ne sont pas pris en compte : on considère que c'est le même survol d'ILS.
Le délai d'attente entre clignotement et début de fermeture des barrières a été fixé à 4 sec. En réalité, c'est 8 et cela peut se régler à la ligne 20. Pour nous modélistes, cela dépend de la longueur du réseau.

Les voies sont bidirectionnelles et le refoulement est pris en compte, même pendant la manoeuvre des barrières. Aucune action n'est bloquante.

La séquence reproduit donc très bien un PN SAL 2 : voilà qui devrait faire le bonheur de nos industriels, puisque j'ai mis tout cela dans le domaine public. S'ils veulent me reverser quelque chose, j'accepte ! ;)

Il y a pas mal de commentaires et ce programme ne fait que reprendre celui de l'article, mais je reste à la disposition de ceux qui auraient des questions.