🛠 Controlar E-Paper y GPIO en M5Stack PaperDIY

Kit de ensamblaje 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.

Objetivos

Este tutorial tiene como objetivo dominar la interacción con la pantalla e-paper ED047TC1 y los pines GPIO del módulo ESP32-S3. Aprenderá a mostrar texto dinámico y leer el estado de un botón físico, aprovechando la PSRAM para el búfer gráfico.

Material Necesario

Pasos

Instale las bibliotecas M5GFX y M5Unified a través del gestor de bibliotecas de Arduino. Estas bibliotecas gestionan la interfaz paralela de 8 bits específica de la pantalla ED047TC1.

  1. Configuración del Entorno

Cree un nuevo proyecto. Incluya los encabezados necesarios. La pantalla usa una interfaz paralela, lo que requiere una configuración precisa de pines.

  1. Inicialización del Código
#include <M5Unified.h>

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

La pantalla ofrece 16 niveles de gris. Use M5.Display.drawString para mostrar texto. Tenga en cuenta que la actualización es lenta en comparación con las pantallas LCD.

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

Para leer un botón, defina un pin como entrada con resistencia pull-up. El módulo ESP32-S3 permite una gestión flexible de GPIO.

  1. Gestión de GPIO
const int buttonPin = 4; // Verifique el pin GPIO según el esquema
void setup() {
  pinMode(buttonPin, INPUT_PULLUP);
  M5.begin();
}

En el bucle principal, lea el estado del GPIO y actualice la pantalla si cambia. La pantalla e-paper no debe actualizarse con demasiada frecuencia para preservar la batería de 140 mAh.

  1. Lectura y Visualización
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);
}

Verificación

Compile y cargue el código. La pantalla debe mostrar el texto inicial. Al presionar el botón conectado (o cortocircuitar el pin a tierra), la pantalla debe cambiar de color. Verifique que el módulo permanezca alimentado sin sobrecalentarse, gracias al chip M5PM1.

Para Ir Más Allá

Explore el uso de la PSRAM de 8 MB para almacenar imágenes complejas. Integre WiFi 802.11b/g/n para recibir comandos remotos y actualizar la pantalla e-paper a través de un servidor web.

Otros tutoriales para esta placa

Ejemplos de código para esta placa

← Volver a la ficha 🛠 Todos los tutoriales