🛠 Contrôler les GPIO et l'affichage e-paper
Objectifs
Ce tutoriel vous guide dans la découverte des entrées-sorties numériques (GPIO) et de l'affichage sur l'écran e-paper ED047TC1 de votre kit M5Stack PaperDIY. Vous apprendrez à configurer une broche en sortie pour contrôler un périphérique externe (ou une LED interne si disponible) et à initialiser l'affichage pour y écrire du texte. Ce kit, intégrant le module ESP32-S3-WROOM-1-N16R8, offre une grande flexibilité grâce à ses 16 MB de flash et 8 MB de PSRAM, idéaux pour gérer les tampons d'affichage complexes des écrans e-paper.
Matériel nécessaire
- Un kit d'assemblage M5Stack PaperDIY (assemblé selon les instructions du fabricant).
- Un câble USB-C pour l'alimentation et le transfert de données.
- Un ordinateur avec l'IDE Arduino installé.
- Le gestionnaire de paquets M5Stack installé dans l'IDE Arduino.
- Optionnel : Un bouton poussoir et une résistance pour tester les entrées GPIO.
Étapes
Ouvrez l'IDE Arduino. Allez dans Fichier > Préférences et ajoutez l'URL du gestionnaire de paquets M5Stack : https://m5stack.oss-cn-shenzhen.aliyuncs.com/resource/arduino/package_m5stack_index.json. Une fois ajouté, allez dans Outils > Type de carte > Gestionnaire de cartes, recherchez M5Stack et installez le paquet M5Stack.
- Préparation de l'environnement
Dans l'IDE, sélectionnez M5Stack > M5Paper comme type de carte. Sélectionnez le port série correspondant à votre appareil. Le module ESP32-S3 utilise une architecture spécifique ; assurez-vous que les options de compilation (Partition Scheme) sont par défaut pour optimiser l'utilisation des 16 MB de flash.
- Configuration du projet
Allez dans Croquis > Inclure une bibliothèque > Gérer les bibliothèques. Recherchez et installez la bibliothèque M5GFX qui pilote l'écran ED047TC1 via l'interface parallèle 8 bits. Installez également M5Unified pour une gestion simplifiée des périphériques communs.
- Installation des bibliothèques
Créez un nouveau croquis et collez le code suivant. Ce code initialise le système, configure une broche GPIO en sortie (simulant un contrôle) et affiche du texte sur l'écran e-paper.
- Écriture du code de test
#include <M5Unified.h>
void setup() {
M5.begin();
// Initialisation de l'affichage e-paper
M5.Display.init();
M5.Display.fillScreen(WHITE);
M5.Display.setCursor(10, 10);
M5.Display.setTextSize(2);
M5.Display.print("Hello PaperDIY!");
// Mise à jour de l'écran (nécessaire pour e-paper)
M5.Display.update();
// Configuration d'une broche GPIO en sortie (exemple générique)
// Utilisez une broche libre non utilisée par l'écran ou la SD
pinMode(2, OUTPUT);
}
void loop() {
// Boucle vide pour cet exemple statique
delay(1000);
}
Cliquez sur le bouton Téléverser. Une fois terminé, observez l'écran. Le texte doit apparaître en noir sur fond blanc. Notez que l'écran e-paper ne se rafraîchit pas en continu comme un écran LCD ; l'appel à update() est crucial pour envoyer les données aux pixels à encre électronique.
- Téléversement et exécution
Vérification
Vérifiez que le texte "Hello PaperDIY!" est bien affiché sur l'écran de 4,7 pouces (960x540 pixels). Si l'écran reste blanc, vérifiez les connexions USB et que le bon port série est sélectionné. Assurez-vous que la batterie de 140 mAh est correctement connectée si vous débranchez l'USB, car la puce M5PM1 gère l'alimentation basse consommation.
Pour aller plus loin
Explorez les 16 niveaux de gris offerts par l'écran ED047TC1 en utilisant M5.Display.setBrightness() ou des dégradés. Essayez de lire l'état d'un bouton physique connecté à une broche GPIO en utilisant digitalRead() pour interagir avec l'affichage. La connectivité WiFi 4 et Bluetooth 5.0 LE pourra ensuite être activée pour envoyer des données à distance.
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)