Aktion: DFPlayer und Lautsprecher
Diese beiden Bauteile benötigen wir um die Pflanze sprechen zu lassen.
DFPlayer
- Das MP3-Player-Modul kann MP3s in elektrische Signale umwandeln, die direkt über einen Lautsprecher ausgegeben werden können.
- Er kann MP3-Dateien von eine MicroSD-Karte lesen (Achtung: die Dateien müssen in einem bestimmten Format gespeichert werden, damit sie vom MP3-Player erkannt werden, mehr dazu später).
Technische Daten
- Betriebsspannung: 3,2 - 5 V
- Verstärker für Lautsprecher bis zu 3 W
- Slot für TF/MicroSD-Karte, bis 32GB
Lautsprecher
- Der Lautsprecher ist ein Schallwandler, der aus einem elektrischen Signal Schall erzeugt.
- Wird er an den DFPlayer angeschlossen, macht er die Sounds hörbar, die über den DFPlayer abgespielt werden.
Technische Daten
- Elektrischer Widerstand: 8 Ohm
- Leistung: 3 W (Die Leistung gibt hier an, wie viel elektrische Leistung der Lautsprecher aufnehmen und in Schallleistung umwandeln kann.)
Sound-Datei vorbereiten
Um einen Sound mit dem DFPlayer abzuspielen, müssen wir zuerst einen Sound in Form eines MP3-File auf eine MicroSD-Karte kopieren, welche wir dann anschließend in den DFPlayer einlegen. Lege dafür die MicroSD-Karte in deinen Laptop ein. Sollte dein Laptop keine Möglichkeit haben, eine MicroSD-Karte zu lesen, benutze einen USB-Adapter für MicroSD-Karten.
Abgespielt werden die MP3s in der Reihenfolge, in der sie auf die Karte kopiert wurden. Der DFPlayer kann bis zu 100 Ordner mit bis zu 255 MP3s verwalten. Wir brauchen heute allerdings erstmal nur eine einzige Sound-Datei.
Suche dir eine lizenzfreie MP3 von einem der folgenden Webseiten:
- https://soundbible.com/
- https://www.partnersinrhyme.com/pir/PIRsfx.shtml
- https://freesound.org/ (login wird benötigt)
Achtung! Die Soundbible-Seite zeigt dir vielleicht verschiedene Pop-ups/Werbebanner mit Download-Buttons an. Der richtige Download-Button sieht so aus (lila eingekreist):
Lade deine gewünschte Datei herrunter und speichere diese auf der MikroSD-Karte ab. Prüfe am Besten vorher auf deinem Laptop noch, ob dein Sound auch wirklich funktioniert, indem du ihn kurz anspielst.
Möchtest du die Abspielreihenfolge selbst festlegen, musst du einen Ordner mit dem Namen “mp3” im Hauptverzeichnis der SD-Karte anlegen. Außerdem muss der Name der Datei aus vier Zahlen bestehen: zum Beispiel “0001.mp3” und im mp3-Ordner liegen.
Lautsprecher an DFPlayer anschließen
Der Lautsprecher hat nur zwei Kabel, weil er kein Signal verarbeitet. Durch den Strom wird die Membran in Schwingungen versetzt und erzeugt Schallwellen, die wir als Töne hören können:
- Minuspol (schwarzes Kabel)
- Pluspol (rotes Kabel)
Um den Lautsprecher anzusteuern, verwenden wir den DFPlayer. Dieser hat eine Vielzahl an Anschlussstifte, für uns sind allerdings nur die folgenden relevant:
- Minuspol (GND) Stift
- Pluspol (VCC) Stift
- Serieller Eingang - RX Stift
- Serieller Ausgang - TX Stift
- Minuspol-Verbindung zum Lautsprecher - SPK2 Stift
- Pluspol-Verbindung zum Lautsprecher - SPK1 Stift
Den DFPlayer hältst du richtig herum, wenn du oben die Einkerbung siehst und der Einschub für die MicroSD-Karte nach unten zeigt.
Du schließt die Anschlussstifte über mehrere Kabel wie folgt an deinen Mikrocontroller und Lautsprecher an:
- Denk daran, dass der Mikrocontroller vom USB-Strom getrennt ist, bevor du Änderungen am Stromkreis machst
- Verbinde ein Kabel mit dem GND-Stift des DFPlayers und mit dem G (Ground) - Steckplatz auf dem Mikrocontroller
- Verbinde ein Kabel mit dem VCC-Stift des DFPlayers und dem VV Pin auf dem Mikrocontroller
- Verbinde ein Kabel mit dem Stift des seriellen Eingangs (RX) des DFPlayers und dem D3 Pin des Mikrocontrollers
- Verbinde ein Kabel mit dem Stift des seriellen Ausgangs (TX) des DFPlayers und dem D2 Pin des Mikrocontrollers
- Verbinde den SPK2 Stift des DFPlayers mit Hilfe eines Kabels mit dem schwarzes Kabel (oder weißen) des Lautsprechers (die Verbindung eventuell mit etwas Klebestreifen fixieren)
- Verbinde den SPK1 Stift des DFPlayers mit Hilfe eines Kabels mit dem rotem Kabel (oder weißen) des Lautsprechers (die Verbindung eventuell mit etwas Klebestreifen fixieren)
Programmierung
Hinweis: Solltest bereits Code von einer vorherigen Aufgabe im Editor stehen kannst du diesen löschen.
Nun benötigst du noch den dazugehörigen Code, um die MP3 abzuspielen. Hierfür verwenden wir eine Programm-Bibliothek, die bereits eine Vielzahl an Funktionen für die Steuerung des DFPlayers zur Verfügung stellt.
Für die Verwendung des DFPlayers muss die Programmbibliothek DFRobotDFPlayerMini installiert werden. Gehe dafür in der Arduino-IDE ins Menü Sketch > Programmbibliotheken einbinden > Programmbibliotheken verwalten und gib im Suchfeld DFPlayer ein. Installiere die erwähnte Bibliothek “DFRobotDFPlayerMini”.
Des Weiteren benötigen wir eine weitere Bibliothek namens “SoftwareSerial”. Da wir später keine verfügbaren seriellen Anschlüsse an unserem Mikrocontroller haben, verwenden wir die Serial-Bibliothek, um die seriellen Signale am digitalen Pin der Mikrocontrollers zu verwenden. Diese Bibliothek ist bereits vorinstalliert. Du brauchst sie nicht extra installieren.
Um die Bibliotheken im Programmcode verwenden zu können, müssen diese im Code eingebunden werden. Diese setzt man gewöhnlich ganz oben am Anfang der Datei. Die SoftwareSerial-Bibliothek ermöglicht eine serielle Kommunikation mit dem Mikrocontroller über die digitalen Pins.
#include "SoftwareSerial.h" // SoftwareSerial-Bibliothek laden
#include "DFRobotDFPlayerMini.h" // DFPlayer-Bibliothek laden
SoftwareSerial mySoftwareSerial(D2, D3);
DFRobotDFPlayerMini myDFPlayer;
Im Anschluss folgt der folgende Programmcode:
void setup() {
mySoftwareSerial.begin(9600); // SoftwareSerial konfigurieren
Serial.begin(115200); // Seriellen Monitor konfigurieren
Serial.println(); // Leere Zeile ausgeben
Serial.println("Initialisiere DFPlayer ... (Kann 3~5 Sekunden dauern)");
if (!myDFPlayer.begin(mySoftwareSerial)) { // Wenn DFPlayer nicht startet, dann führe die nächsten 4 Zeilen aus.
Serial.println("DFPlayer startet nicht:");
Serial.println("1. Überprüfe die Kabel!");
Serial.println("2. Lege eine SD-Karte ein!");
while (true); // Wiederhole das Setup.
}
Serial.println("DFPlayer ist gestartet.");
myDFPlayer.volume(10); // Setze die Lautstärke auf 10 (0 to 30).
myDFPlayer.play(1); // Spiele die erste mp3 ab.
}
void loop() {
static unsigned long timer = millis(); // Millisekunden, die seit dem Start des Programms vergangen sind.
if (millis() - timer > 3000) { // Wenn 3 Sekunden vergangen sind, dann führe die nächsten Zeilen aus.
timer = millis(); // Aktualisiere die Variable mit der Zeit, die jetzt vergangen ist.
Serial.println("DFPlayer spielt die nächste Datei.");
myDFPlayer.next(); // Spiele die nächste mp3 ab.
}
}
Nachdem du das Programm auf den Mikrocontroller geladen hast, solltest du einen Sound hören. 🔊
Beobachte auch den seriellen Monitor, um Debug-Informationen zu erhalten. Manchmal muss man die MicroSD-Karte kurz herausnehmen und wieder reinstecken, damit diese erkannt wird.
Wow! Du machst das großartig! ❤️ Gönn dir auch mal eine kurze Pause, hol dir ein Getränk und vertritt dir mal die Beine.
Den Aufbau für DFPlayer und Lautsprecher kannst du gleich im nächsten Schritt weiterverwenden.