🛠 M5Paper : Mise en route avancée et configuration du driver IT8951
Objectifs
Ce tutoriel vise à initialiser correctement le M5Paper en mode avancé, en dépassant la simple connexion USB pour configurer les pilotes spécifiques de l'écran e-Ink (IT8951) et du tactile (GT911). L'objectif est de comprendre l'architecture de communication SPI/I2C sous-jacente et d'établir un flux de données stable pour les mises à jour d'affichage partielles, cruciales pour les applications IoT à faible consommation.
Matériel nécessaire
- Carte M5Paper (ESP32-D0WDQ6-V3)
- Câble USB-C de données
- PC avec Arduino IDE ou VS Code (PlatformIO)
- Bibliothèque M5Paper ou M5GFX (dernière version stable)
Étapes
- Installation de l'environnement : Dans PlatformIO, créez un nouveau projet en sélectionnant la board
m5stack_paper. Assurez-vous que la plateformeespressif32est à jour. Ajoutez la dépendancem5stack/M5GFXdans votre fichierplatformio.ini.
- Configuration des broches : Le M5Paper utilise des broches spécifiques pour son écran. Dans votre code, définissez les constantes suivantes pour le bus SPI de l'écran :
M5EPD_PIN_MOSI(23),M5EPD_PIN_MISO(19),M5EPD_PIN_CLK(18),M5EPD_PIN_CS(5),M5EPD_PIN_BUSY(40),M5EPD_PIN_RESET(21). Pour le tactile GT911 sur I2C :SCL(22),SDA(21) - *Note : Vérifiez les conflits de broches selon les versions de firmware, le schéma officiel privilégie souvent des broches dédiées comme GPIO 22/21 pour I2C mais consultez la doc M5Stack pour les conflits potentiels avec l'audio si utilisé.*
- Initialisation du pilote IT8951 : Le contrôleur IT8951 gère la mémoire de l'écran. Vous devez allouer un buffer de frame buffer. Pour une résolution de 960x540 en 16 niveaux de gris, calculez la taille mémoire nécessaire. Utilisez la fonction
M5.begin()avec les paramètres spécifiques à l'EPD.
- Gestion du Tactile GT911 : Initialisez la communication I2C avec le GT911. Lisez les registres d'identification pour confirmer la connexion. Le GT911 supporte le multi-touch ; configurez les interruptions GPIO pour détecter les changements d'état du tactile plutôt que de faire du polling, ce qui économise la batterie.
- Premier affichage : Effacez l'écran en blanc (état 0xFF) puis dessinez un rectangle noir. Appelez la fonction de mise à jour partielle pour tester la latence. Observez le comportement du bus SPI pendant le rafraîchissement.
Vérification
Ouvrez le moniteur série à 115200 bauds. Vous devriez voir les messages d'initialisation du Wi-Fi (si activé) et du driver EPD. L'écran doit passer par une séquence de flashs (inversion noir/blanc) typique de l'e-Ink avant d'afficher votre rectangle. Si l'écran reste gris ou affiche des artefacts, vérifiez l'alimentation USB (le M5Paper peut nécessiter une alimentation stable de 5V/1A minimum lors des rafraîchissements complets).
Pour aller plus loin
Explorez l'API M5.EPD pour les mises à jour en mode 'Fast' (4 niveaux de gris) vs 'High Quality' (16 niveaux). Étudiez comment le PSRAM de 8 MB est utilisé pour stocker plusieurs buffers de frame, permettant des animations fluides sans clignotement excessif.