Cześć,
w ramach ćwiczeń do kursu natknąłem się na taki problem - chciałbym aby po naciśnięciu i puszczeniu przycisku dioda LED nieustannie się świeciła, natomiast ponowne przyciśnięcie i puszczenie tego samego przycisku spowodowałoby zgaszenie diody LED. Czyli zmiana stanu diody LED po wciśnięciu przycisku.
Kombinuje ale nie wychodzi mi taka operacja. Niżej przedstawiam moje dwie (moim zdaniem najsensowniejsze) próby rozwiązania tego problemu:
void setup() {
pinMode(8, OUTPUT);
pinMode(7, INPUT_PULLUP);
digitalWrite(8, LOW);
}
void loop()
{
if (digitalRead(7) == HIGH)
{
digitalWrite(8, HIGH);
delay(1000);
}
else {
digitalWrite(8, LOW);
delay(1000);
}
}
2. rozwiązanie
void setup() {
pinMode(8, OUTPUT);
pinMode(7, INPUT_PULLUP);
digitalWrite(8, LOW);
}
void loop()
{
while (digitalRead(7) == HIGH) {} //Jeśli przycisk jest wciśnięty
digitalWrite(8, HIGH);
delay(1000);
while (digitalRead(7) == LOW) {} //Jeśli przycisk jest wyciśnięty
digitalWrite(8, LOW);
delay(2000);
}