Bonjour,
Merci de m’accueillir ici.
J'ai un projet: je voudrais réaliser un montage qui déclencherait la lecture d'un message sonore "Ca va être tout noir!" lorsque la lumière s'éteint.
Je me suis procuré un ESP32 il y a 15 jours. ( uPesy ESP32 Wroom DevKit v2)
En attendant mon Dfplayer j'ai créé un montage qui affiche un message texte sur un écran Oled (en alternance avec un dessin de mammouth) dès que la lumière s'éteint. On se rapproche du but...
J'ai un souci: je n'arrive pas à commander le Dfplayer avec mon Esp32.
J'ai tenté d'utiliser quelques scripts dont celui-ci qui est souvent proposé.
#include "Arduino.h"
#include "SoftwareSerial.h"
#include "DFRobotDFPlayerMini.h"
SoftwareSerial mySoftwareSerial(16, 17); // RX, TX
DFRobotDFPlayerMini myDFPlayer;
void printDetail(uint8_t type, int value);
void setup() {
mySoftwareSerial.begin(9600);
Serial.begin(115200);
Serial.println();
Serial.println(F("DFRobot DFPlayer Mini Demo"));
Serial.println(F("Initializing DFPlayer ... (May take 3~5 seconds)"));
if (!myDFPlayer.begin(mySoftwareSerial)) { //Use softwareSerial to communicate with mp3.
Serial.println(F("Unable to begin:"));
Serial.println(F("1.Please recheck the connection!"));
Serial.println(F("2.Please insert the SD card!"));
while (true)
;
}
Serial.println(F("DFPlayer Mini online."));
myDFPlayer.volume(10); //Set volume value. From 0 to 30
myDFPlayer.play(1); //Play the first mp3
}
void loop() {
static unsigned long timer = millis();
if (millis() - timer > 3000) {
timer = millis();
myDFPlayer.next(); //Play next mp3 every 3 second.
}
if (myDFPlayer.available()) {
printDetail(myDFPlayer.readType(), myDFPlayer.read()); //Print the detail message from DFPlayer to handle different errors and states.
}
}
void printDetail(uint8_t type, int value) {
switch (type) {
case TimeOut:
Serial.println(F("Time Out!"));
break;
case WrongStack:
Serial.println(F("Stack Wrong!"));
break;
case DFPlayerCardInserted:
Serial.println(F("Card Inserted!"));
break;
case DFPlayerCardRemoved:
Serial.println(F("Card Removed!"));
break;
case DFPlayerCardOnline:
Serial.println(F("Card Online!"));
break;
case DFPlayerPlayFinished:
Serial.print(F("Number:"));
Serial.print(value);
Serial.println(F(" Play Finished!"));
break;
case DFPlayerError:
Serial.print(F("DFPlayerError:"));
switch (value) {
case Busy:
Serial.println(F("Card not found"));
break;
case Sleeping:
Serial.println(F("Sleeping"));
break;
case SerialWrongStack:
Serial.println(F("Get Wrong Stack"));
break;
case CheckSumNotMatch:
Serial.println(F("Check Sum Not Match"));
break;
case FileIndexOut:
Serial.println(F("File Index Out of Bound"));
break;
case FileMismatch:
Serial.println(F("Cannot Find File"));
break;
case Advertise:
Serial.println(F("In Advertise"));
break;
default:
break;
}
break;
default:
break;
}
}
voici le message d'erreur:
"Unable to begin:
1.Please recheck the connection!
2.Please insert the SD card!"
voici mon câblage: 1 hosted at ImgBB — ImgBB

J'ai refais mes connections.
j'ai vérifié que je ne prenais pas le Dfplayer à l'envers...
inversé les Gpio 16 et 17
Changé d'emplacement sur ma board.
changé mes câbles.
j'ai testé avec un autre Dfplayer (j'en ai 4...)
Testé en 3.3v et 5v
Changé de port pour la masse.
Le Dfplayer fonctionne en indépendant, je lis des fichiers MP3, je zappe et je modifie le volume sans problème.
Lorsque je supprime la partie test du script j'obtiens ce message sur le moniteur:
A6 : 0x00060520 A7 : 0x00000000 A8 : 0x00000000 A9 : 0x0000000a
A10 : 0x00000000 A11 : 0x3f40037f A12 : 0x0000000a A13 : 0x0000ff00
A14 : 0x00ff0000 A15 : 0xff000000 SAR : 0x0000001f EXCCAUSE: 0x0000001c
EXCVADDR: 0x00000000 LBEG : 0x400eadb0 LEND : 0x400eadba LCOUNT : 0x00000000
ELF file SHA256: 0000000000000000
Backtrace: 0x400d1a84:0x3ffb1f20 0x400d1ad3:0x3ffb1f40 0x400d1b1c:0x3ffb1f60 0x400d0e3a:0x3ffb1f80 0x400d3096:0x3ffb1fb0 0x4008651d:0x3ffb1fd0
Rebooting...
ets Jun 8 2016 00:22:57
rst:0xc (SW_CPU_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT)
configsip: 0, SPIWP:0xee
clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
mode:DIO, clock div:1
load:0x3fff0018,len:4
load:0x3fff001c,len:1216
ho 0 tail 12 room 4
load:0x40078000,len:10944
load:0x40080400,len:6388
entry 0x400806b4
Merci pour votre aide ![]()

