Ten kod aż prosi się o jakieś uproszczenie funkcjami bo tam się prawie wszystko powtarzapimowo pisze:Jak to zrobić aby po kliknięciu w przycisk wszystkie LEDy mrugnęły ze dwa razy na czerwono?
Na dodatek co 10ms sprawdzając przyciski wysyłasz potem kolejno do każdej niby diody jej kolor. To błąd.
Te diody działają tak że kiedy wysyłasz dane do, na przykład, ostatniej to wszystkie dane muszą i tak przejść przez pierwszą i druga i następną diodę.
To zmieniłoby ich kolory. Dlatego procesor trzyma kolory dla wszystkich diod i potem wysyła dane dla wszystkich diod.
Tak wiec błędem jest używanie wszędzie Send(). Wystarczy najpierw wszędzie użyć tylko Setcolor() i dane zostaną zapamiętane. Na samym końcu tylko raz użyć Send()
Dodatkowo, przyciski możesz a nawet powinieneś sprawdzać z dużą częstotliwością, ale już tak jak w przypadku wyświetlacza nie musisz tych kolorów wysyłać w kółko co 10ms.
Program zmieniłem tylko tak żebyś zrozumiał zasadę działania. Teraz działa jak odliczanie dla pików buzzera
Kiedy zmienia się stan przez Toggle to przy okazji ustawiana jest zmienna Change.
Kiedy ona jest większa od zera to jest pojedynczo obniżana aż do zera i przy okazji wszystkie przyciski migają co 100ms
Kiedy przestanie migać to zacznie normalnie sprawdzać stany co 500ms.
Co do tego zawijania to próbuję znaleźć czas, ale z tym ostatnio krucho. Nie da się znać na wszystkim i nawet żeby zamieścić to Bascomowe kolorowanie musiałem siedzieć i się uczyć jak to zrobić. Te zawijanie to pewnie inny moduł który musiałbym dodać. Nie znam żadnego szpeca i muszę to robić sampimowo pisze:Kod w załączniku bo na forum nie ma zwijania kodu
