Lire des fichiers musicaux avec le module lecteur MP3

Dans notre post blog d'aujourd'hui, il s'agit du module AZ-Delivery MP3 Player.

Ce module vous permet de lire des fichiers vocaux ou musicaux enregistrés à partir d'une carte mémoire Micro-SD.

Pour construire le projet après, vous avez besoin:

Module de distribution AZ-Delivery MP3
AZ-Delivery Micro Régulateur, compatible avec Arduino UNO R3
E
à Breadboard, avec des ponts de câbles, comme dans notre Kit de tableau de bord
1x 1krésistance résistance
1x Haut-parleurs 81-W à 2 watts
Carte microSD 1x

 

D'abord, nous allons jeter un coup d'œil au module en haut:

MP3 player module pinout

Comme les pins ne sont pas étiquités sur le module proprement dit, nous nous orientons vers l'entaille en haut du module. La carte de la carte MicroSD est en bas.

Nous connectons le module comme suit:

Microcontrôleur compatible avec Arduino Uno R3

Module MP3

5V

C.C.

GND

GND

Pin 11

RX avec 1kRésistance Ω

Pin 10

TX

 

Orateurs

Module MP3

+

SPK1

-

SPK2

 

 

Connection des tableaux de bord mp3

 

La préparation

La première chose à faire est de préparer une carte mémoire SD. Nous vous recommandons de formater la carte (FAT32).

La bibliothèque que nous utilisons est adressée aux titres dans l'ordre dans lequel les fichiers ont été copiés sur la carte, quel que soit le nom.

Nous copiez les fichiers audio souhaités sur la carte mémoire au format .WAV ou .MP3, et placez-les dans le lecteur de cartes sur le module MP3.

La bibliothèque

Nous utilisons la bibliothèque DFPlayerMini de DFRobot pour contrôler la bibliothèque. Vous pouvez le faire sur https://github.com/DFRobot/DFRobotDFPlayerMini télécharger.

Sketch

Nous utilisons l'exemple "GetStarted" qui se trouve dans le fichier "Fichier" → "Exemples" → "DFRobotDFPlayerMini" → "GetStarted" et personnalisez quelques lignes:


Dans la partie configuration, nous allons régler le volume de la sécurité pour la première fois en modifiant la valeur de myDFPlayer.volume à 5.

Ensuite, nous allons commenter la commande " myDFPlayer.next () pour que la lecture ne saute pas toutes les 3 secondes sur la chanson suivante.

L'exemple modifié se présente comme suit:

 

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

DFPlayer-A Mini MP3 Player For Arduino
 <https://www.dfrobot.com/product-1121.html>
 
 ***************************************************
 This example show 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/> pour les détails.
 All above must be included in any be
 ****************************************************/

/*********** 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"

série de logiciels mySoftwareSerial(10, 11); // RX, TX
DFRobotDFPlayerMini myDFPlayer;
void printDetail(uint8_t type, int valeur);

void setup()
{
  mySoftwareSerial.begin(9600);
  série.begin(115200);
  
  série.println();
  série.println(F("DFRobot DFPlayer Mini Demo"));
  série.println(F("Initializing DFPlayer ... (May take 3 ~ 5 seconds)"));
  
  if (!myDFPlayer.begin(mySoftwareSerial)) {  // Use softwareSerial to communicate with mp3.
    série.println(F("Unable to begin:"));
    série.println(F("1.Please droit de la connection!"));
    série.println(F("2.Please insert the SD card!"));
    while(vrai){
      Délay(0); // Code à compatible avec ESP8266 watch dog.
    }
  }
  série.println(F("DFPlayer Mini en ligne."));
  
  myDFPlayer.Volume(5);  // Set volume value. From 0 to 30
  myDFPlayer.play(1);  // Play the first mp3
}

void boucle()
{
  static unsigned long timer = millièmes();
  
  if (millièmes() - timer > 3000) {
    timer = millièmes();
 // myDFPlayer.next () ; // Play next mp3 eve 
  }
  
  if (myDFPlayer.available()) {
    printDetail(myDFPlayer.readType(), myDFPlayer.lecture()); // Imprimez le message détaillé de DFPlayer pour gérer différentes erreurs et états.
  }
}

néant printDetail(uint8_t type, int valeur){
   commutateur (type) {
       Cas Temps libre:
           En série.println(F("Temps libre!"));
           Pause;
       Cas WrongStack:
           En série.println(F("Stack Wrong!"));
           Pause;
       Cas DFPlayerCardInserred:
           En série.println(F("Carte insérée!"));
           Pause;
       Cas DFPlayerCardRemoved:
           En série.println(F("Carte retirée!"));
           Pause;
       Cas DFPlayerCardOnline:
           En série.println(F("Carte en ligne!"));
           Pause;
       Cas DFPlayerPlayFinished:
           En série.impression(F("Nombre:"));
           En série.impression(valeur);
           En série.println(F("Jouer terminé!"));
           Pause;
       Cas DFPlayerError:
           En série.impression(F("DFPlayerError:"));
           commutateur (valeur) {
               Cas Occupé:
                   En série.println(F("Carte non trouvée"));
                   Pause;
               Cas En train de dormir:
                   En série.println(F("En train de dormir"));
                   Pause;
               Cas SerialWrongStack:
                   En série.println(F("Get Wrong Stack"));
                   Pause;
               Cas CheckSumNotMatch:
                   En série.println(F("Vérifier que la somme ne correspond pas"));
                   Pause;
               Cas FileIndexOut:
                   En série.println(F("Index de fichier hors limite"));
                   Pause;
               Cas FileMismatch:
                   En série.println(F("Impossible de trouver le fichier"));
                   Pause;
               Cas Afficher:
                   En série.println(F("Dans la publicité"));
                   Pause;
               défaut:
                   Pause;
      }
           Pause;
       défaut:
           Pause;
  }
}

 

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 widegegeben.

 

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.)

 

Speaker MP3

MP3 Haut-parleur intérieur

 

Wir hoffen Ihnen hat unser heutiger Beitrag gefallen, und sind gespannt zu erfahren était 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

Équipe AZ-Delivery

 

 

Pour arduinoProjets pour les débutants

15 commentaires

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”

Laisser un commentaire

Tous les commentaires sont modérés avant d'être publiés

Messages de blogs recommandés

  1. Installez maintenant ESP32 via l'administrateur de la carte
  2. Lüftersteuerung Raspberry Pi
  3. Arduino IDE - Programmieren für Einsteiger - Teil 1
  4. ESP32 - das Multitalent
  5. OTA-Over the Air-ESP Programmation par WiFi