Musikdateien mit dem MP3 Player Modul abspielen

In unserem heutigen Blog-Beitrag geht es um das AZ-Delivery MP3 Player Modul.

Dieses Modul erlaubt es Ihnen aufgezeichnete Sprach- oder Musikdateien  von einer Micro-SD Speicherkarte abzuspielen.

Um das Projekt nach zu bauen benötigen Sie:

AZ-Delivery MP3 Player Modul
AZ-Delivery UNO R3
E
in Breadboard mit Kabelbrücken, wie z.B. in unserem Breadboard Set
1x 1kΩ Widerstand
1x Lautsprecher 8Ω bis 2 Watt
1x microSD-Karte

 

Zunächst werden wir einen Blick auf das Modul von oben:

Da die Pins auf dem Modul selbst nicht beschriftet sind, orientieren wir uns an die Einkerbung oben am Modul. Die MicroSD-Kartenslot zeigt nach unten.

 Wir verbinden das Modul wie folgt:

Uno R3

MP3 Modul

5V

VCC

GND

GND

Pin 11 ~

RX mit 1kΩ Widerstand

Pin 10 ~

TX

 

Lautsprecher

MP3 Modul

+

SPK1

-

SPK2

 

 

 

Die Vorbereitung

Als erstes müssen wir eine micro-SD Speicherkarte vorbereiten. Wir empfehlen die Karte zu formatieren (FAT32).

Die Bibliothek welche wir verwenden adressiert die Titel in der Reihenfolge, in der die Dateien auf die Karte kopiert wurden, unabhängig vom Namen.

Wir kopieren die gewünschten Audio-Dateien im .WAV oder .MP3-Format auf die Speicherkarte und legen diese in den Kartenleser auf dem MP3 Modul ein.

Die Bibliothek

Zur steuerung nutzen wir die Bibliothek DFPlayerMini von DFRobot. Diese können Sie auf https://github.com/DFRobot/DFRobotDFPlayerMini herunterladen.

Der Sketch

Wir verwenden das Beispiel “GetStarted” welches Sie unter “Datei” → “Beispiele” → “DFRobotDFPlayerMini” → “GetStarted” finden, und passen einige zeilen an:


im Setup-Teil regeln wir die Lautstärke zur Sicherheit erstmal runter, indem wir den Wert für myDFPlayer.volume auf 5 abändern.

Dann kommentieren wir den Befehl “myDFPlayer.next() aus, damit die Wiedergabe nicht alle 3 Sekunden auf das nächste Lied springt.

Das modifizierte Beispiel sieht wie folgt aus:

 

 /***************************************************

DFPlayer - A Mini MP3 Player For Arduino
 <https://www.dfrobot.com/product-1121.html>
 
 ***************************************************
 This example shows the basic function of library for DFPlayer.
 
 Created 2016-12-07
 By [Angelo qiao](Angelo.qiao@dfrobot.com)
 
 GNU Lesser General Public License.
 See <http://www.gnu.org/licenses/> for details.
 All above must be included in any redistribution
 ****************************************************/

/***********Notice and Trouble shooting***************
 1.Connection and Diagram can be found here
 <https://www.dfrobot.com/wiki/index.php/DFPlayer_Mini_SKU:DFR0299#Connection_Diagram>
 2.This code is tested on Arduino Uno, Leonardo, Mega boards.
 ****************************************************/

#include "Arduino.h"
#include "SoftwareSerial.h"
#include "DFRobotDFPlayerMini.h"

SoftwareSerial mySoftwareSerial(10, 11); // RX, TX
DFRobotDFPlayerMini myDFPlayer;
void printDetail(uint8_t type, int value);

void setup()
{
  mySoftwareSerial.begin(9600);
  Serial.begin(115200);
  
  Serial.println();
  Serial.println(F("DFRobot DFPlayer Mini Demo"));
  Serial.println(F("Initializing DFPlayer ... (May take 3~5 seconds)"));
  
  if (!myDFPlayer.begin(mySoftwareSerial)) {  //Use softwareSerial to communicate with mp3.
    Serial.println(F("Unable to begin:"));
    Serial.println(F("1.Please recheck the connection!"));
    Serial.println(F("2.Please insert the SD card!"));
    while(true){
      delay(0); // Code to compatible with ESP8266 watch dog.
    }
  }
  Serial.println(F("DFPlayer Mini online."));
  
  myDFPlayer.volume(5);  //Set volume value. From 0 to 30
  myDFPlayer.play(1);  //Play the first mp3
}

void loop()
{
  static unsigned long timer = millis();
  
  if (millis() - timer > 3000) {
    timer = millis();
 //   myDFPlayer.next();  //Play next mp3 eve 
  }
  
  if (myDFPlayer.available()) {
    printDetail(myDFPlayer.readType(), myDFPlayer.read()); //Print the detail message from DFPlayer to handle different errors and states.
  }
}

void printDetail(uint8_t type, int value){
  switch (type) {
    case TimeOut:
      Serial.println(F("Time Out!"));
      break;
    case WrongStack:
      Serial.println(F("Stack Wrong!"));
      break;
    case DFPlayerCardInserted:
      Serial.println(F("Card Inserted!"));
      break;
    case DFPlayerCardRemoved:
      Serial.println(F("Card Removed!"));
      break;
    case DFPlayerCardOnline:
      Serial.println(F("Card Online!"));
      break;
    case DFPlayerPlayFinished:
      Serial.print(F("Number:"));
      Serial.print(value);
      Serial.println(F(" Play Finished!"));
      break;
    case DFPlayerError:
      Serial.print(F("DFPlayerError:"));
      switch (value) {
        case Busy:
          Serial.println(F("Card not found"));
          break;
        case Sleeping:
          Serial.println(F("Sleeping"));
          break;
        case SerialWrongStack:
          Serial.println(F("Get Wrong Stack"));
          break;
        case CheckSumNotMatch:
          Serial.println(F("Check Sum Not Match"));
          break;
        case FileIndexOut:
          Serial.println(F("File Index Out of Bound"));
          break;
        case FileMismatch:
          Serial.println(F("Cannot Find File"));
          break;
        case Advertise:
          Serial.println(F("In Advertise"));
          break;
        default:
          break;
      }
      break;
    default:
      break;
  }
}

 

Nachdem wir den Code hochgeladen haben, startet die MP3 Wiedergabe.

Mit diesem Modul können Sie nun ihren Mikrocontroller-Projekten eine Stimme geben. Oder anstelle von einfachen Piep-Geräuschen können Sie die Alarm-Sirenen aus ihrer bevorzugten science fiction Serie widergeben.

 

Wer handwerklich begabt ist, kann den Lautsprecher inklusive Arduino in ein schönes Gehäuse verbauen, und um Funktionstasten erweitern (Laut, Leise, Vor, Zurück, usw.)

 

MP3 Speaker

MP3 Lautsprecher Innenleben

 

Wir hoffen Ihnen hat unser heutiger Beitrag gefallen, und sind gespannt zu erfahren was Sie für Projekte mit unserem MP3 Modul umgesetzt haben.

Schicken Sie uns doch einfach ein Foto von Ihrem fertigen Projekt - wir würden uns sehr freuen.

 

Viel Spaß beim Nachbauen wünscht Ihnen

Markus Neumann

Team AZ-Delivery

 

 

Letzter Artikel USB-Adapter erweitern mit Flash Jumper und Reset Taster

Kommentar

tbretz - Oktober 1, 2018

@Veit
Hallo,
mit dem “DFRobotDFPlayerMini.h” bekomme ich das Modul auch nicht zum laufen.

Bei mir läuft es nur mit dem “DFMiniMp3.h” “DFPlayer Mini Mp3 by Makuna”

Veit - August 13, 2018

Haben sie das Modul schon mal mit dem ESP32 getestet?
Ich habe dazu das hier gefunden:
https://github.com/pcbreflux/espressif/blob/master/esp32/arduino/sketchbook/ESP32_DFPlayer_full/ESP32_DFPlayer_full.ino

Allerdings kommt bei mir immer die Ausgabe: “Please recheck the connection”

Hinterlasse einen Kommentar

Kommentare müssen vor der Veröffentlichung überprüft werden

Erforderliche Angabe