Bouton poussoir - Audio

Bonjour tout le monde,

Je me permets d'écrire ce nouveau sujet car je souhaite m'initier à l'arduino.
Tout d'abord je souhaite préciser que je n'ai aucune connaissance en arduino ni en sa programmation associé et très peu pour les circuits électriques. J'ai uniquement des connaissances en langage R mais qui ne seront pas utiles ici je pense. Bref je commence de bien bas !
Dans le cadre d'une exposition sur la biodiversité africaine je souhaite mettre en place un module interactif avec 6 boutons poussoirs associés chacuns à 6 bruits d'animaux différents. Après quelques recherches il me semble que l'arduino est la seule option pour ce projet.

Bon, rentrons dans le vif du sujet :
Pour la partie "audio" j'ai vu que le DFplayermini est un module mp3 qui peut être directement connecté à un haut parleur.
Pour la partie bouton-poussoir voici un schéma que j'ai repéré sur internet. Si j'ai bien compris, les boutons poussoir sont en parallèle et entre chaque bouton poussoir il y a une résistance électrique. Donc l'idée est que les résistances électriques s'additionnent (principe que j'ai du mal à cerner d'ailleurs). Je n'ai pas compris d'ailleurs l'intérêt du "pull down" sur le schéma.

Je ne sais pas encore comment connecté le module mp3 ni l'enceinte.

J'ai également découvert le site tinkercard qui permet de mettre en place un circuit et un code et de faire une simulation mais malheureusement ils ne proposent pas les haut-parleurs ni les modules mp3. A tout hasard connaissez vous d'autres simulateurs qui proposent ces outils ?

Concernant le code, auriez vous par hasard des conseils ou peut-être des exemples de script qui ressemble à mon projet ?

Je vous remercie d'avance pour votre aide précieuse !

Pierre

1 Like

R prend en charge la programmation procédurale avec des fonctions et la programmation orientée objet avec des fonctions génériques.

Le code Arduino c++ est composé de fonctions envoyant des paramètres à des fonctions pour effectuer des tâches électriques (physiques). Il semble assez similaire à R (dans le texte que j'ai lu).

Résistance en SÉRIE ajouter [r+r+r...] car l'électricité n'a qu'un seul chemin. La résistance en PARALLÈLE est l'inverse de la résistance totale [1/(r+r+r...)] car l'électricité empruntera de nombreux chemins, et généralement le chemin avec le moins de résistance.

Pour apprendre à coder... le monde veut que vous commenciez par "hello, world!"
"Hello, world!" d'Arduino le code est "blink.ino"

Vous devrez installer l'IDE Arduino. L'installation contient des exemples parfaits pour créer des circuits à bouton-poussoir, et avec un peu de découverte, votre projet sera bien avancé.

Peut-être pas le seul. En soi, le Dfplayer peut fonctionner de manière autonome sans que vous ayez à le contrôler avec un arduino ou un autre contrôleur, il suffit d'ajouter quelques boutons et résistances.

Lisez son DATASHEET en prêtant une attention particulière au point "3.5 Key Port" où il indique la connexion de plusieurs boutons-poussoirs et de leurs résistances associées, ainsi que la fonction réalisée par chacun d'eux. Le schéma complet du circuit est donné à la fin du document, figure 4.5.

Dans ce schéma, bien que cela soit supposé, la broche 7 ou 10 du Dfplayer doit être connectée à GND.

Cela dit, si vous voulez vraiment vous lancer dans le monde de l'arduino, faites-le moi savoir et je vous fournirai d'autres liens avec des exemples de codes et de circuits plus fiables que celui que vous avez inclus dans votre post, (bien qu'il fonctionne).

Pour que tu comprennes bien à l'avance la complexité de ton projet:
Ecrire un code que va lancer l'audio n°1 quand on appuie sur le bouton n°1, ou l'audio 2 avec le bouton 2, etc... c'est assez facile.
Mais il va falloir gérer les cas scabreux :

  • l'utilisateur appuie sur 2 boutons en même temps,
  • pendant que l'audio 1 joue, l'utilisateur appuie sur un autre bouton (le 2 par ex.), que faire ? arrêter l'audio 1 et lancer l'audio 2 ? ou bien laisser l'audio 1 terminer et lancer l'audio 2 dès qu'il a fini ? ou ignorer l'appui sur le 2 ?

Tout ça en gérant les rebonds des boutons.

A toi de prévoir tous ces cas et de savoir comment y répondre.

Tu es sûr de toi là ???
N fois la même résistance en parallèle est équivalent à cette résistance divisée par N.

Oui.
1/r(t) = 1/r (+1/r+1/r...)

Bonjour gonpezzi,

Merci pour votre réponse !
J'ai regardé le DATASHEET du Dfplayer, et en effet, les Key Port semblent parfaitement répondre à mes attentes. Je pense donc m'orienter vers cette solution sans utiliser d'arduino car je gagnerai beaucoup de temps. En revanche, une fois ce projet finis je prendrais le temps de m'initier à l'arduino !
Je pense donc utiliser seulement le KeyPort 2 qui ne contient que des "segments". Si j'ai bien compris un "segment" est le simple fait de lire un audio. Je n'aurais pas besoin du KeyPort 1 car je ne souhaite pas donner la possibilité de passer aux audios suivants.
La seule question dont je n'ai pas encore trouvé la réponse c'est le nom que je dois donner à mes 6 fichiers audio pour que le Dfplayer puisse les associer au bon bouton poussoir.

J'ai réalisé un nouveau schéma ci-dessous :

Merci d'avance pour ton aide !

Le nouveau schéma est tout à fait correct et fonctionnel.

Par segment fait référence au fichier, et le nom du fichier doit être numéroté avec 4 chiffres de 0005 à 0010 puisque ce sont les segments que vous utilisez.

Bonjour,

Merci pour votre réponse.
Il serait peut-être préférable d'acheter un kit breadboard pour faire un prototype avant ?
A ce propos, avez-vous des conseils de site qui vend des pièces fiables (que ce soit pour le prototype ou pour le modèle final) car je vois absolument tous les prix ...
Enfin, concernant le bouton poussoir, avez-vous des conseils sur lequel acheter ? Car j'ai vu un commentaire sur amazon où certains bouton poussoir ne délivrent pas une impulsion unique et précise, parfois cela peut arriver que le bouton délivre 2 impulsions (c'est ce qu'on appelle un "rebond" si j'ai bien compris) ce qui peut induire en erreur l'appareil.

Merci d'avance pour votre retour !

Pierre

Ce qui est le cas de tous les boutons poussoirs. En règle générale, il faut mettre en place un anti-rebond, mais il serait étonnant que le DFPLAYER ne gère pas les rebonds. C'est à essayer.

Ce projet est si simple que si vous faites bien les connexions, il ne sera pas nécessaire, bien que si vous envisagez de continuer dans ce monde et de faire d'autres projets, un breadboard sera très utile et vous l'auriez déjà.

La vérité est que pour le projet final c'est une très mauvaise idée d'utiliser un breadboard, vous devrez utiliser un PCB et souder dessus les résistances et quelques connecteurs et broches de fil pour brancher le Dfplayer. J'espère que vous avez un fer à souder et que vous savez souder, c'est fondamental pour la stabilité du projet final.

Pour le monde de l'arduino, au final tout vient du marché chinois, j'évalue le délai de livraison. Amazon est plus cher mais la livraison se fait dans un court laps de temps et Alieprex est beaucoup moins cher mais cela peut prendre beaucoup de temps pour obtenir le produit. Regardez les deux liens dans le paragraphe précédent et vous aurez une idée, prêtez une attention particulière à celui concernant le pcb, il est livré avec tout ce dont vous aurez besoin sauf les résistances et le Dfplayer.

Quant au bouton, je pense la même chose que @hbachetti, tout le monde a cet effet de rebond et nous devrons tester comment le dfplayer gère les rebonds, je suppose que ça ira bien avec une pression ferme. J'ai utilisé CES pour certains projets finaux et ils fonctionnent très bien.

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.