🛠 Uso de GPIOs con el M5Paper
Objectifs
Este tutorial tiene como objetivo comprender cómo funcionan los pines GPIO (Entrada/Salida de Propósito General) en el M5Paper. Aprenderás a configurar un pin como salida para controlar un componente externo simple, como un LED, y a leer un estado lógico. Aunque el M5Paper está diseñado principalmente para la pantalla e-Ink, su núcleo ESP32-D0WDQ6-V3 ofrece una flexibilidad IoT clásica. Exploraremos cómo aprovechar estos recursos de hardware para interacciones físicas básicas, esenciales para cualquier proyecto de automatización o sensor conectado.
Matériel nécessaire
- Una placa M5Paper (basada en ESP32-D0WDQ6-V3)
- Un cable USB-C para alimentación y transferencia de datos
- Un ordenador con Arduino IDE instalado (versión 2.x recomendada)
- Un LED rojo y una resistencia de 220 ohmios (opcional, para demostración física)
- Cables de conexión (jumpers) si se usan componentes externos
Étapes
- Configuración del entorno: Abre el Arduino IDE. Asegúrate de que el gestor de placas para kits M5Stack esté instalado. Selecciona el tipo de placa « M5Stack » y el puerto serie correspondiente a tu M5Paper.
- Comprender el esquema de pines: El M5Paper expone varios pines GPIO a través de su conector Grove o pads de soldadura. Para este tutorial, usaremos un pin GPIO estándar. Ten en cuenta que el pin específico depende de tu configuración física, pero la lógica del código permanece igual.
- Escribir código básico: Crea un nuevo boceto. En la función
setup(), define el pin como salida. Enloop(), alterna el estado del pin para simular un parpadeo o un comando simple.
const int ledPin = 18; // Ejemplo de un pin GPIO disponible
void setup() {
Serial.begin(115200);
pinMode(ledPin, OUTPUT);
}
void loop() {
digitalWrite(ledPin, HIGH);
delay(1000);
digitalWrite(ledPin, LOW);
delay(1000);
}
- Carga: Haz clic en el botón « Cargar ». Vigila la salida serie para confirmar que el código se ejecuta sin errores. Si conectaste un LED, debería parpadear.
- Lectura de entrada (Opcional): Modifica el código para usar
pinMode(pin, INPUT_PULLUP)ydigitalRead(pin)para leer el estado de un botón pulsador conectado a otro pin.
Vérification
Abre el monitor serie a 115200 baudios. Si añadiste instrucciones Serial.println(), deberías ver los estados lógicos mostrados. Para la salida, observa el comportamiento del LED o mide el voltaje con un multímetro entre el pin GPIO y Tierra (GND). Un voltaje cercano a 3,3V indica un estado HIGH, y cercano a 0V un estado LOW.
Pour aller plus loin
Explora las interrupciones GPIO para reaccionar instantáneamente a cambios de estado sin usar delay(), liberando así el procesador para otras tareas como actualizar la pantalla e-Ink. También puedes combinar estas E/S con Wi-Fi para enviar datos a un servidor.