#define PB1 10
#define Led1 7
int period = 5000; //periode in ms
unsigned long time_now = 0;
bool button_pressed = false;
bool button_pressed2 = false;
void setup() {
Serial.begin(9600);
pinMode(PB1, INPUT);
pinMode(Led1, OUTPUT);
}
void loop()
{
if (digitalRead(PB1) && !button_pressed) {
digitalWrite(Led1, HIGH);
button_pressed = true;
button_pressed2 = false;
Serial.println("stage1");
}
if (!digitalRead(PB1) && button_pressed && !button_pressed2) {
time_now = millis();
button_pressed = false;
button_pressed2 = true;
Serial.println("stage2");
}
if (millis() - time_now > period && button_pressed2)
{
digitalWrite(Led1, LOW);
button_pressed = false;
button_pressed2 = false;
Serial.println("stage3");
}
}