LOCODUINO
Parlons Arduino => Vos projets => Discussion démarrée par: alprieur le novembre 05, 2018, 07:08:29 pm
-
Bonjour,
Pour ceux que ça pourrait intéresser sur base Arduino Mega car il aura deux voies à gérer donc 8 capteurs infrarouges :
Allumage des feux et sonnerie, fin de la sonnerie barrières fermées au passage du train, ouverture des barrières, extinction des feux.
Sur deux voies (il manque encore 4 capteurs) et dans les deux sens .
Note: corrections par Dominique
-
Bonjour,
C’est bien et ce serait mieux en utilisant les bibliothèques qui sont sur le git Locoduino, à savoir SlowMotionServo et LightDimmer.
-
A noter que point n'est besoin de passer par GitHub pour récupérer nos plus célèbres bibliothèques : le gestionnaire de bibliothèque de l'IDE Arduino les connait et les installe plus simplement !
-
Et les met à jour quand elles le sont ...
-
Bonsoir,
Sur les conseils avisé de Dominique je me suis servi de la biblioteque slowmotionservo tres facile à mettre en oeuvre et qui permet de gerer les deux servo independament bien pratique pour regler les petits decalage de servo .
Je me trouve devant un petit souci, je voudrais arreter la sonnerie quand les barrieres sont vraiment ferme au lieu de ca la sonnerie se coupe des le commencement de la fermeture ce qui n'est pas conforme a la realite . j'ai bien mis une condition et dencapusler celle ci par des accolade mais rien n'y fait j'ai l'impression que la condition des capteur prend le dessus un peu d'aide me serais bien utile je suis encore debutant. en piece jointe le nouveau fichiers
-
Bonjour,
C'est pas très clair. Notamment je ne sais pas comment sont positionnés les deux capteurs et si HIGH ou LOW déclenche la sonnerie. Ça manque de commentaires :)
-
J’ai réalisé un passage à niveau complet décrit dans l’article http://www.locoduino.org/spip.php?article117 (http://www.locoduino.org/spip.php?article117) auquel est ajouté le son qui marche bien.
Je vais mettre le programme complet en PJ pour vous permettre de vous en inspirer. Mais dès que j’ai le temps.
-
Bonjour,
barriere_ouverte = false;}
if(barriere_ouverte == false){
digitalWrite(sonnerie,LOW);
ces trois instructions se résument à :
barriere_ouverte = false;}
digitalWrite(sonnerie,LOW);
-
Voici mon programme que je vous laisse décortiquer (merci de mentionner l'origine des morceaux que vous récupérerez)
La partie son est expliquée sur le forum ici : http://forum.locoduino.org/index.php?topic=157.0 (http://forum.locoduino.org/index.php?topic=157.0)
Cordialement
Dominique
-
bonjour,
malheureusement je n'ai toujours pas reussi a garder le son pendant la femeuture des barrieres , celui se coupe des que le train franchit le capteurs qui commande la fermeture de barrieres malgre les conditions servo arretes et psition barires ferme j'en perd un peu mon latin j'ai l'impression que les conditions ne sont pas prise en compte un peu d'aide serait bienvenu merci par avances
-
Bonjour,
je n'ai pas le temps d'analyser votre programme, d'autant que vous n'avez pas décrit votre montage (comment le son se fait ?)
Mais je vois 2 fois digitalWrite(sonnerie,LOW);
qui semble arrêter la sonnerie dans 2 conditions.
Faites donc du debugging (comme tout le monde) en traçant les états de votre programme avec des Serial.print("..."); Là il n'y en a pas du tout et ce n'est pas étonnant que vous séchiez sur ce problème.
-
Je veux bien aider mais je n'ai pas eu de réponse à mon message ci-dessus :)
-
pour repondre a Jean Luc ,
mes deux capteurs sont des capteurs infrarouge placer sous la voie repartis chacun sur une voie il declenche la fermeture des barrieres apres qu'un capteur place devant declanche les feux et la sonnerie digitalWrite(sonnerie,HIGH); .
les capteurs sont brancher sur les ports analogique de l'arduino
pour le son isd 1820 brancher sur pl en sortie numerique
ce que je ne m'explique pas c'est que avec juste la bibli servo (voir barrire basique 004 plus) je ne rencontre pas ce probelme;
ok pour le debugage mais pourrais avoir un petit exemple concret que je puisse voir le fonctionnement
-
Un petit crobard serait pas mal. Tu peux joindre des fichiers. :)
Pourquoi 004 marche et pas les suivant ? Dans 004 le mouvement des servos est bloquant et donc le traitement de loop est arrêté tant que la barrière se ferme ou s'ouvre. Dans 009, le mouvement n'est pas bloquant (c'est le principe de SlowMotionServo)
Ta machine d'états est fausse dans les deux cas mais comme dans le premier cas tu l'empêches de fonctionner tu ne le vois pas.
-
ok merci pour ce premiers element de reponses donc si j'ai bien compris il faut que je reprenne mes variable d'etats et peut etre simplifiers l'ensemble
je ferais passais un petit crobard demain merci encore
-
As tu lu cet article ?
http://www.locoduino.org/spip.php?article25
-
merci jean luc au vue de l'article dont je suis passe à cote surement trop presse d'un resultat ::) je vis donc reprendre mon code pour faire de mon plat de spaghetti quelque chose de plus digeste ;D
je ne me manquerais pas de vous tenir informe
-
bonjour,
me revoila apres quelques heures.... d'ecriture et d'essai :P
voici donc mon nouveau scenario pour la gestion complete d'un PN à deux voies avec feux et sonnerie .
un grand merci à JEAN LUC pour m'avoir mis sur la voie, son article sur la programmation rationnelle est fort instructif
donc amusez vous bien pensez au merci ;) si vous telecharger le scenario
-
Bonjour Mr Alprieur
Pour tester votre programme, pourriez-vous SVP le communiquer?
Peut être ne l'ai-je pas vu!!!!
Cordialement
-
effectivement petit oubli sur le programme
j'ai vonlontairement enleve une partie des conditions....