🛠 Controlar GPIOs con M5Stamp Timer Power 2
Objetivos
Este tutorial tiene como objetivo comprender la interacción básica con los pines de Entrada/Salida (GPIO) del M5Stamp Timer Power 2. Configuraremos un pin como salida para controlar un LED y otro como entrada para detectar la pulsación de un botón. Este módulo, basado en el microcontrolador PY32L020, está optimizado para bajo consumo, pero sus GPIO siguen siendo accesibles para un control lógico simple. Es esencial entender que la gestión de energía (a través del chip M5PM1) influye en los estados de los pines, especialmente durante los modos de sueño. Este curso proporciona las bases para interactuar físicamente con el módulo sin depender únicamente de la comunicación I2C.
Material Necesario
- Un módulo M5Stamp Timer Power 2 (SKU S021)
- Un programador compatible con SWD o una placa anfitriona capaz de comunicarse por I2C (dirección 0x6E)
- Un LED rojo y una resistencia de 220Ω
- Un botón pulsador táctil
- Cables de conexión (Dupont)
- Protoboard
- Cable USB-C para alimentación
Pasos
- Identificación de pines: El módulo tiene 5 E/S programables. Consulte la hoja de datos para identificar los pines físicos correspondientes a las funciones GPIO deseadas. Tenga en cuenta que el formato es un paquete de 28 pines con orificios castellados.
- Cableado del LED: Conecte el cátodo del LED (pata corta) a Tierra (GND) a través de la resistencia de 220Ω. Conecte el ánodo (pata larga) a un pin GPIO configurado como salida. Asegúrese de que el voltaje de salida sea compatible (3.3V vía PY_3V3 o 3V3_LDO_OUT).
- Cableado del botón: Conecte una pata del botón a un pin GPIO configurado como entrada (con resistencia de pull-up interna habilitada si es posible) y la otra pata a Tierra.
- Inicialización del software: En su código (C/C++ o MicroPython), inicialice el bus I2C para configurar los registros del M5PM1 si es necesario para activar GPIO específicos. Configure el pin del LED en modo
OUTPUTy el pin del botón en modoINPUT. - Bucle principal: Escriba un bucle que lea el estado del botón. Si el botón está presionado (estado bajo debido al pull-up), establezca el pin del LED en HIGH para encenderlo. De lo contrario, establezca LOW.
Verificación
Abra el monitor serie o use un multímetro. Presione el botón: el LED debe encenderse inmediatamente. Suelte el botón: el LED debe apagarse. Si el LED no se enciende, verifique la polaridad del LED y asegúrese de que el pin seleccionado esté alimentado (verifique si la salida de 3V3 está activa mediante la configuración del M5PM1).
Para ir más allá
Explore el uso de interrupciones externas (IRQ) para despertar el módulo del sueño profundo (consumo de 6.72uA) cuando se presiona un botón, en lugar de hacer polling de la CPU con un bucle.
Otros tutoriales para esta placa
- Primera conexión y puesta en marcha del M5Stamp Timer Power 2
- Automatización simple con M5Stamp Timer Power 2
- M5Stamp Timer Power 2: Primera conexión y puesta en marcha
- Configurar E/S del M5Stamp Timer Power 2
- Automatización Domótica con M5Stamp Timer Power 2
- M5Stamp Timer Power 2: Conexión y Primer Arranque