środa, 18 października 2017

3,2,1 BLYNK na start - GrzyboSuszarka w telefonie

Model grzybosuszarki z dumnie zaprogramowanym automatem skończonym działa. Wiem, że działa choć słabo to widać. Bo co można stwierdzić patrząc na dwa LEDy? I co można ustawić jednym przyciskiem dostępnym w SONOFFie? Przyznaję - niewiele. Gdyby nie podłączenie do monitora Arduino figę bym wiedział co dzieje się wewnątrz urządzenia. Przycisk wystarczy do załączania/wyłączania urządzenia a nawet do zmiany programów pracy (dzięki autorowi OneButton.h) ale to koniec możliwości. A gdzie zmiana nastaw temperatur czy czasu pracy urządzenia? A jak odczytać aktualną temperaturę GS, pomierzyć pobór energii czy łączny czas suszenia?

Bez wyświetlacza LCD i klawiatury lub kilku potencjometrów się nie da. Możemy zawsze dołożyć coś większego - ot np. tablet jak w lodówce LG. I grzybosuszarka będzie pod naszą całkowitą kontrolą. Można tylko po co? Każdy ma telefon i każdy może mieć BLYNKa. A wtedy i dwa LEDy z przyciskiem w sterowniku grzybosuszarki  to za dużo by sterować urządzeniem leżąc wygodnie na plaży w Juracie (no może nie w październiku). Dziś BLYNK w grzybosuszarce.

czwartek, 5 października 2017

finite state machine (automaty skończone) w praktyce Arduino - GrzyboSuszarka po nowemu

Pierwszy raz próbuję świadomie napisać program z zastosowaniem automatu skończonego. Świadomie - wcześniej oczywiście mówiłem prozą ale w stanie pewnej pomroczności. Nazwanie stanów programu a w zasadzie ich ponumerowanie samo poukładało strukturę wewnętrzną programu i dowiązało do nich potrzebne instrukcje i procedury. Najważniejszą jest decyzja jak stany będą w programie zmieniane określonymi sygnałami (wejściowymi) i w jaki sposób poszczególne stany zostaną obsłużone tzn jak wygenerują sterowania (sygnały wyjściowe).
Do tej pory w programach określony stan na wejściu modułu wywoływał program obsługi w następstwie czego generowane było sterowanie. W automacie skończonym sygnał powoduje jedynie zmianę stanu wewnętrznego programu. Obsługa zaś stanów wewnętrznych czyli generowanie sterowań wyjściowych dokonywana jest w całkiem innym miejscu. Może tego nie widać na pierwszy rzut oka ale to  naprawdę jest REWOLUCJA.