🛠 Sauvegarder des données sur MicroSD et afficher sur e-paper
Objectifs
Ce tutoriel vous guide pour créer un journal de bord simple. Vous apprendrez à écrire des textes dans un fichier sur la carte MicroSD et à les récupérer pour les afficher sur l'écran e-paper 4,7 pouces. C'est une compétence fondamentale pour créer des dispositifs autonomes qui conservent des informations même éteints.
Matériel nécessaire
- Kit d'assemblage M5Stack PaperDIY (assemblé)
- Carte MicroSD formatée en FAT32
- Câble USB-C pour l'alimentation et le transfert de code
- Ordinateur avec Arduino IDE installé
- Bibliothèque
M5UnifiedetSD(intégrées ou via le gestionnaire de bibliothèques)
Étapes
- Préparation de l'environnement : Ouvrez Arduino IDE. Assurez-vous que la carte est sélectionnée comme "M5Stack-ATOMS3" ou "ESP32-S3 Dev Module" selon votre configuration. Activez l'option "USB CDC On Boot".
- Initialisation du système : Incluez les bibliothèques nécessaires. Le code doit initialiser la gestion de l'énergie M5PM1, l'écran e-paper et le lecteur SD.
#include <M5Unified.h>
#include <SD.h>
#define SD_CS 13 // Vérifiez le schéma de votre kit pour le pin CS exact
void setup() {
M5.begin();
M5.Power.begin();
if(!SD.begin(SD_CS)) {
M5.Display.println("Erreur SD");
return;
}
M5.Display.setRotation(1);
}
- Écriture de données : Créez une fonction pour sauvegarder un texte. Nous utiliserons un fichier
journal.txt.
void saveData(String text) {
File file = SD.open("/journal.txt", FILE_APPEND);
if(file) {
file.println(text);
file.close();
}
}
- Lecture et Affichage : Lisez le contenu du fichier et affichez-le. L'écran ED047TC1 est lent, utilisez
M5.Display.update()pour rafraîchir.
void displayData() {
M5.Display.clear();
File file = SD.open("/journal.txt", FILE_READ);
if(file) {
while(file.available()) {
M5.Display.println((char)file.read());
}
file.close();
}
M5.Display.update();
}
- Boucle principale : Dans
loop(), appelez les fonctions pour tester. Par exemple, sauvegardez l'heure actuelle toutes les 10 secondes et affichez le journal.
void loop() {
saveData("Test : " + String(millis()));
displayData();
delay(10000);
}
Vérification
Insérez la carte MicroSD, téléversez le code et alimentez le kit. Vous devriez voir le texte s'accumuler sur l'écran e-paper. Éteignez puis rallumez le kit : les données doivent persister, prouvant que l'écriture sur la flash/MicroSD fonctionne correctement.
Pour aller plus loin
Explorez la connectivité WiFi 4 pour envoyer ces données à un serveur. Vous pouvez aussi utiliser le Bluetooth 5.0 LE pour transférer le journal vers un smartphone, transformant votre PaperDIY en un journal de bord portable connecté.
Autres tutoriels pour cette carte
Exemples de code pour cette carte
epaper_hello_world.inoC++wifi_web_dashboard.inoC++sdcard_logger.inoC++deep_sleep_battery.inoC++ble_beacon.inoC++gpio-button-led-basic.inoC++ (Arduino)