logo idehack

Le starter kit Arduino Officiel

Pour débutant – Manuel en Français

Apprenez l’Arduino et l’électronique de façon pratique

DFPlayer mp3-tf-16p et Arduino

Fév 23, 2024 | Arduino | 0 commentaires

Jouer des fichier audio avec votre Arduino grâce au DFPlayer mp3-tf-16p

Le module MP3-TF-16P, également connu sous le nom de DFPlayer Mini MP3 Player pour Arduino, est un petit dispositif conçu pour la lecture de fichiers audio au format MP3. Intégrant un lecteur de carte microSD (TF), ce module est largement utilisé dans divers projets électroniques tels que des systèmes de sonorisation, des lecteurs audio portables et des alarmes sonores.

Il peut être utilisé de manière autonome avec une batterie, un haut-parleur et des boutons-poussoirs attachés, ou bien en combinaison avec un Arduino UNO ou tout autre module disposant de capacités RX/TX. Ce module nécessite l’utilisation d’une carte microSD pour le stockage des fichiers MP3.

Il offre la possibilité de lire des fichiers MP3 à partir de la carte microSD, ainsi que la capacité d’être contrôlé à l’aide de boutons-poussoirs ou d’un microcontrôleur. De plus, il dispose généralement d’une sortie audio permettant de connecter un haut-parleur ou un casque, et fonctionne avec une alimentation généralement basse tension (par exemple, 3.3V ou 5V), ce qui le rend compatible avec une variété de systèmes électroniques. Certains modèles peuvent également proposer des fonctionnalités supplémentaires telles que la lecture aléatoire ou la répétition de pistes. En résumé, ce module offre une solution polyvalente pour la lecture de fichiers MP3 dans une gamme étendue d’applications électroniques.

Caractéristiques principales

  • Prise en charge de cartes micro SD jusqu’à 32Go
  • Volume réglable de 0 à 30
  • Prise en charge jusqu’à 100 dossiers de 255 fichiers

Ce dont vous aurez besoin

  1. Un Arduino – Disponible ici
  2. Un module dfplayer mp3-tf-16p
  3. Une breadboard ou platine d’essais

Liens publicitaires Amazon

Pinout du dfplayer mp3-tf-16p

Branchement du module DFPlayer à l’Arduino

La résistance est d’une valeur de 1Kohm, j’utilise pour ma part un haut-parleur de 2W,

Même schéma de connexion disponible sur le site officiel de la librairie DFrobot

Installer la bibliothèque de DRrobot pour le mp3-tf-16p

Pour cela rendez-vous dans le gestionnaire de bibliothèque de votre logiciel Arduino: « outils »> »Gérer les bibliothèques »

Fonctions de la librairie DFRobotDFPlayerMini

myDFPlayer.next();Joue le morceau suivant.
myDFPlayer.previous();Joue le morceau précédent.
myDFPlayer.play(1);Joue le premier morceau.
myDFPlayer.loop(1);Boucle le premier morceau.
myDFPlayer.pause();Met en pause le morceau en cours de lecture.
myDFPlayer.start();Reprend la lecture du morceau en pause.
myDFPlayer.playFolder(15, 4);Joue un morceau spécifique situé dans SD:/15/004.mp3 ; Nom du dossier(1~99) ; Nom du fichier(1~255).
myDFPlayer.enableLoopAll();Active la boucle de tous les fichiers MP3.
myDFPlayer.disableLoopAll();Désactive la boucle de tous les fichiers MP3.
myDFPlayer.playMp3Folder(4);Joue un morceau spécifique situé dans SD:/MP3/0004.mp3 ; Nom du fichier(0~65535).
myDFPlayer.advertise(3);
myDFPlayer.stopAdvertise();
myDFPlayer.playLargeFolder(2, 999);Joue un morceau spécifique situé dans SD:/02/004.mp3 ; Nom du dossier(1~10) ; Nom du fichier(1~1000).
myDFPlayer.loopFolder(5);Boucle tous les morceaux dans le dossier SD:/05.
myDFPlayer.randomAll();Joue aléatoirement tous les morceaux MP3.
myDFPlayer.enableLoop();Active la boucle.
myDFPlayer.disableLoop();Désactive la boucle.
Serial.println(myDFPlayer.readState());Lit l’état actuel de lecture du MP3.
Serial.println(myDFPlayer.readVolume());Lit le volume actuel.
Serial.println(myDFPlayer.readEQ());Lit les réglages d’égalisation actuels.
Serial.println(myDFPlayer.readFileCounts());Lit le nombre total de fichiers sur la carte SD.
Serial.println(myDFPlayer.readCurrentFileNumber());Lit le numéro du fichier en cours de lecture.
Serial.println(myDFPlayer.readFileCountsInFolder(3));Lit le nombre de fichiers dans le dossier SD:/03.

Code Arduino DFPlayer mp3-tf-16p

Il s’agit ici du code d’essai de la bibliothèque

/***************************************************
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 "DFRobotDFPlayerMini.h"

#if (defined(ARDUINO_AVR_UNO) || defined(ESP8266))   // Using a soft serial port
#include <SoftwareSerial.h>
SoftwareSerial softSerial(/*rx =*/4, /*tx =*/5);
#define FPSerial softSerial
#else
#define FPSerial Serial1
#endif

DFRobotDFPlayerMini myDFPlayer;
void printDetail(uint8_t type, int value);

void setup()
{
#if (defined ESP32)
  FPSerial.begin(9600, SERIAL_8N1, /*rx =*/D3, /*tx =*/D2);
#else
  FPSerial.begin(9600);
#endif

  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(FPSerial, /*isACK = */true, /*doReset = */true)) {  //Use serial 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(10);  //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 every 3 second.
  }
  
  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 DFPlayerUSBInserted:
      Serial.println("USB Inserted!");
      break;
    case DFPlayerUSBRemoved:
      Serial.println("USB Removed!");
      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;
  }
  
}

Pour éviter les problèmes de lectures avec le MP3-tf-16p

Facultatif* Afin d’assurer une bonne lecture de vos fichier MP3 renommez les sans caractères spéciaux. Ex: 01titre, 02titre ou titre01, titre02, …

Sources:

0 commentaires

Soumettre un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Derniers Articles

Test et avis sur R36S

Test et avis sur R36S

La R36S c'une petite "console rétro" qui permet de faire tourner des jeux des plus anciennes consoles, jusqu'à à la PlayStation 1. Niveau look c'est orienté Gameboy Color mais avec des joystick et gâchettes en plus. [amazon box="B0D1KXGX6L,B0CYH8Z59B,B0CN4D81YB"...

Test et avis sur R36S

Ecran noir R36S Après mise à jour

J'ai acheté cette petite console sur Disponible ici sur Aliexpress et après avoir tenté une mise à jour de celle-ci je me suis retrouver avec un écran noir. Pour résoudre ce problème j'ai télécharger le fichier zip présent à cette adresse:...

Convertir un fichier Bin, Cue, GDI vers CHD (PSX)

Convertir un fichier Bin, Cue, GDI vers CHD (PSX)

En tant que bidouilleur amateur en électronique je passes aussi parfois par la case "émulation". Je me suis donc procurer une Box Arcade sous Android et poussé quelques recherches. Tout d'abord ces petites box même si elles ne sont pas exceptionnelles niveau...

Utiliser un capteur a effet hall avec Arduino

Utiliser un capteur a effet hall avec Arduino

Comment utiliser un "Magnet Sensor" Avec l'Arduino Le capteur magnétique Open Smart est un capteur de proximité à effet Hall. Il est conçu pour détecter la présence d'un champ magnétique. Lorsqu'un aimant est placé à proximité du capteur, il produit un signal de...

Réalisation d’un chenillard LED avec l’Arduino

Réalisation d’un chenillard LED avec l’Arduino

Dans cet article, découvrez comment réaliser un chenillard LED avec Arduino, un projet idéal pour les débutants en électronique et en programmation. À travers cette réalisation simple, vous explorerez les bases de la programmation Arduino et l'utilisation de...