Certaines parties de ce site Web ne sont pas encore disponibles dans votre langue. Nous travaillons à résoudre ce problème et nous nous excusons pour tout inconvénient.
Tutoriel ESP32 41/55 - Lecteur MP3 utilisant une carte Micro SD | Kit d'apprentissage IoT ESP32 de SunFounder
Dans ce tutoriel, nous allons créer un lecteur MP3 en utilisant le microcontrôleur ESP32 et une carte micro SD. L'ESP32 lira des fichiers audio stockés sur la carte micro SD et transmettra le son via un amplificateur audio et un haut-parleur. Ce projet combine divers composants, y compris l'ESP32, un amplificateur audio et une carte micro SD, pour vous permettre de jouer de la musique de manière simple.
Tout au long du processus, nous discuterons du câblage nécessaire, de la programmation et de la manière de résoudre les problèmes courants. Pour un accompagnement visuel, n'oubliez pas de consulter la vidéo associée (dans la vidéo à 00:00).
Matériel expliqué
Les principaux composants utilisés dans ce projet incluent le microcontrôleur ESP32, une carte micro SD, un amplificateur audio et un haut-parleur. L'ESP32 est un microcontrôleur puissant avec des capacités Wi-Fi et Bluetooth intégrées, ce qui le rend idéal pour les projets IoT. Il gérera le traitement et le contrôle de la lecture audio.
La carte micro SD est utilisée pour stocker des fichiers audio au format MP3. Elle se connecte à l'ESP32 et permet au programme de lire les fichiers et d'envoyer des données audio à l'amplificateur. L'amplificateur audio prend le signal numérique de l'ESP32 et l'amplifie pour alimenter le haut-parleur, permettant ainsi d'entendre le son.
Détails de la fiche technique
Fabricant
SunFounder
Numéro de pièce
ESP32
Tension logique/entrée-sortie
3,3 V
Tension d'alimentation
5 V
Courant de sortie (par canal)
2 A max
Courant de pointe (par canal)
3 A max
Directives sur la fréquence PWM
jusqu'à 40 kHz
Seuils logiques d'entrée
0,3 x VCC (bas), 0,7 x VCC (haut)
Chute de tension / RDS(on)/ saturation
0,15 V
Limites thermiques
85 °C
Colis
WROOM-32
Notes / variantes
Compatible avec diverses bibliothèques audio
Assurez-vous que la carte micro SD est formatée en FAT32.
Utilisez une résistance pour connecter l'amplificateur audio afin d'éviter la distorsion.
Maintenez les connexions d'alimentation stables pour éviter les interruptions.
Vérifiez le câblage pour des connexions lâches avant d'alimenter le système.
Surveillez la sortie série pour des informations de débogage.
Utilisez des haut-parleurs à faible impédance pour une meilleure qualité sonore.
Pour des performances optimales, assurez-vous que l'ESP32 n'est pas surchargé de tâches pendant la lecture audio.
SD_MMCest utilisé pour l'accès à la micro SD, etAudioOutputI2Sest utilisé pour la sortie audio.
Pour câbler les composants ensemble, commencez par connecter l'alimentation. Connectez le 5 V de l'ESP32 au pin VCC de l'amplificateur audio. Ensuite, connectez la broche de masse de l'ESP32 à la broche de masse de l'amplificateur. La broche de sortie audio de l'ESP32, généralementGPIO25, doit être connecté à la broche d'entrée de l'amplificateur par l'intermédiaire d'une résistance de 10 kΩ.
Pour le haut-parleur, connectez-le aux bornes de sortie de l'amplificateur audio. Notez que le haut-parleur n'a pas de polarité, vous pouvez donc le connecter dans n'importe quel sens. Insérez la carte micro SD dans le slot désigné sur l'ESP32. Assurez-vous de vérifier toutes les connexions avant d'alimenter le système.
Exemples de code et guide pas à pas
Dans le code fourni, nous commençons par inclure les bibliothèques nécessaires pour la lecture audio et l'accès à la carte SD. Les identifiants principaux sontmp3,file, etout, qui représentent respectivement le générateur MP3, la source de fichiers audio et la sortie audio.
Ici, nous déclarons des pointeurs pour le générateur MP3 et la source de fichier audio. Dans lesetup()fonction, nous initialisons la communication série et la carte SD.
void setup() {
Serial.begin(115200);
if (!SD_MMC.begin()) {
Serial.println("SD card mount failed!");
}
file = new AudioFileSourceSD_MMC("/To Alice.mp3");
out = new AudioOutputI2S(0, 1);
}
Dans cet extrait, nous vérifions si la carte SD est montée avec succès. Si cela échoue, un message d'erreur est imprimé. Nous configurons ensuite le fichier MP3 et le mode de sortie audio.
void loop() {
if (mp3->isRunning()) {
if (!mp3->loop()) mp3->stop();
} else {
Serial.println("MP3 done");
delay(1000);
}
}
Cette boucle vérifie si le fichier MP3 est toujours en cours de lecture. S'il ne l'est pas, elle imprime un message indiquant que la lecture est terminée. Le code complet sera chargé en dessous de l'article pour plus de références.
Démonstration / À quoi s'attendre
Une fois que tout est câblé et que le code est téléchargé, vous devriez entendre le son passer par le haut-parleur lorsque la carte micro SD est insérée. Assurez-vous de réinitialiser l'ESP32 après avoir inséré la carte. Si le son ne joue pas, vérifiez le câblage et assurez-vous que le fichier audio est correctement nommé dans le code (dans la vidéo à 05:00).
Les pièges courants incluent le fait de ne pas formater correctement la carte micro SD ou d'utiliser des formats de fichiers audio non pris en charge. Assurez-vous toujours que les fichiers sont au format MP3 et placés dans le répertoire racine ou le dossier spécifié selon les besoins.
Horodatages vidéo
00:00 Début
2:19 Introduction au projet
4:27 Page des docs
5:32 Câblage pour amplificateur audio
8:00 formatage de la carte microSD pour ESP32
10:16 Bibliothèque et code
15:16 Sélectionner la carte ESP32 et le port COM dans l'IDE Arduino
16:58 Lecture de la chanson utilisant l'ESP32 depuis la carte Micro SD
19:14 Deuxième démonstration utilisant une batterie 18650
Images
speaker_pic
audio_module
ESP32-40-micro-sd-card-1
esp32-41-play-music-wriing
speaker_pic
audio_module
ESP32-40-micro-sd-card-1
esp32-41-play-music-wriing
842-ESP32 Tutorial 41/55- Arduino code for playing music from microSD card