🛠 Automatisation locale avec affichage e-paper

Kit d'assemblage M5Stack PaperDIY (ESP32-S3) · intermediaire · Configurez le PaperDIY comme un tableau de bord autonome pour afficher des données locales.

Objectifs

Ce tutoriel vise à créer un tableau de bord autonome sur le M5Stack PaperDIY. Vous apprendrez à lire des données locales (simulées ou via capteurs) et à les afficher sur l'écran e-paper ED047TC1. L'objectif est de comprendre l'interaction entre le stockage flash, la gestion d'énergie M5PM1 et l'affichage basse consommation. Nous n'utiliserons pas le WiFi pour cette étape, privilégiant une logique locale robuste.

Matériel nécessaire

Étapes

Dans Arduino IDE, sélectionnez la carte "M5Paper" ou "ESP32-S3 Dev Module" selon votre configuration. Assurez-vous que la PSRAM est activée dans les options de compilation, car l'écran 960x540 en 16 niveaux de gris nécessite une mémoire tampon significative (8 MB de PSRAM disponibles).

  1. Configuration de l'environnement

Incluez les bibliothèques nécessaires. Le code doit initialiser l'affichage e-paper via l'interface parallèle 8 bits. Notez que l'écran ne s'actualise pas en continu comme un LCD ; il nécessite des commandes spécifiques de rafraîchissement partiel ou complet.

  1. Initialisation du système
#include <M5Unified.h>

void setup() {
  M5.begin();
  M5.Display.setRotation(1);
  M5.Display.fillScreen(TFT_BLACK);
}

Créez une fonction qui met à jour l'écran. Pour simuler une automatisation, incrémentez un compteur stocké dans la mémoire flash (ou une variable globale pour la démo). Utilisez M5.Display.drawString() pour afficher les données. Pour économiser la batterie de 140 mAh, ajoutez une commande de veille profonde entre les mises à jour.

  1. Logique d'affichage et stockage
int counter = 0;
void loop() {
  counter++;
  M5.Display.setCursor(10, 10);
  M5.Display.printf("Compteur: %d\n", counter);
  M5.Display.update(); // Force le rafraîchissement e-paper
  delay(5000); // Attente de 5 secondes
}

La puce M5PM1 gère l'alimentation. Pour un usage réel, remplacez le delay() par des interruptions ou un mode deepSleep pour préserver la batterie. L'écran e-paper conserve l'image sans alimentation, ce qui est idéal pour les affichages statiques.

  1. Optimisation énergétique

Vérification

Après le téléversement, l'écran doit afficher un compteur qui s'incrémente toutes les 5 secondes. Vérifiez que l'arrière-plan reste noir et le texte blanc (ou inversement selon l'inversion). Si l'écran reste blanc, vérifiez les connexions de l'interface parallèle et l'activation de la PSRAM.

Pour aller plus loin

Intégrez un capteur DHT22 pour afficher la température. Utilisez le WiFi 4 pour synchroniser l'heure via NTP. Explorez le stockage sur carte MicroSD pour sauvegarder l'historique des mesures.

Autres tutoriels pour cette carte

Exemples de code pour cette carte

← Retour à la fiche 🛠 Tous les tutoriels