LOCODUINO

Passage à niveau géré par Arduino (3)

Commande du mouvement des barrières

. Par : Christian

Article mis à jour le 6 août 2024 pour ajouter un lien qui permet de voir le fonctionnement du PN sur le simulateur Wokwi.Montage des barrières La figure 1 montre un passage à niveau automatique de type SAL 2 (pour plus de détails sur les passages à niveau, consulter le Hors-Série Loco-Revue N° 60). Nous voyons deux demi-barrières et deux (…)

Retourner à l'article

Vous répondez à :

Passage à niveau géré par Arduino (3) 14 mars 2023 11:40, par Christian

C’est tout à fait possible : il suffit d’initialiser l’état de la zone PN avec ’false’ au lieu de ’true’ (ligne 31).
Ce PN a été développé pour le petit réseau Train’ In Box de LR-Modélisme ; on suppose donc que les séquences de jeu commencent et se terminent avec le train en gare, d’où le fait d’initialiser le PN en position fermé. Bien évidemment, en fonction de votre réseau, vous pouvez faire différemment. C’est pourquoi le programme a été conçu avec des variables modifiables par l’utilisateur afin d’adapter le comportement du PN au réseau miniature sur lequel il se trouve.

Qui êtes-vous ?
Votre message

Pour créer des paragraphes, laissez simplement des lignes vides.

Lien hypertexte

(Si votre message se réfère à un article publié sur le Web, ou à une page fournissant plus d’informations, vous pouvez indiquer ci-après le titre de la page et son adresse.)

28 Messages

  • Passage à niveau géré par Arduino (3) 5 janvier 2021 16:50, par Paolo Tavano

    bonjour
    Je tiens à préciser que, dans le dessin relatif aux pièces qui composent le support du servomoteur, en détail A la somme des mesures des ouvertures ne fait pas au total 58 mais 62. Donc le détail noté 13 devrait en fait être 9 ... Merci pour votre attention et bon travail ... Excellent travail !

    Répondre

    • Passage à niveau géré par Arduino (3) 5 janvier 2021 17:23, par Christian

      Bonjour Paolo,
      Merci pour votre sagacité. Effectivement, il y a une erreur dans les cotes de la pièce A. Je viens de vérifier sur mon réseau TIB et la cote de gauche n’est pas 22 mais 18 mm, la cote de droite 13 est par contre exacte. La somme 18 + 27 + 13 est bien égale à 58 mm qui est la largeur de la pièce.
      En fait, cette erreur provient du premier prototype de support que j’ai réalisé ; il était difficile (sans être impossible) de placer le servomoteur. Donc, pour que le servomoteur se monte sans problème, j’ai modifié le prototype en élargissant un peu l’ouverture.
      Je vais donc corriger la figure 3 dès que possible.
      J’espère que ce montage vous donnera satisfaction.

      Répondre

  • Passage à niveau géré par Arduino (3) 21 avril 2021 16:42, par GAUMIER François

    Bonjour,

    Ce que je recherche c’est un système de commande qui reçois un ordre de fermeture de préférence d’une cellule photoélectrique , qui allume en clignotement les feux et qui ferme les barrières,
    et qui après un temps réglable éteint les feux et ouvre les barrières.
    ce sont des barrières FALLER piloté par un moteur MP5 de MTB
    Bonne journée

    Répondre

    • Passage à niveau géré par Arduino (3) 21 avril 2021 16:57, par Christian

      Si l’ouverture des barrières se fait après un temps réglable, votre passage à niveau risque de ne pas convenir à tous vos trains qui ont sans doute des vitesses différentes.
      Par contre, remplacer les ILS par des capteurs à cellules photoélectriques donnera comme résultat une fermeture (ou ouverture) des barrières chaque fois que l’éclairage vacille (ombre portée). Il vaut mieux, si vous ne voulez pas des ILS, utiliser un capteur IR (infra-rouge) : c’est décrit dans LOCODUINO.
      Enfin, utiliser des moteurs au lieu de servomoteurs vous coûtera plus cher.
      Après, vous faites comme vous en avez envie, mon rôle se limitant à vous décrire ce qui vous attend.
      Bonne journée également.

      Répondre

  • Passage à niveau géré par Arduino (3) 30 décembre 2021 09:54, par Daniel BRUNET

    Bonjour, je procède un passage à niveau faller et je souhaite le faire fonctionner avec un seul servo-moteur. comment modifier le programme, merci de votre réponse.

    Répondre

    • Passage à niveau géré par Arduino (3) 30 décembre 2021 10:29, par Christian

      Vous n’êtes pas obligé de modifier le programme : vous le gardez tel quel mais vous ne branchez pas le deuxième servomoteur, vous n’en branchez qu’un seul.
      Après, je ne sais pas comment fonctionne le PN Faller et quelle longueur de course il nécessite pour être actionné. Le PN de cet article utilise une came excentrique sur le (ou les) servomoteur(s) qui tourne de 90°. C’est donc ce point qu’il faut adapter (soit de façon mécanique, soit de façon logicielle).

      Répondre

  • Passage à niveau géré par Arduino (3) 15 mars 2022 19:35, par ROUILLON Christian

    Bonsoir.
    Le programme introduit un délai (delaiFermeture) entre le clignotement des feux de PN et le début du mouvement des barrières. Ce délai était égal à 2 secondes pour tourner la vidéo ci-dessus mais a été mis à zéro car le programme est livré pour le réseau TIB.
    Je voudrai supprimer ce Zéro dans le programme pour introduire 2 secondes, mais je n’y arrive pas après de nombreux essais.
    Pouvez-vous m’aider ?
    Par avance je vous en remercie.

    Voir en ligne : site Passage à niveau géré par Arduino (3)

    Répondre

    • Passage à niveau géré par Arduino (3) 16 mars 2022 09:54, par Christian

      Il suffit de modifier la ligne 25 du programme (avant le commentaire qui débute par //) pour mettre :
      unsigned long delaiFermeture = 2000 ;
      Deux secondes sont égales à 2000 millisecondes, donc on met 2000 à la place de 0.

      Répondre

      • Passage à niveau géré par Arduino (3) 16 mars 2022 10:36, par ROUILLON Christian

        Merci pour ce conseil,ça fonctionne.
        Je débute,je découvre c’est super.
        Merci encore.

        Répondre

        • Passage à niveau géré par Arduino (3) 16 mars 2022 11:07, par Christian

          Ce passage à niveau a un grand succès puisqu’il reproduit fidèlement un PN SAL 2 français. C’est pourquoi il a fait l’objet d’articles dans Loco-Revue (janvier et février 2022). On trouve même sur internet des gens qui s’en sont inspirés (pour ne pas dire qui l’ont copié).
          Cependant, si vous êtes débutant, il y a beaucoup de choses à apprendre avant de s’attaquer à un tel projet. Ne sautez pas ces étapes qui sont indispensables si vous voulez profiter pleinement d’Arduino. Ou alors, revenez assez souvent aux bases, car tout est expliqué pour qui cherche un petit peu.
          Bonnes réalisations.

          Christian

          Répondre

  • Passage à niveau géré par Arduino (3) 16 mars 2022 12:38, par ROUILLON Christian

    Merci pour tous ces conseils.
    En effets je suis venu sur ce projet grâce à la revue de Loco-Revue de février 2022, le temps de trouver tous les composants, de suivre tous vos articles ainsi que vos conseils, et cela fonctionne.
    En effet beaucoup de choses à apprendre, pas facile pour moi, mais avec un peu de ténacité j’y arrive.
    Merci encore,et bonne continuation pour vos articles.

    Répondre

  • Passage à niveau géré par Arduino (3) 10 mai 2022 12:42, par Lefranc

    Bonjour,

    j’aimerai savoir si cela était environ la même chose si nous voulons créer un distributeur de gel automatique avec un capteur suiveur de ligne ?

    Merci d’avance.

    Répondre

  • Passage à niveau géré par Arduino (3) 14 mars 2023 11:20, par Frédéric Labbe

    bonjour,
    est-il possible que le PN soit initialiser en mode ouvert et feux éteint
    j’ai trouve pour les barrières mais pas les feux

    merci
    Frédéric

    Répondre

    • Passage à niveau géré par Arduino (3) 14 mars 2023 11:40, par Christian

      C’est tout à fait possible : il suffit d’initialiser l’état de la zone PN avec ’false’ au lieu de ’true’ (ligne 31).
      Ce PN a été développé pour le petit réseau Train’ In Box de LR-Modélisme ; on suppose donc que les séquences de jeu commencent et se terminent avec le train en gare, d’où le fait d’initialiser le PN en position fermé. Bien évidemment, en fonction de votre réseau, vous pouvez faire différemment. C’est pourquoi le programme a été conçu avec des variables modifiables par l’utilisateur afin d’adapter le comportement du PN au réseau miniature sur lequel il se trouve.

      Répondre

      • Passage à niveau géré par Arduino (3) 14 mars 2023 11:48, par Frédéric Labbe

        merci pour la réponse,
        le fait que les barrière fasse un vas et vient est-ce normale dans la phase d’initialisation ?
        Frédéric

        Répondre

        • Passage à niveau géré par Arduino (3) 14 mars 2023 12:25, par Christian

          C’est normal : regardez le setup en lignes 66 et 67. Il suffit de remplacer posFerme par posOuvert. Cela évitera aux barrières d’aller se fermer (lors du setup) pour ensuite se ré-ouvrir (en début de loop).

          Répondre

          • cool merci
            une question que je me pose
            quelle est la différances dans la déclaration des pins entre
            ceci
            " int pinRouge1 = 3 ; "
            et ceci
            "const byte LED=6 ; "

            merci

            Répondre

            • Passage à niveau géré par Arduino (3) 15 mars 2023 15:11, par Christian

              Vous avez plusieurs façons de déclarer les pins, soit en utilisant #define, soit en utilisant const byte (c’est d’ailleurs la façon recommandée par le site d’Arduino). Le numéro d’une broche étant un nombre petit, il peut tenir sur un seul octet (byte) et comme ce numéro ne change pas au cours du programme, on le déclare constant avec const ; il n’y a pas besoin de mémoire programme pour stocker ce nombre puisqu’il reste constant et ainsi on économise de la mémoire. On aurait pu mettre int mais un entier (int) utilise deux octets alors que ce n’est pas nécessaire.
              Une bonne pratique pour déclarer un numéro de broche est donc const byte. Tout ceci est expliqué sur LOCODUINO.

              Répondre

  • Passage à niveau géré par Arduino (3) 30 janvier 2024 18:51, par Daniel Morin

    Bonjour,
    le servomoteur ne trouve pas sa position 90° et le moteur tourne en permanence je ne trouve pas la solution pouvez vous m’aider
    Merci d’avance pour votre aide

    Répondre

    • Passage à niveau géré par Arduino (3) 31 janvier 2024 09:29, par Christian

      Cet espace est réservé aux questions sur l’article.
      Pour toute demande d’assistance technique, il faut ouvrir un fil sur notre forum.
      Référence : https://www.locoduino.org/spip.php?...

      De plus, je vous invite à nous fournir un peu plus d’explications. Etes vous certain d’avoir bien relié votre servomoteur ? Avez-vous essayé de le remplacer par un autre ? Avez-vous modifié le programme ? Des photos seraient bienvenues.

      Répondre

      • Passage à niveau géré par Arduino (3) 1er février 2024 15:50, par Daniel Morin

        Merci pour votre aide j’ai des difficultés pour m’inscrire quand je réponds a la question ou trainsmania 2019 s’est déroulé : " Lilles grand palais" réponse erronée donc je ne peux m’inscrire . Passage a niveau  : j’ai consulté l’article 263 j’ai fais les étapes de 1 à 3 avec test etape 1 ILS j’ai remplacé par boutons poussoir Ok , etape 2 feux avec inclusion lightdimers OK et étape 3 la gestion des servomoteur non maitrisé . j’ai réalisé le cablage sur platine et l’alimentaion de l’arduino avec le cable USB de l’ordinateur. j’ai fais des essais avec trois servomoteur du type (microservo 9g) SG90 même résultat

        Répondre

        • Passage à niveau géré par Arduino (3) 2 février 2024 07:29, par JPB

          Bonjour,
          C’est normal... Lille ne prends pas de S

          Répondre

        • Passage à niveau géré par Arduino (3) 2 février 2024 09:57, par Christian

          Je crois qu’on ne demande que la ville, mais je n’en suis pas sûr...
          Si les deux premières étapes sont maitrisées, c’est déjà ça.
          Pour la troisième, il est important que nous puissions nous rendre compte de votre montage. Il faut donc joindre des photos qui montrent les connexions de votre montage.
          Essayez un programme simple avec vos servos comme Sweep ou Knob donnés en exemple dans l’IDE et voyez si vous obtenez le résultat.
          Rendez-vous sur le forum pour la suite.

          Répondre

  • Passage à niveau géré par Arduino (3) 16 janvier 13:06, par T.L

    Bonjour,

    Serait-il possible d’utiliser un Arduino nano plutôt qu’un uno ?
    Et peut-on utiliser le même Arduino pour la gestion des barrière et pour la gestion du son ?

    Merci d’avance,

    T.L

    Répondre

    • Passage à niveau géré par Arduino (3) 16 janvier 13:50, par Christian

      Nano et Uno, c’est la même chose : même microcontrôleur, quasiment les mêmes entrées-sorties, même tension d’alimentation, etc. Il n’y a que le format de la carte qui diffère. Donc, oui vous pouvez utiliser un Nano à la place de l’Uno.

      Non, vous ne pouvez pas utiliser la même carte pour le PN ET LE SON : il faut deux cartes. Ce serait possible en théorie, mais la partie son serait difficile à faire coexister avec la partie PN, sauf à réécrire entièrement le programme. C’est pourquoi il est plus facile d’utiliser deux cartes et vu le prix d’une carte sur internet, ce n’est pas un problème. Bien évidemment, si le coeur vous en dit, vous pouvez toujours réécrire le programme ! Avec deux cartes, la partie SON peut être ajoutée ultérieurement ce qui permet au lecteur de choisir la configuration de son PN : PN non gardé avec les feux uniquement, PN gardé et automatique, PN complet et sonore (SAL 2) comme ceux de la SNCF.

      Répondre

Rubrique Projets

Les derniers articles

Les articles les plus lus