Auteur Sujet: Carte son DFR0534  (Lu 20210 fois)

Yves21000

  • Newbie
  • *
  • Messages: 11
    • Voir le profil
Carte son DFR0534
« 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
et les feux correspondants trouvés ici 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







« Modifié: février 18, 2020, 05:15:39 pm par Yves21000 »

Tony04

  • Hero Member
  • *****
  • Messages: 569
    • Voir le profil
Re : Carte son DFR0534
« Réponse #1 le: février 18, 2020, 12:11:34 pm »
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

CATPLUS

  • Sr. Member
  • ****
  • Messages: 435
    • Voir le profil
Re : Carte son DFR0534
« Réponse #2 le: février 18, 2020, 12:53:30 pm »
Best Regards

Yves21000

  • Newbie
  • *
  • Messages: 11
    • Voir le profil
Re : Carte son DFR0534
« Réponse #3 le: février 18, 2020, 02:13:42 pm »
@ 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

Tony04

  • Hero Member
  • *****
  • Messages: 569
    • Voir le profil
Re : Re : Carte son DFR0534
« Réponse #4 le: février 18, 2020, 03:35:04 pm »
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


Yves21000

  • Newbie
  • *
  • Messages: 11
    • Voir le profil
Re : Re : Re : Carte son DFR0534
« Réponse #5 le: février 18, 2020, 05:15:12 pm »
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

 

 

« Modifié: février 18, 2020, 05:16:43 pm par Yves21000 »

Tony04

  • Hero Member
  • *****
  • Messages: 569
    • Voir le profil
Re : Carte son DFR0534
« Réponse #6 le: février 18, 2020, 05:27:17 pm »
Je peux t'en envoyer 1 ou 2 si cela t’arrange, j'en ai pas mal en stock pour mon train de jardin

Yves21000

  • Newbie
  • *
  • Messages: 11
    • Voir le profil
Re : Re : Carte son DFR0534
« Réponse #7 le: février 18, 2020, 06:35:23 pm »
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
« Modifié: février 18, 2020, 11:35:33 pm par Yves21000 »

Yves21000

  • Newbie
  • *
  • Messages: 11
    • Voir le profil
Re : Re : Carte son DFR0534
« Réponse #8 le: février 20, 2020, 02:49:54 pm »
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 ?


 
« Modifié: février 20, 2020, 02:51:41 pm par Yves21000 »