W przypadku "czujnika"
otwarcia okna można było zastosować jedną zmienną globalną, dzięki czemu
informacja wyświetli się tylko raz na każdą zmianę stanu.
Kod trochę słabo sformatowany
- zwykle używam "wygodnych" IDE, które same poprawiają 😳
bool last_high = false;
void setup()
{
pinMode(2,INPUT_PULLUP);
pinMode(3,OUTPUT);
pinMode(4,OUTPUT);
digitalWrite(3,LOW);
digitalWrite(4,LOW);
Serial.begin(9600);
}
void loop()
{
if(digitalRead(2) == HIGH)
{
digitalWrite(3,HIGH);
digitalWrite(4,LOW);
if(!last_high)
{
Serial.println("zamkniete!");
last_high = true;
}
}
else
{
digitalWrite(4,HIGH);
digitalWrite(3,LOW);
if(last_high)
{
Serial.println("Otwarte!");
last_high = false;
}
}
}