
Einleitung
Der DFPlayer Mini ist ein kompaktes und kostengünstiges MP3-Audiomodul mit integriertem SD-Kartenslot und 3-W-Verstärker. Es kann eigenständig betrieben werden (mit Stromversorgung, Lautsprecher und Tasten) oder zur Erweiterung von Mikrocontroller-Projekten dienen (z.B. mit Arduino oder ESP32 über UART) . Das Modul unterstützt die gängigsten Audioformate MP3, WAV und WMA und spielt Audiodateien in hoher Qualität mit Abtastraten bis zu 48 kHz über einen 24-Bit-DAC aus . Typische Anwendungsgebiete sind Sprachansagen, Soundeffekte und Hintergrundmusik in Elektronikprojekten, z.B. Sprachhinweise in Fahrzeugen, Alarmmeldungen oder interaktive Installationen.
Hardwareübersicht
Pin-Belegung: Der DFPlayer Mini verfügt über 16 Pins (zwei Reihen à 8 Pins). Die folgende Tabelle gibt einen Überblick über die Pinbelegung und deren Funktionen:
Pin | Bezeichnung | Funktion |
---|---|---|
1 | VCC | Betriebsspannung (DC 3,2–5,0 V; typ. 4,2 V) |
2 | RX | UART-Eingang (Serieller RX, 9600 bps) – empfängt Befehle |
3 | TX | UART-Ausgang (Serieller TX) – sendet Rückmeldungen |
4 | DAC_R | Line-Audioausgang Rechts (für externen Verstärker/Kopfhörer) |
5 | DAC_L | Line-Audioausgang Links (für externen Verstärker/Kopfhörer) |
6 | SPK2 | Lautsprecher-Ausgang „–“ (Brückenendstufe, max. ~3 W*) |
7 | GND | Masse (Ground) – Stromversorgung und Signalreferenz |
8 | SPK1 | Lautsprecher-Ausgang „+“ (Brückenendstufe, max. ~3 W) |
9 | IO1 (Key 1) | Digitaler Trigger-Eingang 1. Kurzschluss nach GND: Vorheriger Titel; langer GND-Schluss: Lautstärke – (leiser) |
10 | GND | Masse – weiterer Ground-Pin (für Tasten oder USB) |
11 | IO2 (Key 2) | Digitaler Trigger-Eingang 2. Kurzschluss nach GND: Nächster Titel; langer GND-Schluss: Lautstärke + (lauter) |
12 | ADKEY1 (Key 3) | Analog-Tasten-Eingang 1. Verschiedene Widerstandswerte gegen GND lösen verschiedene Funktionen aus (Standard: Segment 1–4) |
13 | ADKEY2 (Key 4) | Analog-Tasten-Eingang 2. Zusätzliche Tasten/Funktionen (Standard: Segment 5–?) |
14 | USB+ | USB-Daten D+ – zum Anschluss eines USB-Sticks (U-Disk) |
15 | USB- | USB-Daten D– – zum Anschluss eines USB-Sticks |
16 | BUSY | Status-Ausgang. Low während Wiedergabe, High wenn kein Track läuft (z.B. Pause/Ende) |
* Die integrierte Audioendstufe liefert bis zu ca. 3 W an einem 4 Ω Lautsprecher bei 5 V Betriebsspannung.
** ADKEY2 (Segment 5–14) ist in der Standardeinstellung oft nicht genutzt. Insgesamt sind bis zu 20 analoge Schaltfunktionen über ADKEY1/2 möglich
Unterstützte Medien & Speicher: Der DFPlayer Mini kann Audiodateien von folgenden Quellen abspielen:
MicroSD-Karte (TF-Card): Bis zu 32 GB Kapazität, formatiert als FAT16 oder FAT32 . Größere Karten (>32 GB) werden nicht unterstützt.
USB-Stick (U-Disk): Ebenfalls bis 32 GB FAT32/FAT16 . Dazu muss ein USB-Port an die Pins USB+ und USB- angeschlossen werden (das Modul fungiert als USB-Host für Massenspeicher).
SPI-Flash: Unterstützung für bis zu 64 MByte externen NOR-Flash-Speicher. Einige Modulvarianten besitzen einen entsprechenden Flash-Chip oder Lötpads dafür. Dieser kann wie ein internes Laufwerk genutzt werden (SPI).
Dateiformate & Dateisystem: Das Modul decodiert MP3, WAV und WMA in Hardware. Es liest FAT16/FAT32-Dateisysteme; exFAT oder NTFS werden nicht erkannt . Die Audiodateien sollten in einer bestimmten Struktur abgelegt werden, damit sie zuverlässig gefunden werden: Entweder im Hauptverzeichnis oder in einem Ordner (Standard ist ein Ordner MP3
) mit definierten Dateinamen. Empfohlen wird, Dateien mit Nummerierung abzulegen, z.B. 0001.mp3
, 0002.mp3
usw. (Triggered Audio Player). Es können bis zu 100 Ordner erstellt werden, mit jeweils maximal 255 Dateien pro Ordner . (Hinweis: Die Wiedergabereihenfolge in I/O-Modus richtet sich nach der internen FAT-Speichertabelle – oft entspricht dies der Reihenfolge, in der die Dateien auf die Karte kopiert wurden
Audioausgang: Über die Lautsprecher-Pins SPK1/SPK2 kann ein passiver Lautsprecher direkt betrieben werden (monophon, BTL-Brückenausgang, bis ~3 W). Für Stereo oder Kopfhörer können die Line-Ausgänge DAC_L/DAC_R verwendet werden – hier empfiehlt sich ein Serienwiderstand von ~100 Ω, insbesondere bei Kopfhörern, um den Ausgang zu schonen. Die Audioqualität ist für ein so kleines Modul beeindruckend: Ein 24-Bit DAC bietet ~90 dB Dynamikumfang und ~85 dB Signal-Rausch-Abstand. Die Lautstärke ist in 30 Stufen einstellbar und es gibt 6 EQ-Voreinstellungen.
Abbildung: DFPlayer Mini Modul mit eingelegter MicroSD-Karte. Dieses 22 × 30 mm große Modul enthält MP3-Dekoder, Verstärker und Steckplätze für Datenträger (SD-Karte, optional USB/Flash).
Bedienelemente & Funktionen
Der DFPlayer Mini kann auf drei Arten gesteuert werden : Per serieller Schnittstelle (UART-Befehle), im AD-Key-Modus (analoge Tasteneingänge) oder im IO-Modus (digitale Trigger). Letztere beiden ermöglichen den Standalone-Betrieb mit Tasten, ohne Mikrocontroller. Dafür sind bestimmte Pins (IO1, IO2, ADKEY1, ADKEY2) als Bedieneingänge vorgesehen, an denen Taster gegen GND angeschlossen werden. Je nach verwendetem Pin und Dauer des Tastendrucks werden unterschiedliche Funktionen ausgelöst. Im Einzelnen stehen folgende Bedienelemente/Funktionen zur Verfügung:
E/A-Modus: Dies ist die einfachste Möglichkeit, dieses Modul zu verwenden.
Play Mode – Wiedergabemodus: Kurz drücken: Wechselt den Wiedergabemodus (z.B. zwischen einmaliger Wiedergabe, Wiederholen und Zufallswiedergabe) . Lang drücken: Schaltet den Interrupt-Modus um (Werbeunterbrechungs-Funktion ein/aus). Im Interrupt-Modus können neue Tracks einen laufenden Titel sofort unterbrechen; nach dessen Ende wird der vorherige Titel fortgesetzt . (Dieses Feature wird auch als „Advertising Sound“ Funktion bezeichnet.)
U/SD/SPI – Quellenwahl: Kurz: Wechselt die Audioquelle (Medienwechsel zwischen USB-Stick (U), SD-Karte (TF) und SPI-Flash). Ist eine der Quellen nicht vorhanden, wird sie übersprungen. Lang: Versetzt das Modul in den Schlafmodus (Standby) – die Wiedergabe stoppt, bis eine neue Eingabe erfolgt . (Hinweis: Einige Module wechseln bei erneutem Drücken wieder aus dem Sleep-Modus heraus.)
Loop All – Alle wiederholen: Kurz: Aktiviert oder deaktiviert den „Alle wiederholen“ Modus (Loop-All). Ist diese Funktion aktiv, werden nach dem letzten Titel automatisch wieder der erste Titel abgespielt, sodass alle Titel in Dauerschleife laufen. Lang: (Keine separate Lang-Funktion definiert.) – Die Taste dient primär zum Umschalten des Betriebsmodus. (Standardmäßig entspricht dieser Knopf dem „All Cycle“ Modus).
Pause/Play – Pause / Wiedergabe: Kurz: Start/Pause der Wiedergabe. Bei laufender Wiedergabe führt ein kurzer Tastendruck zu Pause; bei Pause oder Stop startet ein Druck die Wiedergabe des aktuellen bzw. nächsten Titels. Lang: (Keine separate Funktion.) – Gedrückt halten hat keine zusätzliche Wirkung.
Pre/Vol– – Vorheriger Titel / Volume –: Kurz: Springt einen Titel zurück (Vorheriger Track) . Lang: Verringert die Lautstärke stufenweise (solange gehalten) . Damit kann durch langen Druck die Lautstärke auf einen der 30 Pegelwerte abgesenkt werden.
Next/Vol+ – Nächster Titel / Volume +: Kurz: Springt zum nächsten Titel. Lang: Erhöht die Lautstärke stufenweise (solange gehalten). So lässt sich mit langem Druck die Lautstärke erhöhen.
Segment 1–4 – Direkte Track-Wahl (frei belegbar): Diese vier Eingänge (auch als K1–K4 in AD-Keyboard-Konfiguration bezeichnet) ermöglichen das direkte Abspielen festgelegter Tracks. Kurz: Spielt den vordefinierten Titel für das Segment ab. Ab Werk sind Segment 1–4 typischerweise den ersten vier Tracks (001–004) auf der SD-Karte zugeordnet. Beispiel: Ein kurzer Druck auf Segment 1 spielt die Datei „0001.mp3“ ab, Segment 2 spielt „0002.mp3“ usw. Lang: Schaltet die Dauerschleife (Repeat) für diesen einen Titel ein . Das heißt, der entsprechende Track wird kontinuierlich wiederholt, bis eine andere Aktion erfolgt. – Die Segment-Tasten können vom Benutzer mit beliebigen Audioinhalten „belegt“ werden, indem man die gewünschte Audiodatei an die entsprechende Track-Nummer kopiert. So lassen sich z.B. vier verschiedene Sprachansagen festlegen, die über dedizierte Taster abrufbar sind.
Quellenwahl im Detail
AD-KEY-Modus: verwenden die AD-Modultasten anstelle der herkömmlichen Methode der Matrixtastaturverbindung, um die zunehmend leistungsfähigere MCU-AD-Funktionalität zu nutzen.
Hinweis: Die Unterscheidung zwischen kurzem und langem Tastendruck ist bei den IO/ADKEY-Eingängen entscheidend. Ein kurzer Tastendruck (bzw. kurzer GND-Puls) löst in der Regel eine Navigationsfunktion aus (Play/Pause, Titel vor/zurück, Mode-Wechsel etc.), während ein langer Druck (GND für >1–2 Sek.) in den meisten Fällen eine Einstellungsfunktion ausführt (z.B. Lautstärke ändern oder besonderen Modus aktivieren) . Im seriellen Steuerungsmodus (UART) stehen alle diese Funktionen ebenfalls zur Verfügung, jedoch werden sie dort durch entsprechende Befehle ausgelöst (siehe Beispielcode).
Der DFPlayer Mini kann Medien von SD-Karte, USB-Stick oder SPI-Flash abspielen. Dabei wird immer nur eine Quelle zur selben Zeit genutzt. Das Modul erkennt automatisch, ob z.B. eine SD-Karte eingesteckt ist oder ein USB-Stick angeschlossen wurde. Über die U/SD/SPI-Taste (oder per Serial-Befehl) kann man die Quelle wechseln, ohne das Modul neu zu starten. Im Folgenden Besonderheiten zu den jeweiligen Medien:
MicroSD-Karte (TF-Card): Verwenden Sie SD- oder microSD-Karten bis zu 32 GB, formatiert mit FAT32 (oder FAT16 bei kleineren Karten). Größere Karten werden oft mit exFAT formatiert und funktionieren nicht. In der Praxis hat es sich bewährt, Karten bis 32 GB einzusetzen. Achten Sie darauf, die Dateien wie oben beschrieben zu benennen/organisieren (z.B. im Ordner
MP3
mit vierstelligen Dateinummern), damit das Modul alle Tracks in der richtigen Reihenfolge findet (Triggered Audio Player). Die Karte sollte in den DFPlayer eingesteckt werden, bevor das Modul mit Strom versorgt wird, damit sie korrekt erkannt wird.USB-Stick (U-Disk): Das Modul kann als Host auf USB-Massenspeicher (Sticks) zugreifen, ebenfalls bis 32 GB FAT32/FAT16. Um einen USB-Stick anzuschließen, muss ein USB-Anschluss an die Pins USB+ und USB- gelötet werden (inkl. 5V Versorgung für den Stick). In vielen Anwendungsfällen wird die SD-Karte bevorzugt, da sie direkt auf dem Modul sitzt; die USB-Option ist jedoch praktisch, wenn man wechselnde oder größere Speichermedien extern anschließen will. Beachten Sie, dass beim Wechsel auf den USB-Stick dieser natürlich bereits eingesteckt sein muss. Das Modul benötigt u.U. kurze Zeit (ca. 200 ms) nach dem Quellwechsel, um die Dateistruktur einzulesen.
SPI-Flash: Intern unterstützt der DFPlayer Mini einen SPI-NOR-Flash bis zu 64 MB Speicher . Einige Module (z.B. neuere Varianten oder der DFPlayer Pro) haben einen solchen Flash-Chip bereits verbaut. Im Standard-DFPlayer Mini ist hingegen kein Flash enthalten, aber es gibt Lötpads, um einen entsprechenden Chip nachzurüsten. Ist ein solcher Flash vorhanden, kann er wie ein zusätzliches Laufwerk genutzt werden (meist als drittes Medium neben SD und USB). In der Quellenwahl erscheint er als SPI. Die Verwendung ist ähnlich wie bei der SD-Karte – die Dateien müssen vorab in den Flash geladen werden (oft geschieht dies über spezielle Programmer, da der DFPlayer selbst kein Schreibkommando für SPI-Flash bietet).
Wechseln der Quellen: Über einen kurzen Druck der U/SD/SPI-Taste springt das Modul nacheinander durch die verfügbaren Medien (SD → USB → SPI → …). Eine LED auf dem Modul (sofern vorhanden) blinkt, wenn ein Medium aktiv ist bzw. Daten gelesen werden (Triggered Audio Player) (Triggered Audio Player). Falls das Modul in den Sleep-Modus geschaltet wurde (durch langen Druck der gleichen Taste), kann es durch erneuten Tastendruck oder durch Senden eines Befehls über UART wieder aufwachen und die zuletzt gewählte Quelle weiternutzen.
Beispiele & Tipps
Zum erfolgreichen Einsatz des DFPlayer Mini beachten Sie folgende Hinweise und Best Practices:
Musik aufspielen (Ordnerstruktur): Legen Sie auf der SD-Karte einen Ordner MP3 an und kopieren Sie alle Audiodateien dort hinein (Triggered Audio Player). Benennen Sie die Dateien mit führenden Nummern, z.B. 0001.mp3, 0002.mp3, … bis 0255.mp3. Auf diese Weise können die Titel über ihre Indexnummer 1–255 direkt angesprochen werden. Alternativ können Sie bis zu 100 eigene Ordner (benannt 01 bis 99) verwenden und darin jeweils bis zu 255 Dateien (001.mp3 bis 255.mp3) ablegen. Dann lässt sich ein Titel per Kombination aus Ordner- und Dateinummer ansteuern. Wichtig: Die Reihenfolge der Wiedergabe im IO/Key-Modus richtet sich nach der internen Dateitabelle (FAT) – meistens entspricht dies der Nummerierung, aber um sicherzugehen, sollten Sie stets mit konsistenter Nummerierung kopieren (oder ein Tool verwenden, das die FAT-Einträge sortiert). Bei Verwendung der offiziellen Arduino-Library genügt das oben genannte Schema mit dem MP3-Ordner, da die Library automatisch darauf zugreift.
Stromversorgung: Schließen Sie VCC an eine stabile 5 V-Quelle an, wenn Sie einen Lautsprecher direkt betreiben – so steht die maximale Verstärkerleistung zur Verfügung. Das Modul arbeitet bereits ab ~3,2 V zuverlässig, sodass auch der Betrieb an 3,3 V (z.B. direkt an einem Li-Ion-Akku oder 3,3 V Mikrocontroller) möglich ist. Der Ruhestrom liegt bei etwa 20 mA, während der Wiedergabe können Ströme um 100–200 mA fließen (je nach Lautstärke). Sorgen Sie für eine ausreichende Stromversorgung – bei Einsatz am Arduino 5V-Pin reicht dessen Ausgang normalerweise aus, solange keine anderen großen Verbraucher angeschlossen sind. Eine Entstörung der Versorgung (100 µF Kondensator nahe am Modul) kann helfen, Audio-Störgeräusche zu verringern.
Lautsprecher anschließen: Nutzen Sie ausschließlich die Pins SPK1 und SPK2 für den Lautsprecher. Diese beiden Ausgänge bilden die Brücke der Mono-Endstufe. Nicht einen der Ausgänge gegen GND legen – das würde dem Verstärker schaden. Verwenden Sie einen Lautsprecher mit 4–8 Ω Impedanz und ausreichender Belastbarkeit (3 W oder mehr). Für Stereo-Ausgabe an Kopfhörer oder einer HiFi-Anlage schließen Sie diese nicht an SPK1/2, sondern an DAC_L, DAC_R und GND an (Line-Out). Um Kopfhörer direkt anzuschließen, empfiehlt es sich, kleine Widerstände (ca. 100 Ω) in Serie zu DAC_L und DAC_R vorzusehen. Alternativ kann ein aktiver PC-Lautsprecher oder ein externer Verstärker an DAC_L/R verwendet werden, um Stereo-Sound zu erhalten (der DFPlayer selbst decodiert stereo, wandelt es aber für den internen Verstärker zu Mono).
Gerätesteuerung: Sie können das Modul auf zwei Wegen steuern: Manuell über Tasten (wie oben beschrieben) oder per Mikrocontroller über die serielle Schnittstelle. Im reinen Tastenbetrieb können z.B. einfache Soundeffekt-Boxen gebaut werden – schließen Sie Taster zwischen die entsprechenden IO-Pins und GND, und das Modul kümmert sich autonom um die Wiedergabe (eine kurze Verbindung GND–IO_1 startet z.B. sofort das Abspielen ab Track 1) (Triggered Audio Player). Für komplexere Steuerungen oder dynamische Auswahl von Tracks empfiehlt sich die serielle Ansteuerung: Verbinden Sie RX und TX des DFPlayers mit TX und RX Ihres Mikrocontrollers (ggf. über einen Pegelwandler oder Widerstand, falls der Mikrocontroller mit 5 V arbeitet – der DFPlayer-Eingang RX ist nur 3,3 V-tolerant) (Wiring DFPlayer Mini (MP3 Module) to Arduino. Stereo/Mono Diagrams. – Circuit Journal) (Wiring DFPlayer Mini (MP3 Module) to Arduino. Stereo/Mono Diagrams. – Circuit Journal). Nutzen Sie eine geeignete Library oder senden Sie die entsprechenden Byte-Kommandos laut Protokoll. DFRobot stellt z.B. die DFRobotDFPlayerMini Arduino-Library bereit (Triggered Audio Player), die das Senden der Befehle vereinfacht. Im folgenden Abschnitt finden Sie einen Beispiel-Schaltplan und Beispielcode für die Verwendung mit Arduino.
Zusätzliche Funktionen
Der DFPlayer Mini bietet neben der reinen Wiedergabe auch einige nützliche Zusatzfunktionen und Einstellmöglichkeiten:
Lautstärkeregelung: 30 Stufen von 0 (stumm) bis 30 (maximal) sind einstellbar . Per Tasten erfolgt die Änderung mit langem Druck auf Pre/Next, seriell kann über den Befehl
0x06
ein Wert 0–30 gesetzt werden. Die Start-Lautstärke nach dem Einschalten beträgt standardmäßig 30 (max), kann aber via Befehl oder durch Speichern in der Firmware angepasst werden.Equalizer (EQ): Sechs vordefinierte EQ-Modi stehen zur Auswahl: Normal, Pop, Rock, Jazz, Classic, Bass (Sprachansage-Chips bezeichnen „Bass“ teils als „Normal/Boost“). Diese verändern die Klangcharakteristik. Per Befehl
0x07
kann ein EQ-Modus (Nummer 0–5) ausgewählt werden. In Standalone-Modus ist kein direkter EQ-Taster vorhanden; die Einstellung bleibt normalerweise auf „Normal“, bis man sie per Serial setzt.Wiedergabemodi: Neben dem Standard-Sequenzmodus (spielt alle Dateien der Reihe nach) gibt es Loop-All (alle Titel wiederholen in Endlosschleife), Single-Repeat (aktuellen Titel unendlich wiederholen) und Random (zufällige Reihenfolge). Über die Taste Play Mode kann zwischen diesen Modi gewechselt werden. Seriell kann der
0x08
-Befehl mit Parameter (0–3) genutzt werden, um gezielt einen Modus einzustellen (Repeat All, Repeat Folder, Single Repeat, Random) . In der Standalone-Tastensteuerung entspricht „Play Mode“ kurz vermutlich dem Wechsel zwischen „Wiederholen an/aus“ und „Random“, je nach Firmware.„Advertising Sound“ (Unterbrechungswiedergabe): Dieses Feature erlaubt es, einen Zwischentrack (z.B. eine „Werbe“-Durchsage oder einen Alarmton) einzuspielen, ohne die laufende Musik dauerhaft zu unterbrechen. Der DFPlayer unterstützt das sogenannte Einfügen einer Werbeansage: Wird im Serial-Modus ein spezieller Befehl zum Abspielen eines bestimmten Tracks im Werbemodus gesendet, pausiert die laufende Wiedergabe, spielt den neuen Track, und anschließend resümiert die ursprüngliche Wiedergabe an derselben Stelle. Im Tastenmodus kann dies durch Umschalten des Interrupt-Modus (Play Mode lang) genutzt werden: Ist Interrupt aktiv, führt das Auslösen einer Segment-Taste z.B. mitten im laufenden Lied dazu, dass sofort der Segment-Track gespielt wird und danach das unterbrochene Lied fortgesetzt wird. In non-interrupt-Einstellung würde ein Tastendruck während laufender Wiedergabe ignoriert oder erst nach Ende wirksam. Diese Funktion ist hilfreich, um z.B. dringende Hinweise (Alarmtöne) einzuspielen, ohne den Hintergrundsound komplett zu stoppen.
Busy-Signal & Statusabfrage: Über den BUSY-Pin kann der aktuelle Wiedergabestatus abgegriffen werden. Dieser Pin liegt auf Low, solange ein Track abgespielt wird, und geht auf High, wenn die Wiedergabe gestoppt oder pausiert ist . So kann ein Mikrocontroller erkennen, wann ein Track zu Ende ist. Alternativ bietet der DFPlayer auch serielle Statusmeldungen (z.B. Confirmation nach Befehl, Fehlercodes) und Abfragebefehle (etwa für aktuelles Volume, EQ, aktueller Track etc.), sofern man die UART-Schnittstelle nutzt .
Spezielles Dateimanagement: Das Modul unterstützt bis zu 100 Ordner und spezielle Namensschemata für gezielte Trackwahl . So gibt es u.a. einen reservierten Ordner
01
bis99
, einen allgemeinenMP3
-Ordner, sowie oft einenADVERT
-Ordner für Werbeeinspielungen. Die genauen Funktionen hängen von der Firmware ab. Standardmäßig ist für einfache Anwendungen die gesamte Musik im MP3-Ordner gut aufgehoben, wie oben beschrieben. Für komplexere Anwendungen (viele Ordner) sollte auf die Dokumentation des MP3-Chips geachtet werden (einige Befehle erlauben das direkte Ansteuern von Ordnern und Dateinummern).
Technische Daten (Specs)
Allgemeine Eigenschaften: Der DFPlayer Mini basiert auf einem speziellen Audio-Dekoder-Chip (häufig Typ MH2024K-24SS oder ähnliche Varianten), der MP3/WAV/WMA-Dateien von FAT-Speichermedien lesen kann. Er enthält einen eigenen DSP, DAC und Verstärker. Nachfolgend die wichtigsten technischen Daten im Überblick:
Betriebsspannung: 3,2 V – 5,0 V DC (typ. 5 V für volle Leistung)
Stromaufnahme: ca. 20 mA Ruhestrom; ~50 mA bei Wiedergabe ohne Last; bis zu 200 mA Spitzentröme mit Lautsprecher
Audioformate: MP3, WAV, WMA (MPEG Layer 3, WAV (PCM/ADPCM), Windows Media Audio) .
Unterstützte Medien: microSD (TransFlash), USB2.0-Stick, SPI-NOR-Flash (64 MByte) .
Dateisystem: FAT16 oder FAT32 erforderlich(partitioniert oder unpartitioniert; keine exFAT/NTFS).
Max. Dateien: 255 Dateien pro Ordner, bis 100 Ordner (Nummerierung 0001–0255); alternativ 3000 Dateien im MP3-Root (0001.mp3 – 3000.mp3) je nach Firmware.
Samplingraten: 8 kHz / 11,025 kHz / 12 kHz / 16 kHz / 22,05 kHz / 24 kHz / 32 kHz / 44,1 kHz / 48 kHz (bei WAV/MP3) .
DAC-Auflösung: 24 Bit, SNR ~85 dB, Dynamik ~90 dB .
Verstärker: Eingebauter Class-D Mono-Verstärker, Leistung bis ~3 W (an 4 Ω, Vcc=5 V) – geeignet für Direktbetrieb eines kleinen Lautsprechers.
Line-Out: Stereo DAC_L/DAC_R für Kopfhörer oder externen Verstärker (Ausgangsimpedanz ca. 100 Ω, AC-coupled).
Bedienung: 2 digitale Eingänge (IO1, IO2) und 2 analoge AD-Keys (bis 10 Funktionen pro AD-Eingang). Serielle UART-Schnittstelle 9600 bps (TTL 3,3 V Pegel) für volle Kontrolle.
Abmessungen: ca. 22 mm × 30 mm × 11 mm (L×B×H, inkl. Pins und TF-Slot).
Betriebstemperatur: typ. – 40 °C bis + 85 °C (gemäß Chip-Spezifikation; in Praxis durch Speicherkarte begrenzt, meist 0–60 °C).
SKU / Modellnummer: DFR0299 (DFRobot) – oft auch bezeichnet als „DFPlayer Mini MP3-TF-16P“ in Datasheets.
Diagramme & Codebeispiele
Zum Abschluss ein Beispiel, wie der DFPlayer Mini in einer Schaltung und im Code integriert werden kann.
Anschlussplan an Arduino: Die folgende Abbildung zeigt eine beispielhafte Verdrahtung mit einem Arduino Uno. Wichtig ist die Pegelanpassung am RX-Pin des DFPlayers, da dieser nur 3,3 V toleriert – hier durch einen Spannungsteiler 1 kΩ/680 Ω von Arduino-TX (5 V) auf ~3 V realisiert. Der Lautsprecher wird zwischen SPK1 und SPK2 angeschlossen. Der DFPlayer wird mit 5 V versorgt (GND an GND). Der BUSY-Pin und die ADKEY-Pins sind in diesem Beispiel ungenutzt.
Schaltplan: DFPlayer Mini angeschlossen an einen Arduino Uno (Steuerung über SoftwareSerial an Pins 10 und 11). Der Arduino-TX-Ausgang wird über einen Spannungsteiler an den DFPlayer-RX angeschlossen, um 5V auf 3,3V abzuschwächen. Lautsprecher zwischen SPK1 und SPK2. (Quelle: circuitjournal.com)
Beispielcode (Arduino): Im folgenden einfachen Sketch wird die DFPlayer-Library von DFRobot verwendet, um einen Track abzuspielen. Der DFPlayer ist hierbei an einem SoftwareSerial-Port (Pins 10 und 11 des Arduino Uno) angeschlossen:
#include <SoftwareSerial.h>
#include "DFRobotDFPlayerMini.h"
SoftwareSerial mp3Serial(10, 11); // DFPlayer RX (10) <-> Arduino TX, DFPlayer TX (11) <-> Arduino RX
DFRobotDFPlayerMini mp3;
void setup() {
mp3Serial.begin(9600);
Serial.begin(115200);
if (!mp3.begin(mp3Serial)) { // Initialisierung des DFPlayers
Serial.println("DFPlayer nicht gefunden!");
while(true);
}
mp3.volume(20); // Lautstärke einstellen (Wert 0-30)
mp3.EQ(DFPLAYER_EQ_NORMAL); // EQ-Modus (NORMAL/POP/ROCK/JAZZ/CLASSIC/BASS)
mp3.play(1); // Spiele Track Nr. 1 (0001.mp3)
}
void loop() {
// In diesem Beispiel wird kontinuierlich Titel 1 wiedergegeben.
// Weitere Steuerbefehle könnten hier eingefügt werden, z.B. mp3.next(); mp3.pause(); etc.
}
In diesem Codebeispiel wird nach erfolgreicher Initialisierung die Lautstärke auf 20 (von 30) gesetzt und der erste Titel auf der SD-Karte gestartet. Die DFPlayer-Library stellt Methoden zur Verfügung, um weitere Funktionen zu nutzen, z.B. mp3.next()
(nächster Titel), mp3.previous()
(vorheriger Titel), mp3.loop(5)
(Track 5 in Endlosschleife) oder mp3.randomAll()
(Zufallswiedergabe). Auch das Auslesen von Status ist möglich, etwa mit mp3.readState()
(gibt zurück, ob gerade gespielt wird) oder mp3.readVolume()
.
DFPlayer Mini – Steuerbefehle (Control Commands)
Um NORFLASH als Speicherquelle zu wählen, sende folgendes Datenpaket über die serielle Schnittstelle an den DFPlayer Mini:
7E FF 06 09 00 04 FF DD EF
Die Bytes bedeuten im Einzelnen:
7E
: StartbitFF
: Version (Standard)06
: Es folgen 6 Nutzbytes09
: Befehl „Wähle Speicherquelle“00
: Keine Rückmeldung erwünscht04
: Parameter für NORFLASHFF DD
: Prüfsumme (automatisch berechnet)EF
: Ende des Pakets
Feld | Bedeutung | Beschreibung (Deutsch) |
---|---|---|
$SS | Startbit 0x7E | Jeder Befehl beginnt mit dem Start-Byte 0x7E |
VER | Versionsnummer | Versionsinformationen |
Len | Länge | Anzahl der Bytes nach dem „Len“-Byte (also ohne Start/Ende/Checksumme) |
CMD | Befehl | Gibt die Aktion an, z. B. Play, Pause, Lautstärke usw. |
Feedback | Rückmeldung | 1 = Feedback gewünscht, 0 = keine Rückmeldung |
para1 | Parameter 1 | Höherwertiges Byte eines Parameters (z. B. Titelnummer) |
para2 | Parameter 2 | Niederwertiges Byte eines Parameters |
checksum | Prüfsumme | Berechnet aus den relevanten Bytes, ohne $SS |
$O | Endbit 0xEF | Jedes Paket endet mit dem Byte 0xEF |
CMD (Hex) | Funktion (Englisch) | Funktion (Deutsch) | Parameter (16 Bit) |
---|---|---|---|
0x01 | Next | Nächster Titel | – |
0x02 | Previous | Vorheriger Titel | – |
0x03 | Specify track (NUM) | Bestimme Titelnummer | 0–2999 |
0x04 | Increase volume | Lautstärke erhöhen | – |
0x05 | Decrease volume | Lautstärke verringern | – |
0x06 | Specify volume | Lautstärke festlegen | 0–30 |
0x07 | Specify EQ (0/1/2/3/4/5) | Equalizer-Modus wählen | Normal / Pop / Rock / Jazz / Classic / Bass |
0x08 | Specify playback mode (0/1/2/3) | Wiedergabemodus einstellen | Wiederholen / Ordner wiederholen / Einzelwiederholung / Zufällig |
0x09 | Specify playback source (0/1/2/3/4) | Wiedergabequelle wählen | U = USB, TF = microSD, AUX, SLEEP, FLASH |
0x0A | Enter standby | In Standby wechseln (Energiesparmodus) | – |
0x0B | Normal working | Aus Standby zurück in normalen Modus | – |
0x0C | Reset module | Modul zurücksetzen | – |
0x0D | Playback | Wiedergabe starten | – |
0x0E | Pause | Wiedergabe pausieren | – |
0x0F | Specify folder to playback | Ordner auswählen und abspielen | 1–10 (muss vom Nutzer gesetzt werden) |
0x10 | Volume adjust set | Lautstärkeeinstellung aktivieren | {DH = 1} Aktivieren / {DL = 0–31} Lautstärke setzen |
0x11 | Repeat play | Wiederholwiedergabe ein/aus | {1 = starten} , {0 = stoppen} |
Befehl (Hex) | Funktion (Englisch) | Bedeutung (Deutsch) | Parameter (16 Bit) |
---|---|---|---|
0x3C | STAY | Bleibt-Zustand (nicht näher spezifiziert) | – |
0x3D | STAY | Bleibt-Zustand (nicht näher spezifiziert) | – |
0x3E | STAY | Bleibt-Zustand (nicht näher spezifiziert) | – |
0x3F | Send initialization parameters | Initialisierungsparameter senden | 0x00 – 0x0F (jedes Bit steht für ein Gerät) |
0x40 | Returns an error, request retransmission | Fehlerantwort, fordert Wiederholung an | – |
0x41 | Reply | Antwort | – |
0x42 | Query the current status | Aktuellen Status abfragen | – |
0x43 | Query the current volume | Lautstärke abfragen | – |
0x44 | Query the current EQ | Equalizer-Modus abfragen (z. B. Rock, Jazz…) | – |
0x45 | Query the current playback mode | Abspielmodus abfragen (z. B. Wiederholen, Zufall…) | – |
0x46 | Query the current software version | Firmware-Version abfragen | – |
0x47 | Query total number of TF card files | Gesamtanzahl der Dateien auf TF-Karte (microSD) abfragen | – |
0x48 | Query total number of U-disk files | Gesamtanzahl der Dateien auf USB-Stick abfragen | – |
0x49 | Query total number of flash files | Gesamtanzahl der Dateien im internen Flash abfragen | – |
0x4A | Keep on | Wiedergabe am Leben halten / Fortsetzen (genaue Funktion unklar) | – |
0x4B | Query current track of TF card | Aktuell gespielter Track auf TF-Karte | – |
0x4C | Query current track of U-Disk | Aktueller Track auf USB-Stick | – |
0x4D | Query current track of Flash | Aktueller Track im internen Flash-Speicher | – |
DFPlayer Mini – Befehlsgenerator
Mit diesem Tool kannst du ganz einfach das serielle Datenpaket für den DFPlayer Mini erzeugen. Gib dazu eine Titelnummer (1–2999) ein – das ist die Position der Datei auf der SD-Karte (nicht der Dateiname!).
Warum Position?
Der DFPlayer spielt Dateien nicht nach Namen ab, sondern nach der Reihenfolge, in der sie auf die Karte geschrieben wurden. Wer z. B. 277.mp3
abspielen will, muss sicherstellen, dass die Datei wirklich an Position 277 gespeichert ist.
Beim Aufbau der Schaltung und beim Programmieren ist zu beachten, dass der Serial-Port 9600 bps standardmäßig ist. Dies kann in der Library geändert werden, falls nötig. Wenn der DFPlayer Mini korrekt verkabelt und initialisiert ist, steht einer einfachen Audiowiedergabe nichts mehr im Weg. Viel Erfolg beim Einsatz dieses vielseitigen MP3-Moduls!
Quellen: Die obigen Informationen wurden der offiziellen DFPlayer Mini Dokumentation und technischen Daten entnommen (dfplayer_mini_-_robot_wiki.pdf) (DFPlayer Mini MP3 Player – DFRobot), ergänzt durch Praxistipps aus Entwickler-Communities und der DFRobot-Produktseite (DFPlayer Mini MP3 Player – DFRobot) (dfplayer_mini_-_robot_wiki.pdf). Weitere Details finden sich im beigefügten PDF-Datenblatt und auf der DFRobot-Wiki-Seite zum DFPlayer Mini.