DFPlayer mini Modul für Arduino
In diesem Artikel schauen wir uns das DFPlayer mini Modul für Arduino an.
Für den Bau eines neuen DIY Smart-Home Projekts suchte ich einige Zeit nach einem brauchbaren Arduino-Modul, mit dem Audio-Dateien (z.B. MP3) abgespielt werden können. Hierbei bin ich auf das folgende Modul gestoßen:
AZDelivery Mini MP3 Player DFPlayer Master Module inklusive E-Book!
Preis: 6,79 €
2 gebraucht & neu ab 6,79 €
Das DFPlayer Modul ist für wenige Euros auf Amazon oder ebay erhältlich. Ich habe das oben verlinkte Modul bestellt und auch flott geliefert bekommen.
Hier zunächst einige technische Spezifikationen zum Modul:
Eigenschaft | Wert |
Spannungsversorgung | 3.2 – 5.0 V |
Stromaufnahme im Standby | 20 mA |
Micro-SD-Kartengröße | Max. 32 GB |
Dateisystem | FAT16 oder FAT32 |
Dateitypen | MP3 und WAV |
Modul-Kommunikation | Seriell RX/TX |
Baudrate | 9600 |
Audio-Leistung | Lautsprecher – bis 3W |
Unterstützte Abtastraten (kHz) | 8 / 11.025 / 12/16 / 22.05 / 24/32 / 44.1 / 48 |
Die Audio-Dateien können hier direkt von einer Micro-SD Speicherkarte gelesen werden. Als Speicherkarte habe ich folgende Karte ohne Probleme verwendet:
Intenso Micro SDHC 8GB Class 10 Speicherkarte inkl. SD-Adapter schwarz
Preis: 3,59 €
21 gebraucht & neu ab 3,59 €
Die Dateien können entweder ins Hauptverzeichnis oder in Unterordner kopiert werden. Im Hauptverzeichnis können maximal 3.000 Dateien abgelegt werden. In den Unterverzeichnissen gibt es diese Beschränkung nicht. Zudem sollten die Dateinamen in folgendem Format aufgebaut sein:
0001.mp3
0002.mp3
0003.mp3
…
Weitere Details können auch hier vom technischen Datenblatt entnommen werden:
https://wiki.dfrobot.com/DFPlayer_Mini_SKU_DFR0299
Bevor wir mit Aufbau der Komponenten sowie der Programmierung beginnen, bereiten wir nun die SD-Karte vor. Hierzu habe ich zunächst eine neue SD-Karte formatiert (FAT32). Wichtig ist auch, dass die Karte nur über eine Partition verfügt. Falls eine Boot-Partition angelegt ist, muss diese entfernt werden.
Im nächsten Schritt können wir dann eine Beispiel-Datei mit dem Namen „0001.mp3“ auf die SD-Karte kopieren.
Die SD-Karte ist nun vorbereitet und kann im nächsten Schritt in das Modul eingeschoben werden.
AZDelivery Mini MP3 Player DFPlayer Master Module inklusive E-Book!
Preis: 6,79 €
2 gebraucht & neu ab 6,79 €
Preis: ---
0 gebraucht & neu ab
Im nächsten Schritt können wir mit dem Aufbau der Schaltung beginnen. Im folgenden Schaltplan ist der Aufbau dargestellt:

Der Schaltplan ist relativ einfach aufgebaut. Das Modul wird über die 5V Spannungsversorgung des ESP8266 versorgt. Zudem werden die Kommunikations-Pins TX/RX mit den Pins D1 und D2 verbunden.
Wir können jetzt mit der Programmierung des Moduls beginnen. Hierzu verwende ich die Arduino IDE. Im ersten Schritt muss die benötigte Bibliothek für das MP3 Modul installiert werden. Dazu öffnest Du im Menü den Bereich „Werkzeuge“ und wählst den Menüpunkt „Bibliotheken verwalten…“.

Im Bibliotheksverwalter suchst Du nun nach der Bibliothek „DFRobotDFPlayerMini“ und installierst die gefundenen Bibliothek.

Nach der Installation können wir nun aus den mitgelieferten Beispielen das folgende Beispiel auswählen.

Im letzten Schritt habe ich noch die Kommunikations-Ports des Moduls angepasst und hier D1 und D2 verwendet (siehe Schaltung weiter oben).

Wenn wir nun den Sketch auf den ESP8266 hochladen und das Modul dann neustarten, sollte unsere MP3-Datei auf der SD-Karte abgespielt werden.
Pingback: ioBroker Signalgeber mit einem ESP8266 – smarthome-tricks.de
Hallo Matthias,
was ist denn für ein Lautsprecher verbaut bzw. was ist möglich/max. notwendig.
Grüße
Hallo Matthias,
das Playermodul finde ich sehr interessant. Leider bekomme ich es an einem ESP nicht zum Laufen (sowohl NodeMCU in 2 Ausführungen, sowie auf einem Wemos D1 Mini Pro).
Es erscheint im seriellen Monitor immer folgende Meldung:
DFRobot DFPlayer Mini Demo
Initializing DFPlayer … (May take 3~5 seconds)
Unable to begin:
1.Please recheck the connection!
2.Please insert the SD card!
Auf einem Arduino Uno läuft der Sketch sauber durch (mit zusätzlichem Widerstand 1K)
Auch eine extra Stromversorgung für das Playermodul hilft nicht weiter.
Irgendwelche Tipps?
MfG
Schönes WE
Moin Mark,
hast Du mal versucht den ESP8266 direkt nach dem Flashen zu trennen und dann neu einzustecken? Das war bei mir das Problem.
LG Matthias
Hallo Mark,
falls du noch damit beschäftigt bist: Ich konnte das Problem lösen, indem ich im Beispielcode „if (!myDFPlayer.begin(mySoftwareSerial)) {…}“ durch „if (!myDFPlayer.begin(mySoftwareSerial, false)) {…} “ ersetzt habe. Hoffe das hilft dir vielleicht weiter 🙂
VG
Moin,
habe alles so nachgebaut wie auf dem Schaltplan leider gibt er mir allerdings beim Flashen den Fehler „‚D1‘ was not declared in this scope“ aus. Zu dem Fehler gibt es auch einige Beträge aber leider hatte ich da keinen erfolg. Vielleicht hat hier einer von euch eine Lösung.
Danke im Vorraus,
Simon
Moin Simon,
du hast vermutlich beim Flashen ein falsches Board ausgewählt. Damit die Pin-Namen definiert sind, solltest du anstatt „Generic ESP8266“ z.B. den „Wemos D1 R1“ verwenden.
Grüße
danke mark, das hat bei mir funktioniert!