gpio_button_led_control.ino

PaperDIY Assembly Kit · Fichier : gpio_button_led_control.ino · Langage : C++ (Arduino) · Usage : Contrôler une LED via un bouton poussoir en utilisant les GPIOs libres de la carte.

Exemple simple de gestion d'entrée/sortie numérique avec anti-rebond logiciel.

Utilisez les GPIOs disponibles sur les connecteurs du kit (ex: GPIO4, GPIO5). Connectez un bouton entre le GPIO sélectionné et GND, et une LED avec résistance vers GND. Téléversez via USB-C. Ouvrez le moniteur série à 115200 bauds pour voir les états.

gpio_button_led_control.ino

#include <Arduino.h>

// Définition des broches GPIO pour l'Assembly Kit
// Note : Vérifiez le schéma spécifique de votre version d'assemblage
const int BUTTON_PIN = 4;
const int LED_PIN = 5;

bool buttonState = false;
bool lastButtonState = false;
unsigned long lastDebounceTime = 0;
unsigned long debounceDelay = 50;

void setup() {
  Serial.begin(115200);
  pinMode(BUTTON_PIN, INPUT_PULLUP);
  pinMode(LED_PIN, OUTPUT);
  digitalWrite(LED_PIN, LOW);
  Serial.println("PaperDIY GPIO Test Started");
}

void loop() {
  bool reading = digitalRead(BUTTON_PIN);

  if (reading != lastButtonState) {
    lastDebounceTime = millis();
  }

  if ((millis() - lastDebounceTime) > debounceDelay) {
    if (reading != buttonState) {
      buttonState = reading;
      if (buttonState == LOW) { // Bouton pressé (Pull-up)
        digitalWrite(LED_PIN, HIGH);
        Serial.println("Button Pressed - LED ON");
      } else {
        digitalWrite(LED_PIN, LOW);
        Serial.println("Button Released - LED OFF");
      }
    }
  }
  lastButtonState = reading;
}

← Retour à la fiche