toughc5_gpio_button_buzzer.ino

Kit de développement IoT étanche M5Stack ToughC5 (ESP32-C5) · Fichier : toughc5_gpio_button_buzzer.ino · Langage : C++ (Arduino) · Usage : Contrôler le buzzer passif via un bouton GPIO externe avec anti-rebond matériel.

Exemple basique d'interaction physique utilisant un bouton externe et le buzzer intégré.

Utilise la bibliothèque M5ToughC5. Le bouton doit être câblé entre la broche GPIO choisie (ici G18) et GND. Le buzzer est connecté au GPIO2. Compilez avec le board 'M5ToughC5' dans l'IDE 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);
}

← Retour à la fiche