🛠 M5Paper: Configuración avanzada y manejo del driver IT8951

M5Stack M5Paper · avance · Configurer l'environnement de développement pour exploiter pleinement le contrôleur IT8951 et le tactile GT911 du M5Paper.

Objetivos

Este tutorial tiene como objetivo inicializar correctamente el M5Paper en modo avanzado, yendo más allá de la simple conexión USB para configurar controladores específicos para la pantalla e-Ink (IT8951) y la pantalla táctil (GT911). El objetivo es comprender la arquitectura de comunicación SPI/I2C subyacente y establecer un flujo de datos estable para actualizaciones parciales de la pantalla, crucial para aplicaciones IoT de bajo consumo.

Hardware Necesario

Pasos

  1. Configuración del Entorno: En PlatformIO, crea un nuevo proyecto seleccionando la placa m5stack_paper. Asegúrate de que la plataforma espressif32 esté actualizada. Agrega la dependencia m5stack/M5GFX en tu archivo platformio.ini.
  1. Configuración de Pines: El M5Paper usa pines específicos para su pantalla. En tu código, define las siguientes constantes para el bus SPI de la pantalla: M5EPD_PIN_MOSI (23), M5EPD_PIN_MISO (19), M5EPD_PIN_CLK (18), M5EPD_PIN_CS (5), M5EPD_PIN_BUSY (40), M5EPD_PIN_RESET (21). Para la pantalla táctil GT911 en I2C: SCL (22), SDA (21) - *Nota: Verifica conflictos de pines según versiones de firmware; el esquema oficial a menudo prioriza pines dedicados como GPIO 22/21 para I2C, pero consulta la documentación de M5Stack para conflictos potenciales con audio si se usa.*
  1. Inicialización del Controlador IT8951: El controlador IT8951 gestiona la memoria de la pantalla. Debes asignar un búfer de fotograma. Para una resolución de 960x540 con 16 niveles de gris, calcula el tamaño de memoria requerido. Usa la función M5.begin() con parámetros específicos de EPD.
  1. Gestión Táctil GT911: Inicializa la comunicación I2C con el GT911. Lee los registros de identificación para confirmar la conexión. El GT911 soporta multitáctil; configura interrupciones GPIO para detectar cambios de estado táctil en lugar de hacer polling, lo que ahorra batería.
  1. Primera Pantalla: Borra la pantalla en blanco (estado 0xFF) y luego dibuja un rectángulo negro. Llama a la función de actualización parcial para probar la latencia. Observa el comportamiento del bus SPI durante el refresco.

Verificación

Abre el monitor serie a 115200 baudios. Deberías ver mensajes de inicialización de Wi-Fi (si está habilitado) y del controlador EPD. La pantalla debe pasar por una secuencia típica de parpadeo e-Ink (inversión negro/blanco) antes de mostrar tu rectángulo. Si la pantalla permanece gris o muestra artefactos, verifica la alimentación USB (el M5Paper puede requerir una alimentación estable de 5V/1A durante los refrescos completos).

Para Ir Más Allá

Explora la API M5.EPD para actualizaciones en modo 'Fast' (4 niveles de gris) vs 'High Quality' (16 niveles). Estudia cómo la PSRAM de 8 MB se usa para almacenar múltiples búferes de fotograma, permitiendo animaciones fluidas sin parpadeo excesivo.

Otros tutoriales para esta placa

Ejemplos de código para esta placa

← Volver a la ficha 🛠 Todos los tutoriales