19-11-2018, 14:55
Rezystor do led jest jeden, to oznacza, że nie da się wyświetlić wszystkich sygnałów na sygnalizatorze, bo niektóre wymagają świecenia kilku komór.
Nie likwidujesz drżenia styków, to poważny błąd! Prędzej czy później takie rozwiązanie będzie powodowało dziwne zachowania programu.
Przejdźmy do sedna problemu. Po resecie, program wpada w pętlę
Siedzi tam tak długo dopóki nie naciśniesz przycisku podłączonego do wejścia D2, gdy to zrobisz, wyświetli S1 po czym wpada w kolejna pętlę
i siedzi w niej, tak długo dopóki D5 nie przyjmie poziomu niskiego, wtedy wyświetla S10 itd.
Domyślam się, ze nie znasz C czy C++ ani innego języka wysokiego poziomu. Metodą prób ii błędów, bez zrozumienia "while" użyłeś go i działa jak każesz. Powinieneś użyć "if".
Nie likwidujesz drżenia styków, to poważny błąd! Prędzej czy później takie rozwiązanie będzie powodowało dziwne zachowania programu.
Przejdźmy do sedna problemu. Po resecie, program wpada w pętlę
Kod:
while (digitalRead(2) == HIGH) {}
Kod:
while (digitalRead(5) == HIGH) {}
Domyślam się, ze nie znasz C czy C++ ani innego języka wysokiego poziomu. Metodą prób ii błędów, bez zrozumienia "while" użyłeś go i działa jak każesz. Powinieneś użyć "if".