🛠 Piloter l'E-Paper et les GPIO sur M5Stack PaperDIY

Kit d'assemblage M5Stack PaperDIY (ESP32-S3) · intermediaire · Apprenez à initialiser l'écran E-Paper ED047TC1 et à gérer les entrées-sorties GPIO sur le module ESP32-S3 du kit PaperDIY.

Objectifs

Ce tutoriel vise à maîtriser l'interaction avec l'écran e-paper ED047TC1 et les broches GPIO du module ESP32-S3. Vous apprendrez à afficher du texte dynamique et à lire l'état d'un bouton physique, exploitant la mémoire PSRAM pour le buffer graphique.

Matériel nécessaire

Étapes

Installez la bibliothèque M5GFX et M5Unified via le gestionnaire de bibliothèques Arduino. Ces librairies gèrent l'interface parallèle 8 bits spécifique à l'écran ED047TC1.

  1. Configuration de l'environnement

Créez un nouveau projet. Incluez les en-têtes nécessaires. L'écran utilise une interface parallèle, ce qui nécessite une configuration précise des broches.

  1. Initialisation du code
#include <M5Unified.h>

void setup() {
  M5.begin();
  M5.Display.setBrightness(255);
  M5.Display.fillScreen(GRAY_WHITE);
}

L'écran offre 16 niveaux de gris. Utilisez M5.Display.drawString pour afficher du texte. Notez que le rafraîchissement est lent comparé à un LCD.

  1. Affichage sur l'E-Paper
void loop() {
  M5.Display.setCursor(10, 10);
  M5.Display.printf("PaperDIY GPIO Test\n");
  M5.Display.update();
  delay(5000);
}

Pour lire un bouton, définissez une broche en entrée avec résistance de pull-up. Le module ESP32-S3 permet une gestion flexible des GPIO.

  1. Gestion des GPIO
const int buttonPin = 4; // Broche GPIO à vérifier selon le schéma
void setup() {
  pinMode(buttonPin, INPUT_PULLUP);
  M5.begin();
}

Dans la boucle principale, lisez l'état du GPIO et mettez à jour l'affichage si l'état change. L'écran e-paper ne doit pas être rafraîchi trop fréquemment pour préserver la batterie de 140 mAh.

  1. Lecture et Affichage
void loop() {
  int state = digitalRead(buttonPin);
  if (state == LOW) {
    M5.Display.fillScreen(GRAY_BLACK);
  } else {
    M5.Display.fillScreen(GRAY_WHITE);
  }
  M5.Display.update();
  delay(1000);
}

Vérification

Compilez et téléversez le code. L'écran doit afficher le texte initial. En appuyant sur le bouton connecté (ou en court-circuitant la broche à la masse), l'écran doit changer de couleur. Vérifiez que le module reste alimenté sans surchauffe, grâce à la puce M5PM1.

Pour aller plus loin

Explorez l'utilisation de la PSRAM de 8 MB pour stocker des images complexes. Intégrez le WiFi 802.11b/g/n pour recevoir des commandes à distance et mettre à jour l'affichage e-paper via un serveur web.

Autres tutoriels pour cette carte

Exemples de code pour cette carte

← Retour à la fiche 🛠 Tous les tutoriels