Musikdateien mit dem MP3 Player Modul abspielen - AZ-Delivery

Onze blogpost van vandaag gaat over de AZ-Delivery MP3 Player module.

Met deze module u opgenomen spraak- of muziekbestanden afspelen vanaf een micro-SD-geheugenkaart.

Ga als u het project bouwen nadat u het project nodig hebt:

MP3-spelermodule AZ-Delivery
AZ-Delivery microcontroller, compatibel met Arduino UNO R3
E
in breadboard met kabelbruggen, zoals in onze Broodbordset
1x 1k" weerstand
1x luidspreker 8 tot 2 watt
1x microSD-kaart

 

Eerst nemen we een kijkje op de module van bovenaf:

Mp3-modulemodule-pinout

Omdat de pinnen op de module zelf niet zijn gelabeld, oriënteren we ons op de inkeping aan de bovenkant van de module. De MicroSD-kaartsleuf wijst naar beneden.

We verbinden de module als volgt:

Microcontroller, compatibel met Arduino Uno R3

MP3-module

5v

Vcc

Gnd

Gnd

Speld 11

RX met 1k• Weerstand

Speld 10

Tx

 

Sprekers

MP3-module

+

SPK1 SPK1

-

SPK2 SPK2

 

 

mp3-speler breadboard verbinding

 

De voorbereiding

Eerst moeten we een micro-SD geheugenkaart voorbereiden. We raden u aan de kaart op te maken (FAT32).

De bibliotheek die we gebruiken adressen van de titels in de volgorde waarin de bestanden werden gekopieerd naar de kaart, ongeacht de naam.

We kopiëren de gewenste audiobestanden in de . WAV of . MP3-formaat op de geheugenkaart en steek deze in de kaartlezer op de MP3-module.

De bibliotheek

We gebruiken de DFPlayerMini bibliotheek van DFRobot voor controle. U deze gebruiken op https://github.com/DFRobot/DFRobotDFPlayerMini Downloaden.

De schets

We gebruiken het voorbeeld GetStarted, dat u vinden onder Bestand - Voorbeelden - DFRobotDFPlayerMini - GetStarted en sommige regels aanpassen:


in het setup-gedeelte passen we het volume aan voor beveiliging door de waarde voor myDFPlayer.volume te wijzigen in 5.

Dan geven we commentaar op de opdracht "myDFPlayer.next() zodat het afspelen niet springen naar het volgende nummer om de 3 seconden.

Het gewijzigde voorbeeld ziet er als volgt uit:

 

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

DFPlayer - Een Mini MP3-speler voor Arduino
 <https://www.dfrobot.com/product-1121.html>
 
 ***************************************************
 In dit voorbeeld ziet u de basisfunctie van bibliotheek voor DFPlayer.
 
 Gemaakt 2016-12-07
 Door [Angelo qiao](Angelo.qiao@dfrobot.com)
 
 GNU Lesser General Public License.
 Meer <http://www.gnu.org/licenses/> voor meer informatie.
 Al het bovenstaande moet worden opgenomen in elke herverdeling
 ****************************************************/

/**********************************************************************************************
 1.Connection en Diagram zijn hier te vinden
 <https://www.dfrobot.com/wiki/index.php/DFPlayer_Mini_SKU:DFR0299#Connection_Diagram>
 2.Deze code is getest op Arduino Uno, Leonardo, Mega boards.
 ****************************************************/

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

SoftwareSerial mySoftwareSerial(10, 11); RX, TX
DFRobotdFPlayerMini DFRobot myDFPlayer;
Void printDetail(uint8_t Type, Int Waarde);

Void Setup()
{
  mySoftwareSerial.Beginnen(9600);
  Seriële.Beginnen(115200);
  
  Seriële.println();
  Seriële.println(V("DFRobot DFPlayer Mini Demo"));
  Seriële.println(V("Initialiseren DFPlayer ... (Mei duurt 3'5 seconden)"));
  
  Als (!myDFPlayer.Beginnen(mySoftwareSerial)) {  Gebruik softwareSerial om te communiceren met mp3.
    Seriële.println(V("Niet in staat om te beginnen:"));
    Seriële.println(V("Controleer de verbinding opnieuw!"));
    Seriële.println(V("2.Gelieve de SD-kaart!"));
    Terwijl(Waar){
      Vertraging(0); Code om compatibel te zijn met ESP8266 waakhond.
    }
  }
  Seriële.println(V("DFPlayer Mini online."));
  
  myDFPlayer.Volume(5);  Volumewaarde instellen. Van 0 tot 30
  myDFPlayer.Spelen(1);  Speel de eerste mp3
}

Void Lus()
{
  Statische Unsigned Lange Timer = millis();
  
  Als (millis() - Timer > 3000) {
    Timer = millis();
 myDFPlayer.next();  Speel volgende mp3 vooravond 
  }
  
  Als (myDFPlayer.Beschikbaar()) {
    printDetail(myDFPlayer.readType(), myDFPlayer.Lezen()); Druk het detailbericht van DFPlayer af om verschillende fouten en statussen te verwerken.
  }
}

Void printDetail(uint8_t Type, Int Waarde){
  Schakelen (Type) {
    Geval Timeout:
      Seriële.println(V("Time Out!"));
      Breken;
    Geval WrongStack:
      Seriële.println(V("Stapel verkeerd!"));
      Breken;
    Geval DFPlayerCard ingevoegd:
      Seriële.println(V("Kaart ingevoegd!"));
      Breken;
    Geval DFPlayerCard verwijderd:
      Seriële.println(V("Kaart verwijderd!"));
      Breken;
    Geval DFPlayerCardOnline:
      Seriële.println(V("Card Online!"));
      Breken;
    Geval DFPlayerPlayFinished:
      Seriële.Afdrukken(V("Nummer:"));
      Seriële.Afdrukken(Waarde);
      Seriële.println(V(" Speel afgewerkt!"));
      Breken;
    Geval DFPlayerError:
      Seriële.Afdrukken(V("DFPlayerError:"));
      Schakelen (Waarde) {
        Geval Drukke:
          Seriële.println(V("Kaart niet gevonden"));
          Breken;
        Geval Slapen:
          Seriële.println(V("Slapen"));
          Breken;
        Geval SerialWrongStack:
          Seriële.println(V("Get Verkeerde Stack"));
          Breken;
        Geval CheckSumNotMatch:
          Seriële.println(V("Check Sum niet overeenkomen"));
          Breken;
        Geval FileIndexOut:
          Seriële.println(V("File Index out of bound"));
          Breken;
        Geval FileMismatch:
          Seriële.println(V("Kan bestand niet vinden"));
          Breken;
        Geval Adverteren:
          Seriële.println(V("In Adverteren"));
          Breken;
        Standaard:
          Breken;
      }
      Breken;
    Standaard:
      Breken;
  }
}

 

Nadat we de code hebben geüpload, begint mp3-afspelen.

Met deze module u uw microcontrollerprojecten nu een stem geven. Of in plaats van eenvoudige piepgeluiden, u echo de alarmsirenes van hun favoriete science fiction serie.

 

Als u bedreven bent in vakmanschap, u de luidspreker inclusief Arduino in een mooi geval installeren en uitbreiden met functietoetsen (luid, stil, vooruit, terug, enz.)

 

MP3-luidspreker

MP3 Speaker Binnen

 

We hopen dat u vandaag van onze bijdrage heeft genoten en graag wilt weten wat u voor projecten hebt geïmplementeerd met onze MP3 module.

Stuur ons een foto van uw voltooide project - we zouden erg blij zijn.

 

Veel plezier met de wederopbouw

Markus Neumann

Team AZ-Levering

 

 

Für arduinoProjekte für anfänger

27 Reacties

Andreas Wolter

Andreas Wolter

@Wolfgang: so wie ich das sehe, müssten Sie nur diese Zeile einkommentieren (die Schrägstriche am Beginn der Zeile entfernen)
// myDFPlayer.next(); //Play next mp3 eve

Grüße,
Andreas Wolter
AZ-Delivery Blog

Wolfgang

Wolfgang

Nachdem ich nun ein wenig ohne Erfolg “probiert” habe, meine Frage nun an die Fachleute:
Mein mp3player soll mit dem ersten Song starten, sobald er eingeschaltet wird und dann alle weiteren Songs (Song 2 bis Song x) abspielen. Nach der Wiedergabe des Songs x soll er wieder von vorn anfangen. Welche Veränderungen muss am Sketch “DFPlayer – A Mini MP3 Player For Arduino” vornehmen?
Vielen Dank für die Hilfe.

Andreas Wolter

Andreas Wolter

@Kniesekiste Jannik: Ich verstehe Ihre Frage nicht ganz. Wenn Sie den Quellcode meinen, können Sie den einfach markieren und in Ihren leeren Sketch einfügen.

Grüße,
Andreas Wolter
AZ-Delivery Blog

Kniesekiste Jannik

Kniesekiste Jannik

wie kopiere ich das in meinen text???? vielen lieben darm für schnelle antwort

Andreas Wolter

Andreas Wolter

@Rudolf Huber: wir haben einige Beiträge im Blogbereich, die sich mit dem Thema befassen. Der MP3-Player spielt die Sounds dann ab, wenn der Mikrocontroller den Befehl dazu gibt. Im Sketch können Sie festlegen, wann das sein wird. Wenn Sie Sensoren anschließen, kann der Mikrocontroller so programmiert werden, dass er die von Ihnen gewünschten Sounds abspielt, sobald er ein Signal von dem Sensor bekommt.

Hier einige Projekte mit dem MP3 Player Modul:
https://www.az-delivery.de/blogs/azdelivery-blog-fur-arduino-und-raspberry-pi/der-sprechende-farbdetektor-mit-dfplayer-und-tcs3200-teil-1

https://www.az-delivery.de/blogs/azdelivery-blog-fur-arduino-und-raspberry-pi/halloween-2023-das-monster-in-der-kiste

oder auch in MicroPython:
https://www.az-delivery.de/blogs/azdelivery-blog-fur-arduino-und-raspberry-pi/wie-gross-bin-ich-koerpergroesse-messen-mit-vl53l0x-tof-sensor-und-sprachausgabe-in-micropython

Grüße,
Andreas Wolter
AZ-Delivery Blog

Rudolf Huber

Rudolf Huber

Hallo, möchte gerne eine Zwitscherbox bauen. Kann ich den mp3-Player auch direkt über einen Bewegungsmelder anstoßen, also ohne Mikroprozessor. Gibt es dazu eine Anleitung.
Mit freundlichem Gruß
Rudolf Huber

Andreas Wolter

Andreas Wolter

@Tobi: ich habe es bisher nicht getestet. Im Falle eines Falles kann ich einen Test aufbauen. Mein erster Gedanke war, dass der ESP eine eigene SoftwareSerial braucht. Die gibt es auch. Eventuell ist die aber nicht mit der DFRobot Bibliothek kompatibel. Daher habe ich kurz recherchiert und bei Github eine ähnliche Anfrage gefunden. Dort hat es jemand nach anfänglichen Problemen hinbekommen. Er musste nur die Pinnummern ändern. Siehe hier: https://github.com/DFRobot/DFRobotDFPlayerMini/issues/1

Lassen Sie es uns wissen, ob es funktioniert.
Schauen Sie auch in die Blogreihe zum sprechenden Farbdetektor, der ebenfalls diesen MP3 Player (allerdings mit einem Nano) verwendet:
https://www.az-delivery.de/blogs/azdelivery-blog-fur-arduino-und-raspberry-pi/der-sprechende-farbdetektor-mit-dfplayer-und-tcs3200-teil-1

Tobi

Tobi

Guten Tag welche Bibliothek muss ich für den WeMos D1 R2 WiFi ESP8266 benutzen? Funktioniert es auch mit der Bibliothek:
#include “SoftwareSerial.h”
#include “DFRobotDFPlayerMini.h”

Vielen Dank für die Rückmeldung.

Andreas Wolter

Andreas Wolter

@Hans Nitschke: um Audiodateien auf der SD-Karte zu speichern, brauchen Sie PC / Smartphone / Tablet, das SD Karten erkennen und beschreiben kann.

Hans Nitschke

Hans Nitschke

Ich habe eine Frage bezüglich der MicroSD-Karte. Wie kann ich diese bespielen?
z.B. mit einem Hundegebell oder einen Alarm.

Andreas Wolter

Andreas Wolter

@Peter Lenz: der Mega hat einen Spannungswandler am Vin Pin. Laut Datenblatt sind dort 7V – 12V empfohlen, Limit sind 6V – 20V. Einen 9V Block zu verwende, ist eine gängige Methode. Es bleibt dann nur die Frage, wie lange die Stromversorgung ausreicht. Das lässt sich berechnen, nachdem man die Stromaufnahme gemessen hat.
Eine Alternative sind LiPo Akkus, die aber 3,7V liefern. Es ist also eine Spannungswandler notwendig, der auch hier im Shop verfügbar sein sollte.

Im dritten Teil des sprechenden Farbdetektors wurde solch eine mobile Stromversorgung umgesetzt:
https://www.az-delivery.de/blogs/azdelivery-blog-fur-arduino-und-raspberry-pi/der-sprechende-farbdetektor-teil-3

Peter Lenz

Peter Lenz

Plane eine Projekt mit MP3-Player Modul. Verwende einen Arduino Mega 2560 und möchte 30 Titel per Taster abspielen. Schaltung funktioniert auf dem Breadboard mit Stromversorgung über USB. Benötige eine netzunabhängige Stromversorgung für ein kleines Gehäuse (Arduino-Baustein + Platine). Welche Stromversorgung können Sie mir empfehlen? Kann ich einen 9V-Block über Vin bedenkenlos nutzen?

Andreas Wolter

Andreas Wolter

@Trumar: schauen Sie doch mal in meine Reihe Der sprechende Farbdetektor mit DFPlayer: https://www.az-delivery.de/blogs/azdelivery-blog-fur-arduino-und-raspberry-pi/der-sprechende-farbdetektor-mit-dfplayer-und-tcs3200-teil-1?pos=3&_sid=58b84fbff&ss=r

dort habe ich einen Nano verwendet. Eventuell helfen diese Beiträge auch anderen Lesern, die Probleme haben.

Trumar

Trumar

Hallo!
Ist es auch möglich den DFPlayer Mini mit dem Nano V3 zu verbinden?
SG Martin

Ingo

Ingo

Aus der ausführlichen Dokumentation zum MP3-Modul (im Verzeichnis /doc der Bibliothek) geht hervor, dass man mit dem Modul nur Dateien abspielen kann (eigentlich auch ohne Arduino). Zur Anzeige des Namens benutze ich ein SD-Kartenmodul (SPI Reader Micro Speicher SD TF Karte Memory Card Shield Modul), in welchem ich eine SD-Karte mit exakt der gleichen Dateistruktur stecke. Dort kann ich die Dateinamen auslesen (aber leider nicht abspielen) und anzeigen. Läuft bei mir prima mit dem Arduino Nano – auch wenn es im Speicher etwas eng ist.

Harald Friedrich

Harald Friedrich

Die MP3 Dateinamen auf der SD-Karte müssen alle eine Nummer vorangestellt bekommen. Gibt es eine Möglichkeit, den kompletten Namen des aktuell gespielten Files heraus zu bekommen, um ihn auf einem Display anzuzeigen? Ansonsten ist das Modul als MP3-Player eigentlich unbrauchbar?!?

Holger

Holger

Hallo HaMa, den Widerstand solltest du nicht weglassen, sonst gibt es Probleme mit 3,3 Volt,
Auch bei mir lief der Player mit dem vorgegebenem Programm nicht. Zum Haareraufen!!
Aber so ging es:
#include “Arduino.h”
#include “SoftwareSerial.h”
#include “DFRobotDFPlayerMini.h”

SoftwareSerial mySoftwareSerial(10, 11); // RX, TX
DFRobotDFPlayerMini myDFPlayer;

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(3); //Play the first mp3

}

void loop()
{

myDFPlayer.play(1); //Play next mp3 eve */ delay(5000); myDFPlayer.stop();

}

Ha Ma

Ha Ma

Habe den Aufbau mit einem D1 Mini ausprobiert und nicht zum laufen gebracht.
Den 1k Widerstand an Rx habe ich weggelassen. Mehrere Ports ausgetestet, bleibt immer bei ´unable to begin ˋ stehen. Mit 2 player ausgetestet. Läuft der Player mit dem D1 Mini?

Währe dankbar für einen Tipp.

Jens

Jens

Ein großer Kondensator 470 – 1000uF an V+5 und GND nahe am Modul tut dem Modul bei großer Lautstärke gut. Vor allem auf dem Breadbord, wo die Kabel schnell mal wackeln…
Achtung, 11 vom Arduino geht über 1k an RX des Moduls und TX Modul an 10 Arduino. Wer sicher sein will kann in beide Leitungen 1k machen.

Tom

Tom

Hallo, ich habe es einmal angeschlossen, funktionierte einwandfrei, nun hab ich es nochmal sauber auf das Breadboard gesteckt und jetzt funktioniert nichts mehr. Über der seriellen Monitor erfahre ich, dass das MP3 Player Modul “unable” ist und dass ich Verbindungen überprüfen soll und die micro SD Karte. Beides ist korrekt. Ist das Player Modul defekt?

ocram

ocram

hmm ich bekomme es nicht zum laufen.
ich habe es an einen nano von euch angeschlossen aber ich bekomme nur verstümmelte messages via serial . Es werden keine MP3 gefunden. hat jemand vielleicht eine Idee was ich falsch mache?

azdeliver

azdeliver

Wenn es möglich ist, nach dem Programmieren den CHIP alleine zu verwenden, dann würde ich mehrere Kaufen wollen. Ansonsten macht das keinen Sinn mit dem großen Arduinoboard dazu. VG

Matthias Zeller

Matthias Zeller

Sehr gut beschrieben.
Alles hat auf Anhieb geklappt.
Vielen Dank :-)

Gastleser

Gastleser

Interessant. :) Kann ich auch einen Lautsprecher mit 4 Ohm verwenden? Muss ich da etwas beachten?

Gonzo

Gonzo

warum spielt der Player immer nur einen titel ab

tbretz

tbretz

@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

Veit

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”

Laat een reactie achter

Alle opmerkingen worden voor publicatie gecontroleerd door een moderator

Aanbevolen blogberichten

  1. ESP32 jetzt über den Boardverwalter installieren - AZ-Delivery
  2. Internet-Radio mit dem ESP32 - UPDATE - AZ-Delivery
  3. Arduino IDE - Programmieren für Einsteiger - Teil 1 - AZ-Delivery
  4. ESP32 - das Multitalent - AZ-Delivery