🛠 Contrôler les GPIO avec le M5Stamp Timer Power 2
Objectifs
Ce tutoriel vise à comprendre l'interaction basique avec les broches d'entrée/sortie (GPIO) du M5Stamp Timer Power 2. Nous allons configurer une broche en sortie pour allumer une LED et une autre en entrée pour détecter un appui sur un bouton. Ce module, basé sur le microcontrôleur PY32L020, est optimisé pour la basse consommation, mais ses GPIO restent accessibles pour le contrôle logique simple. Il est essentiel de comprendre que la gestion de l'alimentation (via la puce M5PM1) influence l'état des broches, notamment lors des modes de veille. Ce cours vous donnera les bases pour interagir physiquement avec le module sans dépendre uniquement de la communication I2C.
Matériel nécessaire
- Un module M5Stamp Timer Power 2 (SKU S021)
- Un programmateur compatible SWD ou une carte hôte capable de communiquer via I2C (adresse 0x6E)
- Une LED rouge et une résistance de 220Ω
- Un bouton poussoir tactile
- Fils de connexion (Dupont)
- Breadboard (plaque d'essai)
- Câble USB-C pour l'alimentation
Étapes
- Identification des broches : Le module possède 5 IO programmables. Consultez la fiche technique pour identifier les broches physiques correspondant aux fonctions GPIO souhaitées. Notez que le format est un boîtier castellated-hole de 28 broches.
- Câblage de la LED : Connectez la cathode (patte courte) de la LED à la masse (GND) via la résistance de 220Ω. Connectez l'anode (patte longue) à une broche GPIO configurée en sortie. Assurez-vous que la tension de sortie est compatible (3.3V via PY_3V3 ou 3V3_LDO_OUT).
- Câblage du bouton : Connectez une patte du bouton à une broche GPIO configurée en entrée (avec résistance de pull-up interne activée si possible) et l'autre patte à la masse.
- Initialisation logicielle : Dans votre code (C/C++ ou MicroPython), initialisez le bus I2C pour configurer les registres du M5PM1 si nécessaire pour activer les GPIO spécifiques. Configurez la broche LED en mode
OUTPUTet la broche bouton en modeINPUT. - Boucle principale : Écrivez une boucle qui lit l'état du bouton. Si le bouton est pressé (état bas à cause du pull-up), mettez la broche LED à l'état haut (HIGH) pour l'allumer. Sinon, mettez-la à l'état bas (LOW).
Vérification
Ouvrez le moniteur série ou utilisez un multimètre. Appuyez sur le bouton : la LED doit s'allumer immédiatement. Relâchez le bouton : la LED doit s'éteindre. Si la LED ne s'allume pas, vérifiez la polarité de la LED et que la broche sélectionnée est bien alimentée (vérifiez si la sortie 3V3 est active via la configuration de la puce M5PM1).
Pour aller plus loin
Explorez l'utilisation des interruptions externes (IRQ) pour réveiller le module de veille profonde (consommation 6.72uA) lorsqu'un bouton est pressé, plutôt que de polluer la CPU avec une lecture en boucle.
Autres tutoriels pour cette carte
- Premier branchement et mise en route du M5Stamp Timer Power 2
- Automatisation simple avec le M5Stamp Timer Power 2
- M5Stamp Timer Power 2 : Premier branchement et mise en route
- Configurer les E/S du M5Stamp Timer Power 2
- Automatisation Domotique avec M5Stamp Timer Power 2
- M5Stamp Timer Power 2 : Branchement et Mise en Route