gpio_button_led_control.ino

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

Ejemplo simple de gestión de E/S digital con antirrebote por software.

Utilice los GPIOs disponibles en los conectores del kit (ej: GPIO4, GPIO5). Conecte un botón entre el GPIO seleccionado y GND, y un LED con resistencia a GND. Cargue vía USB-C. Abra el Monitor Serie a 115200 baudios para ver los estados.

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;
}

← Volver a la ficha