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