Comment utiliser le module MP3 DFMini Player avec Arduino : 4 étapes
Comment utiliser le module MP3 DFMini Player avec Arduino : 4 étapes
Anonim
Comment utiliser le module MP3 DFMini Player avec Arduino
Comment utiliser le module MP3 DFMini Player avec Arduino

Plusieurs projets nécessitent une reproduction sonore pour ajouter une sorte de fonctionnalité. Parmi ces projets, nous soulignons: l'accessibilité pour les malvoyants, les lecteurs de musique MP3 et l'exécution de sons vocaux par des robots, par exemple.

Dans tous ces systèmes, nous avons besoin d'un appareil de reproduction sonore MP3 pour se connecter à l'Arduino. Par conséquent, dans cet article, nous allons apprendre les points suivants: Circuit de fonctionnement de base du DFMini Player MP3; Organisation et configuration des fichiers son sur la carte mémoire; Contrôle musical avec Arduino.

Fournitures

PCB personnalisé PCBWay;

Mini module MP3 DFPlayer - UTSOURCE;

Résistance 10kR - UTSOURCE;

Bouton de commutation - UTSOURCE;

Planche à pain - UTSOURCE;

Arduino UNO - UTSOURCE;

Broche d'en-tête - UTSOURCE;

Étape 1: Qu'est-ce que le module DF Mini Player MP3

Qu'est-ce que le module DF Mini Player MP3
Qu'est-ce que le module DF Mini Player MP3
Qu'est-ce que le module DF Mini Player MP3
Qu'est-ce que le module DF Mini Player MP3

Le module DFMini Player est un petit lecteur de musique, peu coûteux et peu gourmand en énergie qui a pour but de reproduire les sons stockés sur une carte mémoire.

Sur cette base, le module peut être contrôlé via le mode autonome, c'est-à-dire que dans ce mode, il n'y aura que le module DFMini, une batterie pour alimenter, le haut-parleur, des boutons pour le contrôler et la carte SD avec les chansons. Une autre façon de le contrôler consiste à utiliser un Arduino ou un autre périphérique de contrôle.

L'Arduino, par exemple, enverra des commandes via une communication série avec le module de lecteur DFMini. Le module DFMini Player est illustré à la Figure 1.

Pour le contrôler, il est important d'utiliser le circuit autonome de base. Ce circuit est représenté sur la figure 2.

Les deux boutons montrés dans le circuit ci-dessus sont utilisés pour changer les pistes musicales et contrôler le volume du son. Le bouton connecté à la broche IO1 est utilisé pour aller à la piste précédente et réduire le volume. Avec une touche rapide, le système revient à la chanson précédente, cependant, si vous appuyez sur le bouton pendant plus d'une seconde, le système réduira le volume de la chanson.

Le bouton connecté à la broche IO2 permet de passer à la piste suivante et d'augmenter le volume. D'une simple pression, le système passe à la chanson suivante, cependant, si vous appuyez sur le bouton pendant plus d'une seconde, le système augmentera le volume de la chanson.

Étape 2:

Image
Image

Dans cette méthode autonome, les chansons doivent être enregistrées sur la carte mémoire, comme le montre la figure 3.

De cette façon, à chaque pression sur les boutons, le système jouera chaque chanson dans l'ordre croissant ou décroissant. Cependant, lors de l'utilisation d'Arduino ou d'un autre dispositif de contrôle, nous devons modifier la manière d'organiser les fichiers musicaux sur la carte SD.

Maintenant, je vais vous expliquer comment contrôler le DFMini Player à l'aide de l'Arduino via une communication série.

Étape 3: Contrôler le lecteur DFMini avec Arduino

Contrôler le lecteur DFMini avec Arduino
Contrôler le lecteur DFMini avec Arduino
Contrôler le lecteur DFMini avec Arduino
Contrôler le lecteur DFMini avec Arduino

Dans cette étape, le contrôle du volume, le contrôle de la plage, les commandes d'égalisation et d'autres fonctionnalités seront envoyés par Arduino.

L'Arduino doit communiquer via la série avec le DFMini Player et envoyer les commandes de contrôle.

Le schéma électronique du circuit de commande est illustré à la figure 4.

Tout d'abord, nous devons assembler le circuit illustré dans la figure ci-dessous. Après avoir assemblé ce circuit, vous devez ajouter les chansons sur votre carte mémoire. Dans cette étape, les chansons doivent être renommées en 01, 02, 03, par exemple.

Vous ne pouvez pas laisser les chansons avec leurs noms, car il y aura un problème lorsque l'Arduino enverra la commande pour exécuter la piste spécifique. Par conséquent, vous devez configurer comme indiqué ci-dessous.

Étape 4:

Après avoir nommé les fichiers, écrivez le code suivant sur votre Arduino.

// Attend la saisie des données via serialwhile (Serial.available() > 0) { command = Serial.read(); if ((commande >= '1') && (commande <= '9')) { Serial.print("Reproduction musicale"); Serial.println(commande); commande = commande - 48; myDFPlayer.play(commande); menu_opcoes(); } //Reproduction //Arrêter si (commande == 's') { myDFPlayer.stop(); Serial.println("Musique arrêtée !"); menu_opcoes(); } //Pausa/Continuer une musique if (commande == 'p') { pausa = !pausa; if (pausa == 0) { Serial.println("Continuer…"); monDFPlayer.start(); } if (pausa == 1) { Serial.println("Musique en pause !"); monDFPlayer.pause(); } menu_opcoes(); }

//Augmente le volume

if (commande == '+') { myDFPlayer.volumeUp(); Serial.print("Volume actuel:"); Serial.println(myDFPlayer.readVolume()); menu_opcoes(); } if (commande == '') { myDFPlayer.next(); Serial.println("suivant:"); Serial.print("Piste actuelle:"); Serial.println(myDFPlayer.readCurrentFileNumber()+1); menu_opcoes(); } // Diminue le volume if (commande == '-') { myDFPlayer.volumeDown(); Serial.print("Volume actuel:"); Serial.println(myDFPlayer.readVolume()); menu_opcoes(); } } } void menu_opcoes() { Serial.println(); Serial.println(F("=========================================== ================================================== =====================================================")); Serial.println(F("Commandes:")); Serial.println(F(" [1-3] Pour sélectionner le fichier MP3")); Serial.println(F(" [s] arrêt de la reproduction")); Serial.println(F(" [p] pause/continue la musique")); Serial.println(F(" [+ ou -] augmente ou diminue le volume")); Serial.println(F(" avance ou recule la piste")); Serial.println(); Serial.println(F("=========================================== ================================================== ====================================================")); }

Le code présenté ci-dessus est assez simple et vous aidera à sélectionner la chanson par son numéro, arrêter, mettre en pause, contrôler le volume et passer les pistes.

Le contrôle musical consiste à envoyer des données de la série Arduino IDE à notre carte Arduino. Initialement, le système effectue la configuration dans le setup et vérifie si la carte SD est insérée dans le module.

S'il n'est pas inséré, le système présente un message pour alerter l'utilisateur.

De plus, le système affiche des messages avec les options de configuration du système.

void setup(){ //Comunicacao serial com o modulo mySoftwareSerial.begin(9600); //Inicializa a serial do Arduino Serial.begin (115200); //Verifica se o modulo esta respondendo e se o //cartao SD foi encontrado Serial.println(); Serial.println(F("DFRobot DFPlayer Mini")); Serial.println(F("Initialisation du module DFPlayer… Attendez !")); if (!myDFPlayer.begin(mySoftwareSerial)) { Serial.println(F("Non initialisé:")); Serial.println(F("1. Vérifiez les connexions DFPlayer Mini")); Serial.println(F("2. Insérez une carte SD")); tandis que (vrai); } Serial.println(); Serial.println(F("Module DFPlayer Mini initialisé !")); //Definicoes iniciais myDFPlayer.setTimeOut(500); //Timeout série 500ms myDFPlayer.volume(5); //Volume 5 myDFPlayer. EQ(0); //Equalizacao normal menu_opcoes(); }

Si la carte mémoire est insérée, le flux de code entrera dans la fonction de boucle.

void loop(){ // Attend la saisie des données via série while (Serial.available() > 0) { command = Serial.read(); if ((commande >= '1') && (commande <= '3')) { Serial.print("Reproduction musicale"); Serial.println(commande); commande = commande - 48; myDFPlayer.play(commande); menu_opcoes(); } //Reproduction //Arrêter si (commande == 's') { myDFPlayer.stop(); Serial.println("Musique arrêtée !"); menu_opcoes(); } //Pausa/Continuer une musique if (commande == 'p') { pausa = !pausa; if (pausa == 0) { Serial.println("Continuer…"); monDFPlayer.start(); } if (pausa == 1) { Serial.println("Musique en pause !"); monDFPlayer.pause(); } menu_opcoes(); }

//Augmente le volume

if (commande == '+') { myDFPlayer.volumeUp(); Serial.print("Volume actuel:"); Serial.println(myDFPlayer.readVolume()); menu_opcoes(); } if (commande == '') { myDFPlayer.next(); Serial.println("suivant:"); Serial.print("Piste actuelle:"); Serial.println(myDFPlayer.readCurrentFileNumber()+1); menu_opcoes(); } // Diminue le volume if (commande == '-') { myDFPlayer.volumeDown(); Serial.print("Volume actuel:"); Serial.println(myDFPlayer.readVolume()); menu_opcoes(); } } }

L'utilisateur peut envoyer les caractères de contrôle suivants:

Chiffres 1 à 3: Sélectionnez la chanson à jouer;

  • Lettre s: arrêter la chanson; lettre p: mettre la chanson en pause;
  • Envoyez le signe +: augmentez le volume de la chanson;
  • Envoyer le signal -: diminuez le volume de la chanson;
  • Envoyer le signal <: sélectionnez la chanson précédente;
  • Envoyer le signal >: sélectionnez la chanson suivante;

À partir de ces signaux, lettres et chiffres, l'Arduino les recevra via la série et contrôlera la musique à jouer.

Chaque condition est présentée ci-dessous et en interne, avec ses commandes respectives.

if ((commande >= '1') && (commande <= '3')){ Serial.print("Reproduction musicale"); Serial.println(commande); commande = commande - 48; myDFPlayer.play(commande); menu_opcoes(); } //Reproduction //Arrêter si (commande == 's') { myDFPlayer.stop(); Serial.println("Musique arrêtée !"); menu_opcoes(); } //Pausa/Continuer une musique if (commande == 'p') { pausa = !pausa; if (pausa == 0) { Serial.println("Continuer…"); monDFPlayer.start(); } if (pausa == 1) { Serial.println("Musique en pause !"); monDFPlayer.pause(); } menu_opcoes(); }

//Augmente le volume

if (commande == '+') { myDFPlayer.volumeUp(); Serial.print("Volume actuel:"); Serial.println(myDFPlayer.readVolume()); menu_opcoes(); } if (commande == '') { myDFPlayer.next(); Serial.println("suivant:"); Serial.print("Piste actuelle:"); Serial.println(myDFPlayer.readCurrentFileNumber()+1); menu_opcoes(); } // Diminue le volume if (commande == '-') { myDFPlayer.volumeDown(); Serial.print("Volume actuel:"); Serial.println(myDFPlayer.readVolume()); menu_opcoes(); } }

Donc, si vous avez appliqué toutes les étapes présentées, vous avez pu apprendre:

  • Circuit de commande de base du DFMini Player MP3;
  • Organisation et configuration des fichiers sons sur la carte mémoire;
  • Contrôle musical avec Arduino. À partir de ce code, vous pouvez développer d'autres projets qui doivent utiliser le son comme fonctionnalité système.

Remerciements

Pour finir, nous vous remercions pour votre lecture et le soutien de PCBWAY. COM pour avoir soutenu Silício Lab dans la production de cet article pour vous.

Le Silícios Lab remercie UTSOURCE d'offrir les composants électroniques pour construire ce projet.

Conseillé: