🛠 Automatización simple con M5Stamp Timer Power 2
Objetivos
Este tutorial le guía en la creación de un sistema de automatización básico utilizando el M5Stamp Timer Power 2. El objetivo es comprender cómo el microcontrolador PY32L020 puede despertar un circuito externo a intervalos regulares y luego entrar en sueño profundo para preservar la batería. Esta es una habilidad clave para dispositivos IoT autónomos.
Hardware Necesario
- Tarjeta M5Stamp Timer Power 2 (SKU S021)
- Cables de prototipado (Dupont)
- Fuente de alimentación USB de 5V o batería LiPo de 3.7V
- Multímetro (opcional, para medir corriente)
- Ordenador con Arduino IDE instalado
- Biblioteca M5Stack Timer Power (instalar desde el gestor de bibliotecas)
Pasos
- Configuración del entorno: Abra el Arduino IDE. Vaya a
Herramientas->Gestor de bibliotecas, busque "M5Stack Timer Power" e instale la última versión. Seleccione "M5Stamp Timer Power 2" enHerramientas->Placa.
- Cableado básico: El módulo utiliza pines castellated. Para esta prueba, conecte
EXT_5V_INOUTa una fuente de alimentación estable si prueba con batería, o déjelo flotante si alimenta por USB en los pines DC 5V. Asegúrese de que3V3_DCDC_OUTesté disponible para alimentar un pequeño sensor o LED.
- Escritura del código: Copie el siguiente código. Configura un despertar cada 10 segundos. Tenga en cuenta la dirección I2C predeterminada
0x6E.
#include <M5TimerPower.h>
// Dirección I2C predeterminada
#define TIMER_ADDR 0x6E
void setup() {
Serial.begin(115200);
// Inicializar comunicación I2C
Wire.begin();
// Inicializar módulo Timer Power
M5TimerPower.begin(TIMER_ADDR);
// Establecer despertar programado (ej: 10 segundos)
// La función exacta depende de la versión de la librería,
// consulte el ejemplo "WakeUpTest".
M5TimerPower.setWakeUpInterval(10);
}
void loop() {
// El código se ejecuta aquí al despertar
Serial.println("¡Despertar! Acción en curso...");
// Simular acción (ej: encender LED en GPIO programable)
// digitalWrite(LED_PIN, HIGH);
delay(1000); // Tiempo de trabajo
// Volver a sueño profundo
Serial.println("Entrando en sueño...");
M5TimerPower.deepSleep();
}
- Carga: Conecte la placa al ordenador vía USB. Cargue el código. Abra el Monitor Serie a 115200 baudios.
Verificación
Observe el Monitor Serie. Debería ver "¡Despertar!" seguido de "Entrando en sueño...". El módulo debería consumir muy poca energía (aprox. 6.72uA en modo apagado). Si tiene un multímetro en serie con la batería, debería ver que la corriente cae drásticamente después del sueño, y luego aumenta brevemente cada 10 segundos. También verifique que la salida 3V3_DCDC_OUT permanezca estable si hay un periférico conectado.
Para ir más allá
Explore las funciones de interrupción externa (IRQ) para despertar el módulo con un botón pulsador en lugar de un temporizador. También puede ajustar la corriente de carga (650mA vs 180mA) según su batería para optimizar la vida útil. Intente combinar múltiples salidas (LDO y DCDC) para alimentar diferentes sensores con voltajes distintos.