🛠 Configurar E/S del M5Stamp Timer Power 2

M5Stamp Timer Power 2 (PY32L020) · intermediaire · Apprenez à piloter les GPIO, PWM et ADC du module PY32L020 pour interagir avec des capteurs ou affichages.

Objetivos

Este tutorial le guía en el uso de los 5 pines IO programables del M5Stamp Timer Power 2 (SKU S021). A diferencia de las placas estándar, este módulo utiliza el microcontrolador PY32L020 para gestionar la energía mientras ofrece interfaces flexibles. Configuraremos un GPIO como salida para controlar un LED y usaremos PWM para modular una señal, demostrando la versatilidad de E/S sin comprometer el bajo consumo (6.72uA en apagado).

Hardware Necesario

Pasos

  1. Conexión Física: Conecte VBUS (5V) y GND a su fuente de alimentación. Para probar una salida, conecte el pin IO seleccionado (ej. IO0) al ánodo del LED a través de la resistencia, y el cátodo a GND.
  1. Configuración de Software: Abra su IDE. Asegúrese de que la placa sea reconocida como un dispositivo PY32L020. Incluya las bibliotecas necesarias para la gestión de pines específica de este módulo.
#include <Arduino.h>

// Definiciones de pines según el esquema del módulo
#define LED_PIN 0 // IO0 programable
#define PWM_PIN 1 // IO1 para PWM

void setup() {
  pinMode(LED_PIN, OUTPUT);
  pinMode(PWM_PIN, OUTPUT);
  // Inicialización serie para depuración si es necesario
  Serial.begin(115200);
}
  1. Programar el Bucle Principal: En loop(), alternaremos el estado del GPIO y variaremos el ciclo de trabajo del PWM. Tenga en cuenta que el módulo gestiona la alimentación interna (3V3_DCDC_OUT) para los periféricos conectados si es necesario.
void loop() {
  // Activación simple del GPIO
  digitalWrite(LED_PIN, HIGH);
  delay(500);
  digitalWrite(LED_PIN, LOW);
  delay(500);

  // Modulación PWM (analógica) en IO1
  for(int i = 0; i <= 255; i++) {
    analogWrite(PWM_PIN, i);
    delay(5);
  }
  for(int i = 255; i >= 0; i--) {
    analogWrite(PWM_PIN, i);
    delay(5);
  }
}
  1. Gestión de Energía: Para optimizar el consumo, asegúrese de que los pines no utilizados estén en estado de alta impedancia (INPUT_FLOATING) o en entrada pull-down si están inactivos, para evitar corrientes de fuga que aumentarían el consumo más allá de los 12.27uA en reposo.

Verificación

Observe el parpadeo del LED y la variación progresiva del brillo (si está conectado al pin PWM). Use un multímetro para verificar que el voltaje de salida coincide con los niveles lógicos esperados (0V o ~3.3V). También, verifique que el consumo del módulo permanezca bajo cuando los E/S están inactivos.

Para Ir Más Allá

Explore la interfaz I2C del módulo (dirección 0x6E) para leer el estado de la batería o configurar umbrales de carga a través del M5PM1. También puede probar interrupciones externas (IRQ) en los IO para despertar el módulo desde el modo apagado, crucial para aplicaciones a batería.

Otros tutoriales para esta placa

Ejemplos de código para esta placa

← Volver a la ficha 🛠 Todos los tutoriales