Arduino Nano - Mini-MP3-Player
Dieser Leitfaden zeigt Ihnen alles, was Sie benötigen, um das DIYables Mini Mp3 Player-Modul mit einem Arduino Nano zum Laufen zu bringen. Am Ende werden Sie wissen, wie man:
- Das Mini Mp3 Player-Modul mit einem Arduino Nano auf einem Breadboard verkabelt.
- MP3-Titel abspielen, pausieren, fortsetzen und stoppen.
- Die Lautstärke mit physischen Tasten oder seriellen Befehlen steuert.
- Vorwärts und rückwärts durch Titel springt.
- Einzelne Titel in Schleife, alle Titel in Schleife oder Zufallswiedergabe.
- Titel aus nummerierten Ordnern organisiert und abspielt.
- Die aktuelle Lautstärke, Titelnummer und den Wiedergabestatus zurückliest.

Was Sie benötigen
Oder Sie können die folgenden Kits kaufen:
| 1 | × | DIYables Sensor-Kit (18 Sensoren/Displays) |
Kennenlernen des Mini Mp3 Player-Moduls
Das DIYables Mini Mp3 Player-Modul integriert den YX5200-24SS-Decoder-Chip auf eine kleine Platine. Schieben Sie eine Micro-SD-Karte mit MP3-Dateien ein, schließen Sie einen Lautsprecher an, und Sie haben einen eigenständigen Audio-Player, den Ihr Nano über eine einfache serielle Verbindung steuert.
Hier ist, was das Modul kann:
- Wiedergabesteuerbefehle: abspielen, pausieren, fortsetzen, stoppen, nächster, vorheriger
- Lautstärke: einstellbar von 0 (Stille) bis 30 (Maximum)
- EQ-Voreinstellungen: Normal, Pop, Rock, Jazz, Classic, Bass
- Wiederholungsmodi: einen Titel in Schleife, einen Ordner in Schleife, alle in Schleife, Zufallswiedergabe
- Ordner: Organise Sie Titel in nummerierten Ordnern zur einfachen Auswahl
- Werbespots: Unterbrechen Sie den aktuellen Titel und fahren dann fort, wo Sie stehen geblieben sind
- Statusabfragen: Fragen Sie das Modul, welcher Titel gerade abgespielt wird, die aktuelle Lautstärke usw.
Die gesamte Kommunikation läuft über UART mit 9600 Baud — nur zwei Drähte (TX und RX) plus Strom.
Pinbelegung Referenz
| Pin | Wofür es verwendet wird | |
|---|---|---|
| VCC | Stromversorgung (3,2 V – 5,0 V) | |
| GND | Masseverbindung | |
| RX | Empfängt serielle Befehle vom Nano (über 1-kΩ-Widerstand) | |
| TX | Sendet serielle Daten zurück an den Nano | |
| SPK_1 | Positive Lautsprecherklemme (eingebauter 3-W-Verstärker) | |
| SPK_2 | Negative Lautsprecherklemme | |
| DAC_R | Rechte Audio-Ausgangsleitung (für externen Verstärker) | |
| DAC_L | Linke Audio-Ausgangsleitung (für externen Verstärker) | |
| BUSY | Wird während der Titelwiedergabe LOW | |
| IO_1 | Auslöser | kurzes Drücken = Zurück, langes Drücken = Lautstärke runter |
| IO_2 | Auslöser | kurzes Drücken = Weiter, langes Drücken = Lautstärke rauf |

Wie man es verkabelt
Da der Arduino Nano mit 5V läuft, muss ein 1-kΩ-Widerstand zwischen dem TX-Pin des Nano und dem RX-Pin des Moduls platziert werden. Dies senkt die Spannung auf einen sicheren Pegel für die 3,3-V-Logik des Moduls.
| Mini MP3-Player | Arduino Nano | Notizen |
|---|---|---|
| VCC | 5V | |
| GND | GND | |
| RX | D11 | Verwenden Sie einen 1-kΩ-Widerstand in Serie! |
| TX | D10 | |
| SPK_1 | Lautsprecher + | |
| SPK_2 | Lautsprecher − |
Sowohl der Nano als auch der Mini Mp3 Player passen bequem auf ein Standard-Breadboard, was dies zu einem sehr kompakten Aufbau macht.

Dieses Bild wurde mit Fritzing erstellt. Klicken Sie, um das Bild zu vergrößern.
Siehe Der beste Weg, den Arduino Nano und andere Komponenten mit Strom zu versorgen.
Einrichten der SD-Karte
Bevor Sie die Karte in das Modul einsetzen:
- Formatieren Sie sie als FAT16 oder FAT32.
- Kopieren Sie MP3-Dateien in das Stammverzeichnis mit nullgefüllten Zahlen:
- Für die Ordnerwiedergabe erstellen Sie nummerierte Ordner:
Achtung: Das Modul nummeriert Titel nach der Reihenfolge, in der sie auf die Karte kopiert wurden, nicht nach dem Dateinamen. Formatieren Sie zuerst die Karte und kopieren Sie dann jede Datei einzeln nacheinander in der richtigen Reihenfolge.
- Ordnernamen: 01 bis 99 (zwei Ziffern, nullgefüllt)
- Dateinamen in Ordnern: 001 bis 255 (drei Ziffern, nullgefüllt)
- Die Titelnummerierung beginnt bei 1, nicht bei 0
Bibliotheksinstallation
- Verbinden Sie den Nano über das Mini-B-USB-Kabel mit Ihrem Computer.
- Öffnen Sie die Arduino IDE, wählen Sie Arduino Nano als Platine und wählen Sie den richtigen COM-Anschluss.
- Klicken Sie auf das Bibliotheken-Symbol in der linken Seitenleiste der Arduino IDE.
- Suchen Sie nach "DIYables_MiniMp3" und finden Sie die Bibliothek von DIYables.
- Klicken Sie auf Installieren.

Es sind keine zusätzlichen Abhängigkeiten erforderlich — die Bibliothek ist vollständig in sich geschlossen.
Starter-Vorlage
Hier ist die minimale Code-Struktur, die Sie für jeden Sketch mit diesem Modul benötigen:
Das delay(1000) nach begin() ist wichtig — das Modul benötigt etwa eine Sekunde zum Initialisieren nach dem Hochfahren. Stellen Sie die Lautstärke immer explizit ein, da die Standardeinstellung möglicherweise 0 (Stille) ist.
Code-Beispiel — Einen Titel abspielen
Spielt Titel 001.mp3 einmal ab und stoppt.
Schritte zum Ausprobieren
- Laden Sie Ihre SD-Karte mit mindestens einer MP3-Datei (001.mp3).
- Setzen Sie die SD-Karte in das Modul ein und verkabeln Sie alles wie oben gezeigt.
- Verbinden Sie den Nano über USB mit Ihrem PC.
- Wählen Sie in der Arduino IDE Arduino Nano und den richtigen Anschluss.
- Fügen Sie den Code ein und klicken Sie auf Hochladen.
Titel 1 wird über den Lautsprecher abgespielt.
Wiedergabe Schnellreferenz
| Funktion | Beschreibung | Beispielcode |
|---|---|---|
| play(track) | Einen bestimmten Titel abspielen | mp3.play(1) |
| playNext() | Zum nächsten Titel springen | mp3.playNext() |
| playPrevious() | Zum vorherigen Titel springen | mp3.playPrevious() |
| pause() | Aktuellen Titel pausieren | mp3.pause() |
| resume() | Pausierter Titel fortsetzen | mp3.resume() |
| stop() | Wiedergabe stoppen | mp3.stop() |
Code-Beispiel — Mehrere Titel abspielen
Durchläuft mehrere Titel nacheinander.
Schritte zum Ausprobieren
- Speichern Sie mindestens 3 MP3-Dateien auf der SD-Karte.
- Laden Sie den Code hoch. Titel werden in einer Schleife mit 5-Sekunden-Intervall abgespielt.
Code-Beispiel — Tasten für Lautstärke Auf/Ab
Zwei physische Tasten erhöhen und senken die Lautstärke in Echtzeit.
Schritte zum Ausprobieren
- Verkabeln Sie zwei Tasten wie im Code beschrieben, dann laden Sie hoch.
- Drücken Sie die Tasten, während ein Titel abgespielt wird. Beobachten Sie den Seriellen Monitor auf den Lautstärkepegel.
Lautstärke Schnellreferenz
| Funktion | Beschreibung | Beispielcode |
|---|---|---|
| setVolume(val) | Lautstärke einstellen (0 = stumm, 30 = max) | mp3.setVolume(20) |
| volumeUp() | Lautstärke um 1 erhöhen | mp3.volumeUp() |
| volumeDown() | Lautstärke um 1 senken | mp3.volumeDown() |
| getVolume() | Aktuellen Lautstärkepegel auslesen | mp3.getVolume() |
Code-Beispiel — Tasten für Nächster / Vorheriger
Titel mit zwei Tasten überspringen.
Schritte zum Ausprobieren
- Verkabeln Sie Tasten mit den Pins 2 und 3, laden Sie hoch und drücken Sie zum Überspringen.
Code-Beispiel — Pausierungs- / Fortsetzen-Taste
Eine Taste wechselt zwischen Pausieren und Fortsetzen.
Schritte zum Ausprobieren
- Verkabeln Sie eine Taste mit Pin 2. Laden Sie hoch und drücken Sie, um zwischen Pausieren und Fortsetzen zu wechseln.
Code-Beispiel — Einen Titel für immer in Schleife
Wiederholt einen einzelnen Titel in einer Endlosschleife.
Schritte zum Ausprobieren
- Laden Sie den Code hoch. Titel 1 wiederholt sich unbegrenzt.
Wiederholung & Zufallswiedergabe Schnellreferenz
| Funktion | Beschreibung | Beispielcode |
|---|---|---|
| loopTrack(track) | Einen Titel nonstop wiederholen | mp3.loopTrack(1) |
| loopFolder(folder) | Alle Titel in einem Ordner wiederholen | mp3.loopFolder(1) |
| loopAll() | Jeden Titel auf der Karte wiederholen | mp3.loopAll() |
| stopLoop() | Aktuelle Schleife abbrechen | mp3.stopLoop() |
| shuffle() | Zufällige Wiedergabe aller Titel | mp3.shuffle() |
Code-Beispiel — Ordnerwiedergabe
Wählen Sie Titel aus bestimmten nummerierten Ordnern auf der SD-Karte aus und spielen Sie sie ab.
Schritte zum Ausprobieren
- Erstellen Sie Ordner (01, 02) auf der SD-Karte mit nummerierten MP3-Dateien darin.
- Laden Sie den Code hoch. Er spielt aus Ordner 01 und dann aus Ordner 02 ab.
Ordnerwiedergabe Schnellreferenz
| Funktion | Beschreibung | Beispielcode |
|---|---|---|
| playFolder(f, t) | Titel t aus Ordner f abspielen (max. 99 Ordner, 255 Titel) | mp3.playFolder(1, 1) |
| playLargeFolder(f, t) | Aus Ordner abspielen (max. 15 Ordner, 3000 Titel) | mp3.playLargeFolder(1, 500) |
| playFromMP3Folder(t) | Aus dem speziellen Ordner /mp3 abspielen | mp3.playFromMP3Folder(1) |
Code-Beispiel — Serieller Monitor Remote
Steuern Sie die Wiedergabe vollständig vom Seriellen Monitor aus — ideal zum Testen.
Schritte zum Ausprobieren
- Laden Sie den Code hoch, öffnen Sie den Seriellen Monitor bei 9600 Baud und geben Sie Befehle ein.
Befehlsreferenz
| Typ | Was passiert |
|---|---|
| 1–9 | Spielt diese Titelnummer ab |
| + | Lautstärke erhöhen |
| − | Lautstärke senken |
| p | Pausieren |
| r | Fortsetzen |
| s | Stoppen |
| n | Nächster Titel |
| b | Zurück (vorheriger Titel) |
| ? | Statusinformationen anzeigen |
EQ-Voreinstellungen
| Konstante | Wert | Stil |
|---|---|---|
| DIYables_MiniMp3::EQ_NORMAL | 0 | Flach |
| DIYables_MiniMp3::EQ_POP | 1 | Pop |
| DIYables_MiniMp3::EQ_ROCK | 2 | Rock |
| DIYables_MiniMp3::EQ_JAZZ | 3 | Jazz |
| DIYables_MiniMp3::EQ_CLASSIC | 4 | Klassisch |
| DIYables_MiniMp3::EQ_BASS | 5 | Bass betont |
Modulspeicherstatus lesen
Diese Aufrufe ermöglichen es Ihnen, zu überprüfen, was das Modul tut. Jeder blockiert kurz (bis zu 100 ms) während auf die Antwort gewartet wird. Gibt −1 zurück, wenn das Modul nicht antwortet.
| Funktion | Rückgabe | Was Sie erhalten |
|---|---|---|
| isPlaying() | bool | wahr, wenn Audio gerade abgespielt wird |
| getVolume() | int16_t | Lautstärkepegel (0–30) |
| getEQ() | int16_t | Aktive Equalizer-Voreinstellung (0–5) |
| getTrackCount() | int16_t | Gesamtzahl der Titel auf der Karte |
| getCurrentTrack() | int16_t | Titelnummer, die gerade abgespielt wird |
| getFolderCount() | int16_t | Wie viele Ordner sich auf der Karte befinden |
| getTrackCountInFolder(f) | int16_t | Wie viele Titel sich in Ordner f befinden |