Initial commit
This commit is contained in:
53
ESP8266/test/testBouton.cpp
Normal file
53
ESP8266/test/testBouton.cpp
Normal file
@@ -0,0 +1,53 @@
|
||||
#include <ESP8266WiFi.h>
|
||||
|
||||
// Définir les pins
|
||||
const int buttonPin = D1; // Pin du bouton
|
||||
const int ledPin = LED_BUILTIN; // Pin de la LED intégrée (D4 sur la plupart des cartes ESP8266)
|
||||
|
||||
// Variables pour suivre l'état du bouton et de la LED
|
||||
bool ledState = LOW; // État initial de la LED
|
||||
bool lastButtonState = HIGH; // Dernier état du bouton
|
||||
unsigned long lastDebounceTime = 0; // Dernière fois que l'état du bouton a changé
|
||||
unsigned long debounceDelay = 50; // Temps de debounce pour éviter les rebonds du bouton
|
||||
|
||||
void setup() {
|
||||
// Initialiser la communication série
|
||||
Serial.begin(115200);
|
||||
|
||||
// Initialiser les pins
|
||||
pinMode(buttonPin, INPUT_PULLUP); // Pin du bouton en entrée avec pull-up interne
|
||||
pinMode(ledPin, OUTPUT); // Pin de la LED en sortie
|
||||
|
||||
// Assurer que la LED est éteinte au démarrage
|
||||
digitalWrite(ledPin, LOW);
|
||||
}
|
||||
|
||||
void loop() {
|
||||
// Lire l'état du bouton
|
||||
int buttonState = digitalRead(buttonPin);
|
||||
|
||||
// Vérifier si l'état du bouton a changé depuis la dernière lecture
|
||||
if (buttonState != lastButtonState) {
|
||||
lastDebounceTime = millis(); // Réinitialiser le temps de debounce
|
||||
}
|
||||
|
||||
// Si le bouton a été maintenu dans le nouvel état assez longtemps
|
||||
if ((millis() - lastDebounceTime) > debounceDelay) {
|
||||
// Si le bouton est maintenant pressé (état bas car pin est en pull-up)
|
||||
if (buttonState == LOW && lastButtonState == HIGH) {
|
||||
// Inverser l'état de la LED
|
||||
ledState = !ledState;
|
||||
digitalWrite(ledPin, ledState); // Mettre à jour l'état de la LED
|
||||
|
||||
// Afficher l'état de la LED sur le moniteur série
|
||||
if (ledState == HIGH) {
|
||||
Serial.println("LED allumée");
|
||||
} else {
|
||||
Serial.println("LED éteinte");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Sauvegarder l'état du bouton pour la prochaine lecture
|
||||
lastButtonState = buttonState;
|
||||
}
|
||||
Reference in New Issue
Block a user