bool StatusOfLED = false;
byte StatusOfButton = 0;
long TimeOfStateNumber0, CurrentTime = 100;
int pin0 = 0;
int pin1 = 1;
void setup()
{
pinMode(pin0, OUTPUT);
pinMode(pin1, INPUT_PULLUP);
}
void loop()
{
if (StatusOfButton == 0)
{
if (digitalRead(pin1) == false)
{
StatusOfButton = 1;
TimeOfStateNumber0 = millis();
}
}
else if (StatusOfButton == 1)
{
if (digitalRead(pin1))
{
StatusOfButton = 0;
}
else if (millis() - TimeOfStateNumber0 > CurrentTime)
{
StatusOfLED = !StatusOfLED;
StatusOfButton = 2;
}
}
else if (StatusOfButton == 2)
{
if (digitalRead(pin1))
{
StatusOfButton = 0;
}
}
digitalWrite(pin0, StatusOfLED);
}