Arduino UNO R4 - Lecteur MP3

Ce tutoriel vous explique comment créer un lecteur MP3 en utilisant un Arduino UNO R4, un module lecteur MP3, une carte microSD et un haut-parleur. Le lecteur MP3 charge de la musique ou des enregistrements audio à partir de la carte microSD. L'Arduino UNO R4 contrôle le module lecteur MP3 pour sélectionner et lire une chanson à partir de la carte, la convertir en signal audio et envoyer ce signal au haut-parleur. Nous aborderons ces étapes en détail.

Ensuite, vous pouvez modifier le code pour inclure un potentiomètre ou un encodeur rotatif afin d'ajuster le volume.

Lecteur MP3 Arduino UNO R4

À propos du module lecteur MP3 série et du haut-parleur

Brochage du module lecteur MP3 série

Un module lecteur MP3 série comprend trois interfaces :

  • L’interface vers l’Arduino UNO R4: comporte quatre broches:
    • RX pin : Cette broche est destinée aux données et doit être connectée à la broche TX de l’Arduino UNO R4, en utilisant soit Hardware Serial soit Software Serial.
    • TX pin : Cette broche est aussi destinée aux données et doit être connectée à la broche RX de l’Arduino UNO R4, par Hardware Serial ou Software Serial.
    • VCC pin : Cette broche sert à l’alimentation et doit être connectée à VCC (5V).
    • GND pin : Il s’agit d’une broche de masse et doit être connectée à GND (0V).
  • L’interface vers le haut-parleur: une prise femelle jack auxiliaire de 3,5 mm.
  • L’interface vers la carte Micro SD: Le connecteur Micro SD situé à l’arrière du module.
Schéma de brochage du module lecteur MP3 série
image source: diyables.io

Schéma des broches du haut-parleur

Un haut-parleur a généralement deux points de connexion :

  • Connexion audio : Il utilise un connecteur mâle jack de 3,5 mm pour se connecter au lecteur MP3.
  • Connexion d'alimentation : Il peut utiliser une connexion USB, un adaptateur secteur 5 V, ou d'autres types de sources d'alimentation.

Comment ça marche

Ce dont nous avons besoin pour nous préparer :

  • Sauvegardez une liste de chansons ou d'enregistrements sur une carte microSD.
  • Insérez la carte microSD dans le module MP3.
  • Connectez le module MP3 à l'Arduino UNO R4.
  • Connectez le module MP3 à un haut-parleur.
  • Connectez le haut-parleur à une source d'alimentation.

Chaque fichier MP3 sur la carte microSD porte un numéro qui commence à zéro et indique l'ordre des chansons.

Nous pouvons alors configurer l'Arduino UNO R4 pour envoyer des commandes au module lecteur MP3. Il peut gérer ces commandes :

  • Démarrer la lecture
  • Arrêter
  • Lire le prochain
  • Lire le précédent
  • Régler le volume

Le module lecteur MP3 lit le fichier MP3 stocké sur la carte microSD, le transforme en un signal audio et envoie ce signal au haut-parleur via l'interface auxiliaire de 3,5 mm.

Diagramme de câblage

Schéma de câblage du module MP3 Arduino UNO R4

Cette image a été créée avec Fritzing. Cliquez pour agrandir l'image.

Code Arduino UNO R4 - Jouer de la musique

Le code ci-dessous démarre la lecture de la première chanson enregistrée sur la carte Micro SD.

/* * Ce code Arduino UNO R4 a été développé par newbiely.fr * Ce code Arduino UNO R4 est mis à disposition du public sans aucune restriction. * Pour des instructions complètes et des schémas de câblage, veuillez visiter: * https://newbiely.fr/tutorials/arduino-uno-r4/arduino-uno-r4-mp3-player */ #include <SoftwareSerial.h> #define CMD_PLAY_NEXT 0x01 #define CMD_PLAY_PREV 0x02 #define CMD_PLAY_W_INDEX 0x03 #define CMD_SET_VOLUME 0x06 #define CMD_SEL_DEV 0x09 #define CMD_PLAY_W_VOL 0x22 #define CMD_PLAY 0x0D #define CMD_PAUSE 0x0E #define CMD_SINGLE_CYCLE 0x19 #define DEV_TF 0x02 #define SINGLE_CYCLE_ON 0x00 #define SINGLE_CYCLE_OFF 0x01 #define ARDUINO_RX 7 // The Arduino UNO R4 pin connected to the TX of the Serial MP3 Player module #define ARDUINO_TX 6 // The Arduino UNO R4 pin connected to the RX of the Serial MP3 Player module SoftwareSerial mp3(ARDUINO_RX, ARDUINO_TX); void setup() { Serial.begin(9600); mp3.begin(9600); delay(500); // wait chip initialization is complete mp3_command(CMD_SEL_DEV, DEV_TF); // select the TF card delay(200); // wait for 200ms mp3_command(CMD_PLAY, 0x0000); // Play mp3 //mp3_command(CMD_PAUSE, 0x0000); // Pause mp3 //mp3_command(CMD_PLAY_NEXT, 0x0000); // Play next mp3 //mp3_command(CMD_PLAY_PREV, 0x0000); // Play previous mp3 //mp3_command(CMD_SET_VOLUME, 30); // Change volume to 30 } void loop() { } void mp3_command(int8_t command, int16_t dat) { int8_t frame[8] = { 0 }; frame[0] = 0x7e; // starting byte frame[1] = 0xff; // version frame[2] = 0x06; // the number of bytes of the command without starting byte and ending byte frame[3] = command; // frame[4] = 0x00; // 0x00 = no feedback, 0x01 = feedback frame[5] = (int8_t)(dat >> 8); // data high byte frame[6] = (int8_t)(dat); // data low byte frame[7] = 0xef; // ending byte for (uint8_t i = 0; i < 8; i++) { mp3.write(frame[i]); } }

Étapes rapides

Suivez ces instructions étape par étape :

  • Si c'est votre première utilisation de l'Arduino Uno R4 WiFi/Minima, reportez-vous au tutoriel sur Arduino UNO R4 - Installation du logiciel..
  • Branchez les composants selon le schéma fourni.
  • Branchez la carte Arduino Uno R4 sur votre ordinateur à l'aide d'un câble USB.
  • Lancez l'IDE Arduino sur votre ordinateur.
  • Sélectionnez la carte Arduino Uno R4 appropriée (par exemple Arduino Uno R4 WiFi) et le port COM.
  • Suivez les étapes de la section Comment ça fonctionne
  • Copiez le code fourni et utilisez-le dans l'IDE Arduino
  • Appuyez sur le bouton Télécharger dans l'IDE Arduino pour envoyer le code à l'Arduino UNO R4
  • Amusez-vous avec la musique

Code Arduino UNO R4 - Jouer de la musique avec des boutons de contrôle

Le code ci-dessous est une version améliorée du code précédent. Il comprend quatre boutons qui vous permettent de contrôler le lecteur MP3.

/* * Ce code Arduino UNO R4 a été développé par newbiely.fr * Ce code Arduino UNO R4 est mis à disposition du public sans aucune restriction. * Pour des instructions complètes et des schémas de câblage, veuillez visiter: * https://newbiely.fr/tutorials/arduino-uno-r4/arduino-uno-r4-mp3-player */ #include <SoftwareSerial.h> #include <ezButton.h> #define CMD_PLAY_NEXT 0x01 #define CMD_PLAY_PREV 0x02 #define CMD_PLAY_W_INDEX 0x03 #define CMD_SET_VOLUME 0x06 #define CMD_SEL_DEV 0x09 #define CMD_PLAY_W_VOL 0x22 #define CMD_PLAY 0x0D #define CMD_PAUSE 0x0E #define CMD_SINGLE_CYCLE 0x19 #define DEV_TF 0x02 #define SINGLE_CYCLE_ON 0x00 #define SINGLE_CYCLE_OFF 0x01 #define ARDUINO_RX 7 // The Arduino UNO R4 pin connected to the TX of the Serial MP3 Player module #define ARDUINO_TX 6 // The Arduino UNO R4 pin connected to the RX of the Serial MP3 Player module SoftwareSerial mp3(ARDUINO_RX, ARDUINO_TX); ezButton button_play(2); // create ezButton object that attach to pin 2 ezButton button_pause(3); // create ezButton object that attach to pin 3 ezButton button_next(4); // create ezButton object that attach to pin 4 ezButton button_prev(5); // create ezButton object that attach to pin 5 void setup() { Serial.begin(9600); mp3.begin(9600); delay(500); // wait chip initialization is complete mp3_command(CMD_SEL_DEV, DEV_TF); // select the TF card delay(200); // wait for 200ms button_play.setDebounceTime(50); // set debounce time to 50 milliseconds button_pause.setDebounceTime(50); // set debounce time to 50 milliseconds button_next.setDebounceTime(50); // set debounce time to 50 milliseconds button_prev.setDebounceTime(50); // set debounce time to 50 milliseconds } void loop() { button_play.loop(); // MUST call the loop() function first button_pause.loop(); // MUST call the loop() function first button_next.loop(); // MUST call the loop() function first button_prev.loop(); // MUST call the loop() function first if (button_play.isPressed()) { Serial.println("Play mp3"); mp3_command(CMD_PLAY, 0x0000); } if (button_pause.isPressed()) { Serial.println("Pause mp3"); mp3_command(CMD_PAUSE, 0x0000); } if (button_next.isPressed()) { Serial.println("Play next mp3"); mp3_command(CMD_PLAY_NEXT, 0x0000); } if (button_prev.isPressed()) { Serial.println("Play previous mp3"); mp3_command(CMD_PLAY_PREV, 0x0000); } } void mp3_command(int8_t command, int16_t dat) { int8_t frame[8] = { 0 }; frame[0] = 0x7e; // starting byte frame[1] = 0xff; // version frame[2] = 0x06; // the number of bytes of the command without starting byte and ending byte frame[3] = command; // frame[4] = 0x00; // 0x00 = no feedback, 0x01 = feedback frame[5] = (int8_t)(dat >> 8); // data high byte frame[6] = (int8_t)(dat); // data low byte frame[7] = 0xef; // ending byte for (uint8_t i = 0; i < 8; i++) { mp3.write(frame[i]); } }

Les connexions de câblage pour le code mentionné :

Schéma de câblage du lecteur MP3 et du haut-parleur pour Arduino UNO R4

Cette image a été créée avec Fritzing. Cliquez pour agrandir l'image.

Voir Comment alimenter l'Arduino UNO R4..

Maintenant, vous pouvez modifier les projets afin d'inclure davantage de fonctionnalités, par exemple :

Vidéo

Références des fonctions

※ NOS MESSAGES

  • N'hésitez pas à partager le lien de ce tutoriel. Cependant, veuillez ne pas utiliser notre contenu sur d'autres sites web. Nous avons investi beaucoup d'efforts et de temps pour créer ce contenu, veuillez respecter notre travail !