toughc5_gpio_button_buzzer.ino

Kit de desarrollo IoT resistente a la intemperie M5Stack ToughC5 (ESP32-C5) · Archivo : toughc5_gpio_button_buzzer.ino · Lenguaje : C++ (Arduino) · Uso : Contrôler le buzzer passif via un bouton GPIO externe avec anti-rebond matériel.

Ejemplo básico de interacción física usando un botón externo y el zumbador integrado.

Utiliza la biblioteca M5ToughC5. Cablea el botón entre el pin GPIO elegido (aquí G18) y GND. El zumbador está conectado a GPIO2. Compila con la placa 'M5ToughC5' en el IDE de Arduino.

toughc5_gpio_button_buzzer.ino

#include <M5ToughC5.h>

// Broche GPIO pour le bouton (ex: G0 ou une broche libre des connecteurs HY2.0)
// Note: Vérifier le schéma pour les broches libres non utilisées par l'écran/RTC
const int BUTTON_PIN = 18; 
const int BUZZER_PIN = 2; // Buzzer passif connecté à GPIO2

void setup() {
    M5.begin();
    Serial.begin(115200);
    
    // Configuration du bouton en entrée avec pull-up interne
    pinMode(BUTTON_PIN, INPUT_PULLUP);
    
    // Configuration du buzzer en sortie
    pinMode(BUZZER_PIN, OUTPUT);
    digitalWrite(BUZZER_PIN, LOW);
    
    Serial.println("M5ToughC5 GPIO & Buzzer Demo");
}

void loop() {
    // Lecture du bouton (LOW = pressé à cause du pull-up)
    if (digitalRead(BUTTON_PIN) == LOW) {
        // Générer un son simple (fréquence ~2kHz)
        tone(BUZZER_PIN, 2000, 100);
        delay(150); // Petit délai pour l'anti-rebond logiciel simple
        Serial.println("Button Pressed - Beep!");
    } else {
        noTone(BUZZER_PIN);
    }
    delay(10);
}

← Volver a la ficha