🛠 Configurer les E/S du M5Stamp Timer Power 2
Objectifs
Ce tutoriel vous guide dans l'exploitation des 5 broches IO programmables du M5Stamp Timer Power 2 (SKU S021). Contrairement aux cartes classiques, ce module utilise le microcontrôleur PY32L020 pour gérer l'énergie tout en offrant des interfaces flexibles. Nous allons configurer un GPIO en sortie pour commander une LED (ou un relais) et utiliser le PWM pour moduler un signal, illustrant ainsi la polyvalence des E/S sans compromettre la faible consommation (6.72uA en arrêt).
Matériel nécessaire
- 1x Module M5Stamp Timer Power 2 (S021)
- 1x Câble USB-C pour l'alimentation et la programmation
- 1x LED avec résistance de limitation (330Ω) ou un module de test
- 1x Câbles de raccordement (Dupont)
- Logiciel : IDE Arduino ou plateforme compatible PY32 (ex: M5Burner pour le flash initial)
Étapes
- Connexion physique : Reliez le VBUS (5V) et le GND du module à votre source. Pour tester une sortie, connectez la broche IO sélectionnée (par exemple IO0) à l'anode de la LED via la résistance, et la cathode au GND.
- Configuration logicielle : Ouvrez votre IDE. Assurez-vous que la carte est reconnue comme un dispositif PY32L020. Incluez les bibliothèques nécessaires pour la gestion des broches spécifiques à ce module.
#include <Arduino.h>
// Définition des broches selon le schéma du module
#define LED_PIN 0 // IO0 programmable
#define PWM_PIN 1 // IO1 pour PWM
void setup() {
pinMode(LED_PIN, OUTPUT);
pinMode(PWM_PIN, OUTPUT);
// Initialisation série pour le débogage si nécessaire
Serial.begin(115200);
}
- Programmer la boucle principale : Dans
loop(), nous alternerons l'état du GPIO et varierons le rapport cyclique du PWM. Notez que le module gère l'alimentation interne (3V3_DCDC_OUT) pour les périphériques connectés si nécessaire.
void loop() {
// Activation simple du GPIO
digitalWrite(LED_PIN, HIGH);
delay(500);
digitalWrite(LED_PIN, LOW);
delay(500);
// Modulation PWM (analogique) sur 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);
}
}
- Gestion de l'alimentation : Pour optimiser la consommation, assurez-vous que les broches non utilisées sont mises en état haute impédance (INPUT_FLOATING) ou en entrée pull-down si elles ne sont pas actives, afin d'éviter les courants de fuite qui augmenteraient la consommation au-delà des 12.27uA en veille.
Vérification
Observez le clignotement de la LED et la variation progressive de sa luminosité (si connectée au pin PWM). Utilisez un multimètre pour vérifier que la tension en sortie correspond aux niveaux logiques attendus (0V ou ~3.3V). Vérifiez également que la consommation du module reste faible lorsque les E/S sont inactives.
Pour aller plus loin
Explorez l'interface I2C (adresse 0x6E) du module pour lire l'état de la batterie ou configurer les seuils de charge via le M5PM1. Vous pouvez aussi tester les interruptions externes (IRQ) sur les IO pour réveiller le module depuis le mode arrêt, crucial pour les applications sur batterie.
Autres tutoriels pour cette carte
- Premier branchement et mise en route du M5Stamp Timer Power 2
- Contrôler les GPIO avec le M5Stamp Timer Power 2
- Automatisation simple avec le M5Stamp Timer Power 2
- M5Stamp Timer Power 2 : Premier branchement et mise en route
- Automatisation Domotique avec M5Stamp Timer Power 2
- M5Stamp Timer Power 2 : Branchement et Mise en Route