Arduino MP3 Player / Sound-Maschine bauen

Aktuell hatte ich einen Anwendungsfall den ich mit einfachen MP3 Playern nicht so einfach abdecken konnte, ich wollte in regelmäßigen Zeitabständen, oder aber auf Knopfdruck, immer eine Bestimmte Audiodatei wiedergeben. Das ganze sollte möglichst mobil, ohne größere Technik wie Smartphone oder ähnlichem auskommen und nicht all zu teuer sein. Der Perfekte Anwendungsfall für einen programmierbaren Microcontroller!

Benötigtes Material

Verkabelung / Schaltplan

Die Schaltung ist sehr simpel aufgebaut. Das MP3 Modul wird über die 5V Spannungsversorgung des ESP8266 mit versorgt (VIN & GND). Zudem werden die Kommunikations-Pins TX/RX des MP3 Moduls mit den Pins D6 (GPIO12) und D7 (GPIO13) des ESP8266 verbunden, worüber die Steuerung des MP3 Modul läuft. Wer mehr Informationen benötigt kann in das Datenblatt des DFPlayer Mini sehen. Ein Pinout Diagram gibt es hier. Hier gerne ein Link zur Fritzing Datei NodeMCU-MP3-Player.

Programmierung

Als erstes benötigen wir die Arduino IDE um unseren Microcontroller mit dem notwendigen Code zu versorgen. Lader euch die ARduino IDE herunter und installiert diese

Download and install Arduino IDE – Arduino Help Center

  • Öffnet die Arduino IDE und wählt „Bibliotheken verwalten“
  • Sucht nach der „DFRobotDFPlayerMini“ Bibliothek, wir benötigen diese um den MP3 Player ansteuern zu können.
  • Ihr könnt meinen Code via Copy und Paste in die Arduino IDE übernehmen. Der Code ist simpel, wir initialisieren das MP3 Modul und spielen die erste MP3 Datei von der SD-Karte. Siehe Schema weiter unten.

Programm auf den Microcontroller schreiben

Nun schreiben wir das Programm für einen ersten Test auf unseren Microcontroller. Da die Programme ggf. Controllerspezifisch sind müssen wir der Arduino IDE noch sagen welchem Microcontroller wir nun mit dem Programmcode beschreiben wollen. Nachzulesen auch hier.

  • Hierzu öffnen wir über Datei > Voreinstellungen die Verwaltung um weitere Controller / Boards hinzufügen zu können
  • Dort fügen wir die folgende URL ein von welcher sich die Arduino IDE alle notwendigen Informationen abholt
  • Danach wählen wir den Board Manager
  • Wir installieren die notwendigen Dateien für unseren ESP8266 idem ihr nach ESP8266 sucht und die Boards installiert
  • Wählt nun das korrekte Board über Tools > Board > esp8266 aus „NodeMCU 1.0 (ESP-12E Module)“

Steckt euren ESP8266 via USB an euren Rechner und wählt unter Tools > Port den entsprechenden Serial Port aus. Wird das Board nicht erkannt oder kein Port angezeigt müsst ihr über den Windows Gerätemanager folgenden Treiber manuell hinzufügen. CP210x USB to UART Bridge VCP Drivers – Silicon Labs (silabs.com) – die Release Notes geben folgen Hinweis:

Musik auf SD-Karte speichern / vorbereiten (MP3/WAV)

Der DFPlayer Mini unterstützt sowohl MP3 als auch WAV Dateien, bei der Speicherung der Songs auf eurer Micro-SD Karte gibt es allerdings folgendes zu beachten.

  • Die Dateien MÜSSEN in Ordner, benannt mit 01 – 99, liegen
  • Die Dateien MÜSSEN mit 001 bis 255 im Dateinamen beginnen. Also zb. „001 – Titel.mp3“
  • Die SD-karte muss FAT16 oder FAT32 formatiert sein

    Ich habe also eine Test MP3 Datei in der Ordner „01“ abgelegt und den Dateinamen „001 – Test Titel.mp3“ verwendet.

    Programm übertragen

    Nun müsst ihr nur noch die SD-Karte in euren ESP-8266 einlegen, via Micro USB mit eurem Rechner verbinden und in der Arduino IDE das Programm auf euer Board übertragen.

    • Klickt hierzu einfach auf den Pfeil um die Übertragung zu starten

    Nach der Übertragung dauert es kurz und euer Microcontroller spielt eure erste MP3 von SD-Karte ab!

    Viel Spaß beim weiteren ausprobieren und Programmieren!