Czy rozjaśnia się prawidłowo? Spróbuj tą jedną diodę z innego pinu zasilić i oczywiście w litanii odpowiednią poprawkę zrób i sprawdź czy będzie dalej to samo.
------------------------ [ Dodano po: 15 minutach ]Ten fragment nieblokującego programu to alternatywa, którą polecam do sterowania diodami. Ten fragmencik płynnie rozjaśnia kolejno 8 diod po czym w tej samej kolejności je gasi i tak w kółko. Nie było by w tym nic nadzwyczajnego gdyby nie fakt, że pętla główna nie jest nawet na chwilkę blokowana (jak ma to miejsce w programie demo) i może się równocześnie wykonywać coś innego, np. badanie czujników. Ma to znaczenie, bo gdyby zaczęły się schody wygaszać, a w tym czasie ktoś by na nie wszedł to powinny się rozjaśnić. Stosując blokady oczekujące na zakończenie rozjaśnienia/wygaszania czyli
język basic4gl
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
program zatrzymuje się i nie jest możliwe w tym momencie badanie czujki ruchu. W wersji nieblokującej może być ona permanentnie badana w każdym obiegu pętli, a z kolei rozjaśnianie/wygaszanie diod kontrolowane jest tym samym znacznikiem (czyli "Go") z tym, że jeśli nie przyjmie odpowiedniej wartości to program przeskakuje do kolejnych instrukcji omijając zwiększenie licznika dla następnej diody.
Oczywiście w tym przypadku prędkość (zmienna "Speed") też należy ustawić na początku - wystarczy raz, jeśli będzie stała dla rozjaśniania i wygaszania.
Przydatne może też być badanie stanu led aby sprawdzić czy akurat jest zgaszona czy zapalona jeśli w trakcie cyklu ktoś by znowu wszedł na schody. Stan ten przechowywany jest w zmiennej "Z_led". Bez badania stanu mogło by dojść do sytuacji, że przy wejściu na schody zaczęłyby by się wygaszać zamiast zapalać diody, które jeszcze świeciły, a tak można to po prostu sprawdzić i uzupełnić światłość tylko tam gdzie zdążyły już zgasnąć po wcześniejszym cyklu.