LOCODUINO
Parlons Arduino => Vos projets => Discussion démarrée par: Yves21000 le février 18, 2020, 11:18:26 am
-
Bonjour à tous
Comme je l'ai deja évoqué par ailleurs, je suis en train de réaliser un passage à niveau à l'identique.
Il sera bientot greffé sur une maquette HO avec les moteurs alsthom trouvés ici https://www.decapod.fr/passages-a-niveau/769-demi-barrieres-de-pn-sur-moteur-alsthom-ho--2001500028967.html (https://www.decapod.fr/passages-a-niveau/769-demi-barrieres-de-pn-sur-moteur-alsthom-ho--2001500028967.html)
et les feux correspondants trouvés ici https://www.production-ludo-modelisme.fr/Feux-doubles-2-Leds-Resistances-cbaaaaaTa.asp (https://www.production-ludo-modelisme.fr/Feux-doubles-2-Leds-Resistances-cbaaaaaTa.asp)
Grace au site et aux contributions de plusieurs d'entre vous, mon projet PN est quasiment terminé (photo en P.J.).
Tout ceci fonctionne :
- Preavis
pulsation des feux à 70/mn
Temps de descente et de remontée
Fonction train croiseur
KBrO et KBrF (controle de position des barrières)
Afficheur état du PN (n'existe pas en vrai, mais pour un autre projet à greffer dessus !)
Il me reste un point où je bute depuis plusieurs jours (semaines même puisque je l'avais acheter en décembre).
J'ai une carte son DFR0534 qui me paraissait interessante.
Par contre, je ne comprends pas son fonctionnement.
J'ai pu y ajouter mes sons, les faire jouer sur une carte individuelle (uno ou mega) avec l'exemple fourni (en boucle), mais je n'arrive pas à commander comme je le souhaite.
Plusieurs points nébuleux :
l'utilisation de la bibliothèque softwareserial :
pourquoi une déclaration de variable Serial1 (il n'y a qu'un port série sur uno)
Pourquoi ça marche sur les bornes 10 et 11, alors que la liaison est en Tx et Rx (normalement 0 et 1 sur uno) ?
Comment choisir le son voulu (ce sont des adresses en hexa), mais je ne comprends pas "char order [4]
A quoi servent les serial1.write (order, 4), (play, 6), volume, 5) : le chiffre dans la parenthèse ?
Pour commencer, je voudrai, à partir d'un inverseur, commander le son 17 (hex 11) ou le son 20 (hex14) et l'arreter au bout de 10s.
Je joins mon croquis en l'état et la doc de la carte. Helas, je ne trouve quasiment rien sur ce produit sur le net.
S'il y avait une bonne ame pour m'aider à comprendre l'usage de cette carte (surtout du langage C !) et me sortir du gué, je pourrais finir proprement ;)
Merci par avance
https://drive.google.com/file/d/1S2yN067opf4_LBSVU3QdSNBBUJ6oP7TW/view?usp=sharing (https://drive.google.com/file/d/1S2yN067opf4_LBSVU3QdSNBBUJ6oP7TW/view?usp=sharing)
-
Bonjour Yves,
pourquoi ne pars-tu pas des DFPlayer avec carte microSD, ce sont des produits super fiables et très faciles à mettre en œuvre. Voici une bonne explication: https://wiki.dfrobot.com/DFPlayer_Mini_SKU_DFR0299
Un énorme avantage, c'est de pouvoir en mettre 2 sur le même Arduino avec la librairie SoftwareSerial pour pouvoir superposer les sons ce qui quand même plus réaliste.
Tu les trouve à même pas 2€ ici: https://fr.aliexpress.com/item/33047673289.html?src=google&src=google&albch=shopping&acnt=494-037-6276&isdl=y&slnk=&plac=&mtctp=&albbt=Google_7_shopping&aff_platform=google&aff_short_key=UneMJZVf&&albagn=888888&albcp=6459793138&albag=77316928277&trgt=743612850714&crea=fr33047673289&netw=u&device=c&gclid=EAIaIQobChMI-KGzpfra5wIVkETTCh25pAx2EAQYASABEgKsa_D_BwE&gclsrc=aw.ds
Mais tu as peut-être des raisons pour ton choix.
Cordialement
Antoine
-
Bonjour Yves
Regarde ces 2 posts
http://forum.locoduino.org/index.php?topic=157.0
http://forum.locoduino.org/index.php?topic=255.0
Cordialement
Marcel
-
@ Antoine
Merci pour ta réponse rapide.
Non, je n'ai aucune raison d'avoir choisi cette "maudite" carte. Tout simplement, je croyais que ce serait plus facile à mettre en oeuvre.
Je vais me commander un DFPlayer pour voir si je peux l'adapter. J'espère ne pas avoir les mêmes problèmes.
@ Marcel
Merci également pour cette solution qui me semble plus facile (!) pour mon niveau de connaissances.
Par contre je n'ai jamais utilisé les entrées SPI, SCK, MISO,....
Je dois avoir un module de carte SD dans une boite. Je regarde si je peux tester cette solution.
A bientot
Yves
-
Merci également pour cette solution qui me semble plus facile (!) pour mon niveau de connaissances.
Ce n'est pas une bagarre entre Marcel et moi, on s'entend trop bien, mais je cherche la difficulté dans l'exemple joint.
Cordialement
Antoine
-
Merci également pour cette solution qui me semble plus facile (!) pour mon niveau de connaissances.
Ce n'est pas une bagarre entre Marcel et moi, on s'entend trop bien, mais je cherche la difficulté dans l'exemple joint.
Cordialement
Antoine
Aaah !!!
Non, je ne cherche pas à vous opposer, loin de moi cette idée :)
Je ne vois aucune difficulté de cablage ni d'un coté ni de l'autre.
C'est juste que le module DFPlayer, je ne l'ai pas sous la main et que j'ai un module de carte SD que je n'ai jamais testé.
Si difficulté il y a, ce serait plutot dans l'adaptation du code du DFPlayer qui est un module DFRobot comme mon DFR0534 et où je bute sur les différentes commandes.
J'ai regardé le site DFRobot, et effectivement, le code parait plus simple que pour mon module.
Je testerai et te ferai un retour.
Mais si je peux utiliser plusieurs solutions, je ne serai pas pris s'il me reste une carte son de coté : j'ai d'autres projets où je pourrai l'utiliser sans problème (surtout au prix où on peut la trouver).
Ce qui m'importe c'est d'apprendre : je suis quand même débutant en arduino depuis peu. Et plus j'en découvre, plus ça m'interesse.
Il me reste encore un peu de temps avant d'être atteint par les maladies de la mémoire (quoique !!!).
Cordialement
Yves
-
Je peux t'en envoyer 1 ou 2 si cela t’arrange, j'en ai pas mal en stock pour mon train de jardin
-
Je peux t'en envoyer 1 ou 2 si cela t’arrange, j'en ai pas mal en stock pour mon train de jardin
Super !
J'en veux bien 1.
Je viens d'en commander chez banggod, mais au moins 3-4 semaines de délai et peut être farcies du virus.
Je te la renverrai dès ça arrive.
Je te fournis mon adresse en MP
Merci
-
Bonjour Yves
Regarde ces 2 posts
http://forum.locoduino.org/index.php?topic=157.0
http://forum.locoduino.org/index.php?topic=255.0
Cordialement
Marcel
Bonjour Marcel
J'ai bien pu tester cette première solution avant de voir celle avec DFPlayer.
Après avoir bien formatter les fichiers wav avec les bonnes caractéristiques, j'ai pu lancer mes sons sans souci sur une platine d'essai avec 2 lettres dans le moniteur série et 2 sons (voir le croquis ci-joint).
Mais je butte sur un problème :
Dans la bibiothèque TMRpcm, il est bien dit : "Lecture asynchrone: permet au code de la boucle principale de s'exécuter pendant la lecture audio."
Or quand je lance le son au moment du déclenchement de mon annonce PN, ça fonctionne, mais au démarrage des servos (7s après), les servos ne répondent pas.
Je décrémente bien le compteur de l'angle de fermeture, mais les moteurs restent fixes !
Dans mon programme, je n'ai aucun delay(). Tout est géré avec des compteurs utilisant millis().
Est-ce que quelqu'un a déja remarqué le phénomène, ou bien j'aurais raté quelque chose ?
J'ai fait quelque chose de simple puisque je n'ai qu'un son à envoyer :
pour la commande :
if (digitalRead(PIN_CSR_T) == 0){etat_CSR_T = false; audio.play("annonce1.wav"); son1= 1;} // memorisation du CSR
pour l'arrêt, je stoppe le son à environ 8° de l'horizontal, soit 1190, alors que la fin de course du servo est à 1100 :
if ((angle_SR1 <= 1190) && (son1 == 1)) {audio.pause(); son1 = 0;} // arrêt du son
Quand je remonte les barrières, il y a un mouvement des servos qui se remettent en concordance avec la valeur 1100 et ça remonte normalement.
Quand j'enlève audio.play("annonce1.wav");, tout fonctionne normalement
J'ai l'impression qu'il y a interférence.
Un indice ?