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:

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:

EigenschaftWert
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:

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.

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.

Matthias Korte

Hauptberuflich Software-Entwickler und seit einigen Jahren Smart-Home Fan. Angefangen hat alles mit einem RaspberryMatic und einer schaltbaren Steckdose. Mittlerweile habe ich einige Steckdosen, Sensoren, und Thermostate sowie ioBroker zur Visualisierung im Einsatz.

5 Gedanken zu „DFPlayer mini Modul für Arduino

  • Pingback:ioBroker Signalgeber mit einem ESP8266 – smarthome-tricks.de

  • 25. April 2020 um 18:43
    Permalink

    Hallo Matthias,

    was ist denn für ein Lautsprecher verbaut bzw. was ist möglich/max. notwendig.

    Grüße

    Antwort
  • 2. Mai 2020 um 7:03
    Permalink

    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

    Antwort
    • 2. Mai 2020 um 7:27
      Permalink

      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

      Antwort
  • 4. Juli 2020 um 11:22
    Permalink

    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

    Antwort

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.