toto/BE c/projet/bouton.cpp
2026-01-15 12:23:17 +01:00

56 lines
No EOL
1.2 KiB
C++

#include "bouton.h"
#include "rgb_lcd.h"
//Constructeur
bouton::bouton()
: capteur(), etat(0) {}
bouton::bouton(int pin)
: capteur(pin), etat(0) {}
//ccesseur de etat
bool bouton::lire_etat() {
bool res;
int buttonState = digitalRead(this->getpin());
if (buttonState == HIGH) res = 1;
else res = 0;
return res;
}
bool choix_bouton(bouton &Brelief, bouton &Bplat) {
Serial.println("A"); //a enlever
//Attends que les 2 bouttons soient relachés
while (Brelief.lire_etat() == 1 || Bplat.lire_etat() == 1) {
delay(10);
}
Serial.println("A"); //a enlever
//Attends que l'un des boutons soit appuyé
while (Brelief.lire_etat() == 0 && Bplat.lire_etat() == 0) {
delay(10);
}
//Stocke l'état des boutons
bool reliefPresse = Brelief.lire_etat();
bool platPresse = Bplat.lire_etat();
Serial.println("A"); //a enlever
//Boucle qui renvoie 1 si bouton relief et renvoie 0 si bouton plat
if (reliefPresse) {
Serial.println("A");
while (Brelief.lire_etat() == 1) {
delay(10);
}
return 1;
} else if (platPresse) {
Serial.println("A");
while (Bplat.lire_etat() == 1) {
delay(10);
}
return 0;
}
return 0;
};