Tutoriel ESP32 40/55 - Lecture et écriture sur carte Micro SD | Kit d'apprentissage IoT ESP32 de SunFounder
Dans ce tutoriel, nous apprendrons comment lire et écrire sur une carte micro SD en utilisant l'ESP32 et la carte d'extension SunFounder ESP32. Cela nous permettra de stocker des données et de les récupérer plus tard, ce qui est essentiel pour de nombreuses applications IoT. À la fin de ce tutoriel, vous disposerez d'une configuration fonctionnelle capable de créer, d'écrire et de lire des fichiers depuis la carte micro SD.
Pour commencer, assurez-vous que votre carte micro SD est correctement formatée en FAT32, car c'est le système de fichiers requis pour que l'ESP32 interagisse avec la carte. Nous allons utiliser la bibliothèque SD_MMC, qui simplifie le processus d'accès aux fichiers sur la carte micro SD. Il est important de noter que la capacité maximale de la carte micro SD ne doit pas dépasser 32 Go.
Matériel expliqué
Les composants principaux de ce projet incluent le microcontrôleur ESP32 et le module de carte micro SD. L'ESP32 est un microcontrôleur polyvalent qui dispose de capacités Wi-Fi et Bluetooth intégrées, ce qui le rend idéal pour les applications IoT. Le module de carte micro SD permet à l'ESP32 de lire et d'écrire sur la carte, permettant le stockage de données pour diverses applications.
La carte micro SD fonctionne en utilisant un système de fichiers pour stocker les données de manière structurée. Elle communique avec l'ESP32 via l'interface SD_MMC, qui permet une lecture et une écriture efficaces des fichiers. Cette configuration peut être utilisée pour enregistrer des données, sauvegarder des images, ou toute autre application nécessitant une persistance des données.
Instructions de câblage

Pour câbler la carte micro SD à l'ESP32, suivez ces étapes :
Tout d'abord, connectez les broches d'alimentation et de masse. Connectez la broche VCC du module de carte micro SD à la broche 3,3 V de l'ESP32 et connectez la broche GND à l'une des broches GND de l'ESP32. Ensuite, connectez les broches de données : connectez la broche CS (Chip Select) du module de carte micro SD à la broche5sur l'ESP32, la broche MOSI (Master Out Slave In) à la broche23, la broche MISO (Master In Slave Out) à la broche19, et la broche SCK (horloge série) à la broche18Assurez-vous que ces connexions sont sécurisées pour éviter tout problème de communication.
Si vous utilisez une autre carte d'extension, les numéros de broche peuvent varier, consultez donc la documentation spécifique à votre carte. Le câblage est crucial pour le bon fonctionnement de la lecture et de l'écriture de fichiers sur la carte micro SD.
Exemples de code et guide étape par étape
Maintenant, examinons les principales parties du code qui interagissent avec la micro carte SD. La configuration commence par l'initialisation de la communication série et la vérification si la micro carte SD est montée avec succès.
Serial.begin(115200); // Initialize serial communication
if (!SD_MMC.begin()) { // Check if SD card is mounted successfully
Serial.println("Failed to mount SD card"); // Print error message if SD card failed to mount
return;
}Dans cet extrait de code, la communication série est réglée sur un débit en bauds de 115200, ce qui est important pour surveiller la sortie. LeSD_MMC.begin()la fonction tente de monter la carte SD ; si cela échoue, un message d'erreur est imprimé sur le moniteur série.
La prochaine partie du code crée un nouveau fichier sur la carte micro SD et y écrit une ligne de texte.
File file = SD_MMC.open("/test.txt", FILE_WRITE);
if (!file) {
Serial.println("Failed to open file for writing"); // Print error message if file failed to open
return;
}
if (file.println("Test file write")) { // Write a line of text to the file
Serial.println("File write successful"); // Print success message if write operation is successful
} else {
Serial.println("File write failed"); // Print error message if write operation failed
}
file.close(); // Close the fileIci, un fichier nommétest.txtest ouvert en mode écriture. Si le fichier est ouvert avec succès, il écrit une ligne de texte et affiche un message de succès. Si l'opération d'écriture échoue, un message d'erreur est affiché à la place. Enfin, le fichier est fermé pour s'assurer que les modifications sont enregistrées.
Le code lit également des fichiers à partir du répertoire racine de la carte micro SD et imprime leurs noms et tailles.
File root = SD_MMC.open("/"); // Open the root directory of SD card
while (File file = root.openNextFile()) { // Loop through all the files in the root directory
Serial.print(file.name()); // Print the filename
Serial.print("\t");
Serial.println(file.size()); // Print the filesize
file.close(); // Close the file
}Ce extrait ouvre le répertoire racine et parcourt tous les fichiers, affichant leurs noms et tailles sur le moniteur série. Cela est utile pour vérifier que les données ont été écrites avec succès et pour voir le contenu de la carte SD.
Pour plus de détails, veuillez vous référer au code complet chargé sous l'article.
Démonstration / À quoi s'attendre
Après avoir téléchargé le code et réinitialisé l'ESP32, vous devriez voir des messages dans le moniteur série indiquant si la carte SD a été montée avec succès et si les opérations sur les fichiers ont réussi. Vous verrez également la liste des fichiers trouvés dans le répertoire racine, ce qui confirme que les données ont été écrites correctement (dans la vidéo à 13:45).
Les pièges courants incluent le fait de s'assurer que la carte micro SD est correctement formatée et connectée, ainsi que de vérifier que le moniteur série est réglé sur le bon débit en bauds. Si des problèmes surviennent, vérifiez à nouveau votre câblage et vos connexions.
Horodatages vidéo
- 00:00 Début
- 1:45 Introduction à la carte Micro SD sur ESP32
- 3:46 Page des docs
- 4:43 Code Arduino
- 8:09 Sélection du tableau ESP32 et du port COM dans l'IDE Arduino
- 9:51 Démonstration de l'écriture sur carte MicroSD
- 11:12 Consultation des fichiers écrits sur PC
Common Course Links
Common Course Files
Ce dont vous pourriez avoir besoin
-
AliExpressAchetez un module de carte microSD sur AliExpress.s.click.aliexpress.com
-
BanggoodAchetez un module de carte microSD sur Banggoodbanggood.com
Ressources et références
-
DocumentationTutoriel ESP32 40/55 - page doc SunFounder pour carte MicroSDdocs.sunfounder.com
-
ExterneAchetez un module de carte microSD sur AliExpress.s.click.aliexpress.com
-
Externe
-
Externe
-
ExterneAchetez un module de carte microSD sur Banggoodbanggood.com
Fichiers📁
Aucun fichier disponible.