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

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

Comment utiliser un module relais avec l’Arduino

Comment utiliser un module relais avec l’Arduino

Que ce soit pour faire de la domotique, contrôler une lampe ou tout autre appareil fonctionnant en 220Volts, le module relais est fait pour çà. En effet, à l'aide d'une broche/pin de commande, il va être possible depuis notre Arduino de faire commuter le relais (et...

Utiliser l’écran NFP1315-45A avec Arduino

Utiliser l’écran NFP1315-45A avec Arduino

Découvrez comment utiliser l'écran ic:NFP1315-45A avec Arduino Le module d’écran LCD pour Arduino TFT 0.96 pouces SSD1306 est un afficheur dans ce cas-ci jaune et bleu. Voici un résumé de ses caractéristiques et de son utilisation : Résolution : Il a une...

Comment utiliser l’écran TFT 1.28 Pouces 240×240 avec Arduino

Comment utiliser l’écran TFT 1.28 Pouces 240×240 avec Arduino

Découvrez comment utiliser l'écran LCD de 1,28 pouces (GC9A01) avec Arduino Dans le domaine de l'électronique, l'utilisation d'écrans LCD avec des microcontrôleurs comme Arduino est une pratique courante. L'écran LCD de 1,28 pouces (GC9A01) offre une solution compacte...