DfPlayer an ESP8266 anschließen

Hallo,

ich versuche gerade einen DFPlayer zur Audiowiedergabe an einen ESP8266 anzuschließen. Ich bin jedoch ratlos warum keine Audiowiedergabe erfolgt.

Ich habe den Player zur Stromversorgung an GND und an 3,3V angeschlossen und den TX und RX Anschluss des Players an SD2 und D4 des ESPs.

Dazu habe ich folgenden Code verwendet, allerdings spielt der Piezo, der an den DFPlayer angeschlossen nicht.


#include "Arduino.h"
#include "SoftwareSerial.h"
#include "DFRobotDFPlayerMini.h"



SoftwareSerial mySoftwareSerial(9, 2); // RX, TX
DFRobotDFPlayerMini Wiedergabe;          // Objekt initialisieren -> "Wiedergabe" (nachdem Biblio eingebunden)



void setup()
{
  mySoftwareSerial.begin(9600);
  Serial.begin(115200);

 

//-------------------------------------------------------------------------------------------------------  
  if (!Wiedergabe.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){
      delay(0);                                           // Code to compatible with ESP8266 watch dog.
    }
  }
  
  Serial.println(F("DFPlayer Mini online."));
//-------------------------------------------------------------------------------------------------------

  Wiedergabe.volume(30);  // Set volume value. From 0 to 30
  Wiedergabe.enableLoopAll();
  
}


void loop()
{

}

Vielen Dank im Vorraus

Womit betreibst du den Wemos D1 mini ?
Der Strom aus dem 3,3V Anschluss reicht nicht aus um den DFplayer zu betreiben.
Du musst den DFplayer mit eine stabilen Spannung betreiben, wo auch der Strom ausreicht. Und die serielle Schnittstelle hast du richtig angeschlossen ?

Edit:
Deine Pinbezeichnug in SoftwareSerial kann nicht stimmen.
Verwende besser die GPIO-Kennzeichnung.
Und mit einem Piezo wird das auch nichts. Du brauchst einen richtigen Lautsprecher mit ca. 8 Ohm.

Hallo,
versuche erst mal ohne den ESP dazu mußt Du den IO1 oder IO2 vom DF Player mal kurz auf 0V schalten. Also mit einem Draht gegen 0V tippen. Dann ist das erst mal Hardware gesteuert und Du kannst die Funktion an sich testen. Das Manual von dem Ding hast Du ?
Heinz

Ich habe den Code vorher einmal mit dem selben Piezo auf einem Arduino Uno getestet und auch 3,3V angeschlossen. Hier funktioniert es.

Und ich hab doch die GPIO Kennzeichnung im Code verwendet?

Kann nicht sein, der Wemos hat kein GPIO9.

Und wenn es am Uno funktioniert, heißt es nicht, das es auch am Wemos funktionieren muss.
Der Strom für 3,3,3V reicht nicht aus, um eine vernünftige Funktion zu erhalten.
Was für ein Piezo soll das sein ? Poste bitte einen Link dazu.

Hallo,

GPIO6 to GPIO11 are usually connected to the flash chip in ESP8266 boards. So, these pins are not recommended to use.

Ok, ich habe vergessen zu sagen, dass es sich um ein ESP8266-Board NodeMCU handelt und als Piezo verwende ich diesen: https://create.arduino.cc/projecthub/SURYATEJA/use-a-buzzer-module-piezo-speaker-using-arduino-uno-89df45

Das sind Buzzer Quäker, aber keine Lautsprecher. Die sind nicht für eine gute Tonwiedergabe geeignet. Der liefert nur 1000Hz, aber keinen sauberen Klang.

Zu den GPIO sagst du nix ?
Auch der NodeMCU hat keinen nutzbaren GPIO9. Siehe Post #6.

ich habe es nun einmal mit GPIO 0 und 2 oder 2 und 1 versucht für den TX und RX Anschluss des Players. Das funktioniert jedoch auch noch nicht

Super Aussage...
Also nochmal: hast du die serielle richtig angeschlossen ?

Zeige ein Schaltbild, wie du die angeschlossen hast.
Und hast du mal probiert, was dir @Rentner in Post #3 geschrieben hast ?

Ja, #3 habe ich ausgeführt und der Piezo gibt die Audio Dateien wieder.

Und ich denke ich habe den Player richtig angeschlossen. Aktuell wie folgt:

SoftwareSerial mySoftwareSerial(0, 2); // RX, TX

So wie es aussieht, hast du es falsch angeschlossen.
Du musst RX auf TX und TX auf RX schalten.

Wenn ich die beiden vertausche geht es leider immer noch nicht.

Was mich auch wundert ist, dass der serielle Monitor keine Daten anzeigt

Wie versorgst du den ESP mit Strom?

Laut deinem Verdrahtungsplan steckt Vcc (+) des DFplayers an VIN des ESP.

Falls du denESP aber über USB mit Strom versorgst, so liegt an VIN keine "brauchbare" Spannung an.
Falls du ein Multimeter hast, miss nach.

genau, ich versorge den DfPlayer über den USB mit Strom. Ich habe aber leider kein Multimeter zum Nachmessen

Ich habe das mal nachgebaut:


Und so wie es auf dem Bild zu sehen ist funktioniert es mit deinem Code.
Dabei sind RX und TX vertauscht zu deinem Schaltplan (#11). Das hat @HotSystems ja schon erwähnt.

Allerdings war die Stromversorgung ein Problem - das hat @HotSystems auch schon erwähnt.

Wenn ein 3,3 Volt Pin des ESP verwendet wird funktioniert es nicht (da gibt der DFPlayer höchstens wildes Surren von sich).
Und beim Anschluss an VIN tut sich gar nichts.

Es funktioniert aber wenn der DFPlayer mit 5 Volt versorgt wird.

Allerdings: Wenn man den ESP über USB mit Strom versorgt, liegt an keinem Pin am Pin VV Pin VU 5 Volt an (siehe #20).

Ich habe das so gelöst, dass ich ein Kabel an den rechten Pin (im Bild links) des Spannungsreglers gelötet habe (denn da liegen 5 Volt an) und damit den DFPlayer versorgt habe.
Nachtrag: Das kann man sich sparen, denn an Pin VV VU liegen 5 Volt an (siehe #20)

1 Like

:slight_smile:
Eigenartig... (Den Satz) kenn ich irgendwoher...

:slight_smile:

Hier noch ein Bild, wo der "5 Volt Hack" besser zu sehen ist:

Nachtrag: Das kann man sich sparen. 5 Volt liegen an Pin VV VU (der ist am unteren Bildrand gerade noch zu sehen/ahnen).
Siehe auch #20

Ist schon grenzw..
Aber gut!

Ähm.. Ich wollt grad nen Respekt-Smiley vergeben.
Versuch mal in der emoji-SuFu resp einzugeben :wink:
Na denn...
Hiermit: RESPEKT!

Also auf meinem ESP8266 hab ich 5V vom USB :wink: