🛠 Automatización simple con M5Stamp Timer Power 2

M5Stamp Timer Power 2 (PY32L020) · debutant · Apprenez à configurer le réveil programmé pour contrôler un périphérique externe tout en minimisant la consommation d'énergie.

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

Pasos

  1. 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" en Herramientas -> Placa.
  1. Cableado básico: El módulo utiliza pines castellated. Para esta prueba, conecte EXT_5V_INOUT a 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 que 3V3_DCDC_OUT esté disponible para alimentar un pequeño sensor o LED.
  1. 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();
}
  1. 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.

Otros tutoriales para esta placa

Ejemplos de código para esta placa

← Volver a la ficha 🛠 Todos los tutoriales