🛠 Réagir aux boutons A et B

M5StickC Plus2 (M5Stack) — kit vestible "stick" con ESP32-PICO-V3-02 (SKU K016-P2) · debutant · Schéma : IMG-m5stack-stick-c-plus-2-debutant-2-m5stick-c2-boutons-a-b.svg — Vue de profil de la M5StickC Plus2 avec les boutons A (face, G37), B (flanc, G39) et C (alimentation, G35) annotés et un compteur affiché à l'écran.

Objetivos

Leer los tres botones de la M5StickC Plus2: A = G37 (frontal), B = G39 (lateral), C = G35 (también botón de encendido/fuente de despertar). Contar las pulsaciones, reiniciar con B y comprender por qué C es un botón que debe manipularse con precaución.

Material

Código completo

// Boutons A/B/C — broches INPUT ONLY G37/G39/G35 (jamais en sortie !)
#include <M5Unified.h>

uint32_t compteur = 0;

void setup {
  auto cfg = M5.config;
  M5.begin(cfg);
  M5.Display.setRotation(1);
  M5.Display.fillScreen(TFT_BLACK);
  // M5Unified configure les broches en entrée avec pull-up interne
  // (en écriture directe : pinMode(37, INPUT_PULLUP), etc.)
}

void loop {
  M5.update;
  if (M5.BtnA.wasPressed) {          // bouton A = G37
    compteur++;
    M5.Speaker.tone(2093, 80);         // bip court : buzzer passif sur G2 (PWM)
  }
  if (M5.BtnB.wasPressed) {          // bouton B = G39
    compteur = 0;
    M5.Speaker.tone(440, 80);
  }
  if (M5.BtnC.wasPressed) {          // C = G35 = aussi la touche power !
    M5.Display.fillScreen(TFT_BLACK);  // appui long > 6 s = extinction (sans USB)
  }
  M5.Display.setCursor(20, 50);
  M5.Display.setTextSize(4);
  M5.Display.setTextColor(TFT_YELLOW, TFT_BLACK);
  M5.Display.printf("%-6lu", (unsigned long)compteur);
  vTaskDelay(10 / portTICK_PERIOD_MS);
}

Verificación esperada

Cada pulsación en A incrementa el contador grande amarillo y hace «bip» al zumbador pasivo (G2, salida de tono PWM únicamente). B pone el contador a cero. Una pulsación corta en C borra la pantalla; mantenerlo más de 6 segundos sin USB apaga completamente el dispositivo.

Errores frecuentes

Otros tutoriales para esta placa

Ejemplos de código para esta placa

← Volver a la ficha 🛠 Todos los tutoriales