Plusieurs boutons poussoirs pour lire différents fichiers mp3 avec du bon son

Bonjour,

Je débute sur Arduino. Grand merci d'avance pour toute l'aide que vous pourrez m'apporter !

Je voudrais réaliser un montage sur carte arduino qui me permette d'enclencher un son grâce à un bouton poussoir. J'aimerais sur une même carte arduino brancher plusieurs boutons poussoirs qui permettraient d'activer chacun un son différent.

Par exemple j'appuie sur le bouton poussoir 1 cela enclenche le son numéro 1, le bouton poussoir 2 enclenche le son 2, le bouton poussoir 3 enclenche le son numéro 3, etc.

Pour l'instant j'aimerais avoir 5 ou 6 sons.

Ces sons doivent être écoutables au casque.

Je ne trouve pas vraiment de montage similaire sur le forum ou sur internet.

Avez-vous une idée du montage que je dois faire ?
Est ce possible de sortir du son en stereo ou est ce seulement du mono avec les Df player ?
Puis-je régler en plus le volume et si oui comment ?
Combien de bouton poussoir puis-je mettre sur une carte arduino ?

De quel matériel ai-je besoin ?
J'ai une carte arduino Uno
Une pile pour l'alimenter (le montage doit être autonome sans ordinateur)
J'ai acheté plusieurs lecteurs DF player modèle MP3 - TF - 1CP
Une breadboard pour m'entrainer
Des casques
En terme de matériel en plus à acheter : Dois je acheter un amplificateur ? (il faut que le son sorte bien c'est pour un projet sonore) On m'a parlé aussi d'un driver à acheter en plus type DM860E mais je n'ai pas bien compris à quoi cela pouvait servir et si c'était utile dans mon cas ?
Une sortie jack ?

Grand merci pour tout vos retours et votre aide précieuse !

Pour 6 boutons en mono, vous n'avez besoin que de l'arduino, 6 boutons et d'un DFPlayer. le code est assez trivial avec les bibliothèques. Le DFPlayer Pro aura une sortie à 2 canaux.

la structure du code ce pourrait être cela

reste plus qu'à appeler la fonction qui joue le son au lieu de faire le print en fonction du module retenu et de sa bibliothèque (idéalement il faudra aussi gérer ce qu'il se passe si vous appuyez sur un bouton pendant qu'un MP3 est en lecture)

Merci J-M-L pour votre retour !! Je me penche en début de semaine sur ce que vous m'avez dit et j'essaye. Sans amplificateur le son sort bien ?
Tout à fait pour la gestion du son qui s'enclenche pendant qu'un autre est en lecture ! je n'avais pas pensé à cela. Je vais aussi le noter pour y réfléchir. Je reviens sur cette discussion dès que testé (avec le lot de problèmes que j'aurai surement...) en tout cas grand merci !

jq6500 28P https://www.sitakiki.fr/modnaval/sons.html

https://sparks.gogo.co.nz/jq6500/index.html

VS1053

gpd2864A

trop tard vu les dfplayer achetés

A noter quand même que si c'est juste pour jouer des morceaux sur l'appui de boutons, la carte Arduino n'a aucune valeur ajoutée. Le DFPlayer-Mini permet de faire cela juste en connectant des boutons (jusqu'à 20 boutons) et des résistances directement sur le module.

Je connais cette possibilité mais je n'ai jamais joué avec. Il y a des fonctions générales (play, payse, loop, volume) mais est-ce que Segment1 veut dire jouer le premier fichier et Segment2 veut dire jouer le deuxième fichier ? (des discussions semblent dire cela mais la doc n'est pas explicite à ce sujet)

Merci de votre réponse ! Je peux en acheter d'autres ! En plus l'avantage du JQ6500 il me semble c'est qu'il a l'air de lire les fichiers stereo... Je vais me pencher d'avantage dessus demain.

Merci je vais regarder aussi cette option sans carte arduino.

Bonjour je reviens vers vous après avoir peu avancé car j'ai un soucis que je ne comprends pas.

Je remets ici mon projet et le problème que je rencontre :

Pour rappel :
Je voudrais réaliser un montage sur carte arduino qui me permette d'enclencher un son grâce à un bouton poussoir. J'aimerais sur une même carte arduino brancher plusieurs boutons poussoirs qui permettraient d'activer chacun un son différent. Par exemple j'appuie sur le bouton poussoir 1 cela enclenche le son numéro 1, le bouton poussoir 2 enclenche le son 2, le bouton poussoir 3 enclenche le son numéro 3, etc. Ces sons doivent être écoutables au casque.

Pour l’instant j’ai en ma possession :

une carte arduino Uno
Une pile pour l'alimenter (le montage doit être autonome sans ordinateur) —> j’ai une pile 9v mais je vais changer car trop gourmand en énergie
Un lecteur DF player modèle MP3 - TF - 1CP avec une mini carte SD
Une breadboard pour m'entrainer
Un casque audio
Un amplificateur modèle Bewinner Carte Amplificateur Casque TPA6120A2
Des petits hauts-parleurs pour m’entraîner 2 W 8 ohms

Mon problème :

J’ai fait le montage électronique plusieurs fois mais rien ne sort de ma carte. Une fois de manière très aléatoire un son est sorti lorsque j’ai appuyé sur le bouton poussoir.
J’ai tenté de faire plusieurs configurations différentes des plus simples (juste avec le 5V branché et le GND) à plus se rapprochant de ce que je veux et la led de ma carte DF player ne s’allume pas ou alors juste une fois de manière succincte puis s’éteint et ensuite m’apparait ce message dans l’IDE d’arduino via le moniteur série :

Initialisation du DFPlayer Mini...
Erreur : Impossible de détecter le DFPlayer Mini !
Vérifie le câblage, la carte SD et la résistance 1kΩ sur RX.

Voici mon branchement :
Le df player avec pin VCC branchée au 5v branchée à Arduino et GND du df player branché au GND de l’arduino.
Le haut parleur + et - vers SPK - et + du DF player
RX du DF player sur Pin 10 avec résistance de 1Kohms (et j’ai essayé sans aussi)
TX du DF player sur Pin 11 sans résistance (et j’ai essayé avec aussi)

J’ai également essayé avec plusieurs boutons poussoirs branchés à la masse et à l’Arduino.

Et avec plusieurs codes différents générés par Chat GPT ou à l’aide de ce Forum. Je vous mets un exemple de code en bas, à la fin de ce mail.

J’ai essayé également de changer l’alimentation en utilisant un power supply module 1 pc branché avec une alimentation externe 5V sur la breadboard (mais comme aucun son ne sort même quand l’arduino est connecté en USB à l’ordinateur et que sa led est allumé je pense que ce n’est pas le pb)

J’ai d’ailleurs une autre question concernant l’alimentation mais je crois que ça viendra plus tard, déjà si j’arrive à faire sortir du son de mes petits hauts parleurs ce serait super. Après l’étape suivante sera d’ajouter l’amplificateur en faisant gaffe à ne pas dépasser les mA de l’arduino et donc si besoin d’ajouter une alimentation externe. Et ça je sais pas trop non plus comment faire.

Aussi j’ai changé de Df player parce que j’en ai plusieurs et c’est pareil pour tous.

Et j’ai aussi fait gaffe à bien formaté ma carte SD en FAT32 avec les sons MP3 à la racine nommés 0001.mp3.

Je pense qu’il doit y avoir tout simplement un soucis dans mes branchements...

Voici un exemple de code utilisé :

#include <SoftwareSerial.h>
#include <DFRobotDFPlayerMini.h>

// Définir les broches pour la communication avec le DFPlayer Mini
SoftwareSerial mySoftwareSerial(10, 11); // RX, TX
DFRobotDFPlayerMini myDFPlayer;

// Définir les broches pour les boutons poussoirs
const int bouton1Pin = 2;
const int bouton2Pin = 3;

void setup() {
  // Initialiser les broches des boutons comme des entrées
  pinMode(bouton1Pin, INPUT_PULLUP);
  pinMode(bouton2Pin, INPUT_PULLUP);
  
  // Initialiser la communication série
  Serial.begin(9600);
  mySoftwareSerial.begin(9600);
  
  // Initialiser le DFPlayer Mini
  if (!myDFPlayer.begin(mySoftwareSerial)) {
    Serial.println("DFPlayer Mini non trouvé !");
    while(true);
  }
  Serial.println("DFPlayer Mini est prêt.");

  // Ajuster le volume (facultatif, entre 0 et 30)
  myDFPlayer.volume(20); // Volume par défaut à 20
}

void loop() {
  // Vérifier l'état des boutons
  if (digitalRead(bouton1Pin) == LOW) { // Si bouton1 est pressé
    Serial.println("Bouton 1 appuyé, jouer son 1");
    myDFPlayer.play(1); // Jouer le son 1 (fichier 0001.mp3 ou 0001.wav sur la carte SD)
    delay(500); // Anti-rebond et éviter les multiples lectures
  }

  if (digitalRead(bouton2Pin) == LOW) { // Si bouton2 est pressé
    Serial.println("Bouton 2 appuyé, jouer son 2");
    myDFPlayer.play(2); // Jouer le son 2 (fichier 0002.mp3 ou 0002.wav sur la carte SD)
    delay(500); // Anti-rebond et éviter les multiples lectures
  }
}


Je vous joins également une photo de mon branchement (j'espère que c'est possible de faire ça selon les règles du forum, je ne sais pas faire de schéma...)



J'ai bien noté les différentes réponses sur mon post qui me conseillait peut-être d'autres modèles de DF player. Je vais d'abord essayer de faire sortir du on de celui ci de manière simple et ensuite en fonction voir ce qui sera le mieux à acheter.

Grand merci d'avance encore une fois pour toute l'aide que vous pourrez m'apporter.

Lorine