Passage à niveau géré par Arduino (4)
La sonnerie
. Par : Christian
Vous répondez à :
Bonjour, avez vous vu dans l’article l’avertissement concernant à la ligne 28, la variable delaiFermeture ?
Cordialement
11 Messages
-
Passage à niveau géré par Arduino (4) 23 novembre 2020 12:06, par Frédéric
Bonjour,
Un grand merci pour ces 4 articles très didactiques qui montrent bien l’évolution d’un projet par ajout de fonctions successives
Pour ma part j’avais posté un message il y a quelques semaines ( Un automatisme de Passage à Niveau 29 octobre 19:48, par Frédéric ) pour vous rapporter mon expérience personnelle d’un PN avec le problème du rajout du son sur lequel j’ai buté un bon moment. J’ai finalement réglé le problème en utilisant une carte MEGA à la place d’une carte UNO, en affectant une sortie native dédiée Serial2 (4 sorties séries disponibles sur la MEGA au lieu d’une) pour le pilotage du module DFPlayer mini avec la même bibliothèque que celle que vous utilisez (DFRobotDFPlayerMini en version 1.05). Ceci afin d’éviter les fluctuations que j’avais sur la commande des 2 servos avec une UNO et la librairie SoftwareSerial
(je n’avais pas d’effet de bord sur le pilotage des LED mais je n’avais pas programmé l’allumage progressif, juste un clignotement)
Je suis d’ailleurs un peu frustré de n’avoir pas identifié d’où venait vraiment le problème
Merci également pour l’idée de l’usage d’un optocoupleur 4N35 pour l’interconnexion avec isolation galvanique des 2 UNOFrédéric
-
Bonjour Frédéric,
Merci pour vos appréciations.
Si je n’ai pas utilisé une carte Mega, c’est justement parce que je voulais que ce kit de passage à niveau puisse être réalisé au moindre coût et essentiellement par des gens qui débutent. Finalement, comme je rajoute une deuxième carte Uno pour la partie son, l’argument prix n’est peut-être pas aussi justifié que je le croyais. D’après mes calculs, ce module son reviendrait à un peu moins de quinze euros (prix 2020).
La bibliothèque DFPlayer perturbe les bibliothèques déjà employées dans le projet, d’où l’idée d’un module indépendant qui peut d’ailleurs être ajouté ultérieurement.
Pour ma part, je réponds toujours aux questions posées (sauf si un autre membre du staff l’a fait avant moi). Je viens de vérifier votre question qui s’adresse à Dominique, un des co-auteurs de l’article en question ; il a dû louper cela et je vais lui faire suivre car je suis certain qu’il vous répondra.
-
-
Passage à niveau géré par Arduino (4) 24 novembre 2020 17:44, par Frédéric
Bonjour Christian,
Merci pour votre retour. Pour le premier post, l’idée c’était juste de vous faire partager ma démarche, il est en effet très difficile à distance de faire une quelconque investigation sans avoir tout le détail de ce qui a été implémenté. Il est d’ailleurs intéressant de voir que pour un même objectif, les solutions peuvent être assez différentes. Pour le réseau G de ma fille j’ai un peu de place pour intégrer l’électronique dans une maison de type garde barrière attenante au PN qu’il me faut encore finaliser pour cacher l’électronique
La carte Mega (clone d’origine chinoise) est peu couteuse (j’ai choisi une elegoo 14€ sur amazon et encore moins cher 5€ sur ali express …)
Pour le défaut constaté, je pense que le problème vient de la gestion virtuelle du port série avec la librairie softwareserial ; ce qui explique que sur la mega je n’ai pas d’effet de bord sur les mouvements des servos en affectant une sortie série hardware pour piloter le Dfplayer Mini(la serial 2/4) ; je pense que c’est purement un problème logicielPar contre, et je ne sais pas si c’est lié à l’origine de la carte (clone), le programme ne se lance pas seul, il faut l’activer avec le bouton reset pour qu’il s’exécute dans la boucle loop(en mode alim autonome, carte non connectée au port USB du PC). Ce n’est pas un problème puisqu’il existe plusieurs solutions pour contourner ce problème mais c’est un peu ch… Sur la DUE le problème est clairement référencée sur certains forum avec certains clones chinois (modif de la carte à réaliser), sur la mega je n’ai rien trouvé de tangible. Pendant la mise au point je ne m’en étais pas aperçu puisque fonctionnant normalement après chaque téléversement à partir de l’IDE Arduino. Si vous avez une idée je suis preneur
Comme quoi plus on creuse plus on trouve, et plus on trouve plus on creuse …
Bonne soirée
Frédéric
-
L’inconvénient des cartes clones, c’est qu’elles ont parfois de petites différences dans le fonctionnement, dues à des composants qui ne sont pas les mêmes que sur les cartes de marque Arduino. Un avantage, elles sont moins chères. Parfois, pour s’en sortir, il faut arpenter les forums pour glaner des informations, comme vous l’avez fait.
Difficile pour moi de donner une idée sans expérimenter. mais à défaut d’idée, j’ai une proposition à vous faire : vous semblez avoir déjà un bon niveau et une certaine indépendance pour la résolution de problèmes, donc pourquoi ne pas rejoindre l’équipe d’Arduino pour éventuellement écrire des articles sur les projets que vous avez développés ? Ca ne rapporte rien, mais ça ne coûte rien non plus sauf un peu de votre temps. Et c’est utile pour tous les lecteurs. A vous de voir, c’est sans obligation.
Cordialement.
Christian -
-
Bonjour,
Merci pour cette information, je vais étudier cette solution pour l’adapter sur ma carte MEGAFrédéric
-
-
-
Passage à niveau géré par Arduino (4) 14 décembre 2021 11:49, par meunier
bonjour
je me retrouve devant un problème : à la fin de la lecture d’un fichier (envoyé par poussoir), le dfplayer n’envoie pas le message "finished" dans le moniteur série.
par contre si je lance le fichier deux fois (deuxième appui poussoir avant la fin de lecture), alors là il envoie le message "finished".
le détail du problème sur le forum arduino. merci de votre aide. je galère pas mal. (suis débutant)Voir en ligne : Régis Meunier
-
Pour faire le montage du PN, je ne me suis pas penché en détail sur la bibliothèque du DFPlayer. Sans en être certain, le comportement que vous avez décrit est peut-être le comportement normal, à savoir le message ne s’affiche que si le morceau est interrompu et non lorsqu’il est joué jusqu’au bout. Ceci expliquerait ce qui se passe quand vous appuyez deux fois sur le bouton "Play".
Pour ce qui concerne la sonorisation du PN, deux choses sont importantes :que la sonnerie s’exécute dès détection d’un train
qu’elle s’arrête dès que les barrières sont fermées
Et justement, cela marche, alors j’avoue que je n’ai pas regardé en détail ce qui est affiché comme message dans le moniteur. Si j’ai laissé ces lignes dans mon programme, c’est pour comprendre en cas de dysfonctionnement, mais comme le PN réagit bien, pas besoin. Il faut remarquer que les messages qui peuvent s’afficher sont des messages d’erreur. Interrompre un morceau est considéré comme une erreur mais le jouer jusqu’au bout non. Mais ce n’est qu’une hypothèse.
Vous pouvez essayer de contacter l’équipe qui maintient la bibliothèque pour en savoir plus sur le fonctionnement de celle-ci. Mais est-ce si important d’avoir le message ? Ce qui compte est le comportement du lecteur, non ? A moins que vous n’ayez des besoins très particuliers dans votre projet.
-
-
Passage à niveau géré par Arduino (4) 13 mai 2022 09:06, par pedro88
bonjour
comment puis-je retarder la descente des barrières (1sec), car ce circuit fonctionne à merveille et je vous remercie pour ce programme.
merci de me répondreVoir en ligne : jean pierre deveau
-
merci pour votre réponse
-
-
Passage à niveau géré par Arduino (4) 13 mai 2022 17:48, par msport
Bonjour, avez vous vu dans l’article l’avertissement concernant à la ligne 28, la variable delaiFermeture ?
Cordialement