04-11-2021, 07:48
(03-11-2021, 22:18)dimetylo napisał(a):Bo program mknie przez loop jak Usain Bolt przez tor(03-11-2021, 12:46)Robson Kerman napisał(a): Czytaj przyciski i neguj stany na wyjściach ledów.Użyłem Twojego sposobu i działa jest tylko mały problem bez delay nie chce się włączyc z z funkcją delay włącza sie z opóźnieniem lub raz sie włączy a raz nie proszę pomóż
if (digitalRead(PRZYCISK1) == LOW) digitalWrite(LED1, !digitalRead(LED1);
Itd... itd...
Kod:void setup() {
pinMode( 8, INPUT);
pinMode( 9, INPUT);
pinMode( 10, INPUT);
pinMode( 11, INPUT);
pinMode( 2, OUTPUT);
pinMode( 3, OUTPUT);
pinMode( 4, OUTPUT);
pinMode( 5, OUTPUT);
}
void loop() {
if (digitalRead(8) == HIGH) digitalWrite((2), !digitalRead(2));
delay(250);
if (digitalRead(9) == HIGH) digitalWrite((3), !digitalRead(3));
delay(250);
}

Ale możesz się zastanowić jak to się dzieje, że gdy klikasz myszką komputera, to system nie zalicza tysięcy kliknięć tylko jedno i zrobić tak samo w swoim programie. Delaye nie załatwią problemu, tylko go pogłębią.
Naucz się odliczać czas korzystając z funkcji millis(), albo sprawdzaj czy przycisk został puszczony i dopiero wtedy pozwalaj na następną negację. Naucz się też eliminować drgania styków.
Jeśli masz problem z kodem lub sprzętem, zadaj pytanie na forum. Nie odpowiadam na PW, jeśli nie dotyczą one spraw forum lub innych tematów prywatnych.
![[Obrazek: SsIndaG.jpg]](https://i.imgur.com/SsIndaG.jpg)