29-04-2019, 19:01
Cześć
Od kilku miesięcy uczę się programować Arduino. Jak pewnie każdy zrobiłem stację pogodową
która gromadzi dane z kilku termometrów, zaspisuje na SD, wysyła przez BT itd itp.
Działa, gra i buczy, jestem dumny i blady
Teraz będę zabierał się za ciut bardziej zaawansowane projekty - minn. sterownik pomp do
nietypowego domowego C.O. / C.W.U.
Dawno temu, za czasów IBM XT/AT programowałem bazy danych z dBase i Clipperze więc
całkowitym ignorantem w dziedzinie programowania nie jestem, mimo tego, że już nic nie
pamiętam Ale do rzeczy...
Problem jaki widzę w Arduino to ograniczenia samego procesora - czyli jedna pętla,
brak jakiejkolwiek wielozadaniowości itd. W typowym "termometrze" czy też regulatorze
temperatury PID musimy po kolei robić różne rzeczy jak:
1. Zmierzyć temperaturę,
2. Obliczyć parametry pętli PID,
3. Odpowiednio wysterować czy to wyjście PWM, czy stycznik,
4. Obsłużyć jakieś przyciski, enkoder, poruszać się po menu,
5. Obsłużyć sytuacje awaryjne, typu brak chłodzenia, brak wody.
Problem jaki widzę to zdarzenia które długo trwają - jak np. odczyt temperatury z DS18B20
- trwa prawie sekundę, w czasie której można tylko czekać, a jeśli zdarzy się błąd pomiaru
to trzeba go ponowić...
Pytanie - jak pisać programy, żeby działały płynnie, nie zacinały się, obsługiwały poprawnie
takie elementy jak cyfrowe termometry, styczniki, wyjścia PWM, jednocześnie reagując na
kręcenie gałką enkodera, łażenie po menu etc.
Czy możecie polecić jakąś literaturę na ten temat, może macie rady które mogą się przydać?
Chcę się zabrać za nowy projekt czegoś w rodzaju stabilizatora temperatury, z obsługą
enkodera obrotowego, menu, ustawianiem parametrów enkoderem etc...
Chcę to zrobić dobrze
Z góry dziękuję....
PWL
Od kilku miesięcy uczę się programować Arduino. Jak pewnie każdy zrobiłem stację pogodową
która gromadzi dane z kilku termometrów, zaspisuje na SD, wysyła przez BT itd itp.
Działa, gra i buczy, jestem dumny i blady
Teraz będę zabierał się za ciut bardziej zaawansowane projekty - minn. sterownik pomp do
nietypowego domowego C.O. / C.W.U.
Dawno temu, za czasów IBM XT/AT programowałem bazy danych z dBase i Clipperze więc
całkowitym ignorantem w dziedzinie programowania nie jestem, mimo tego, że już nic nie
pamiętam Ale do rzeczy...
Problem jaki widzę w Arduino to ograniczenia samego procesora - czyli jedna pętla,
brak jakiejkolwiek wielozadaniowości itd. W typowym "termometrze" czy też regulatorze
temperatury PID musimy po kolei robić różne rzeczy jak:
1. Zmierzyć temperaturę,
2. Obliczyć parametry pętli PID,
3. Odpowiednio wysterować czy to wyjście PWM, czy stycznik,
4. Obsłużyć jakieś przyciski, enkoder, poruszać się po menu,
5. Obsłużyć sytuacje awaryjne, typu brak chłodzenia, brak wody.
Problem jaki widzę to zdarzenia które długo trwają - jak np. odczyt temperatury z DS18B20
- trwa prawie sekundę, w czasie której można tylko czekać, a jeśli zdarzy się błąd pomiaru
to trzeba go ponowić...
Pytanie - jak pisać programy, żeby działały płynnie, nie zacinały się, obsługiwały poprawnie
takie elementy jak cyfrowe termometry, styczniki, wyjścia PWM, jednocześnie reagując na
kręcenie gałką enkodera, łażenie po menu etc.
Czy możecie polecić jakąś literaturę na ten temat, może macie rady które mogą się przydać?
Chcę się zabrać za nowy projekt czegoś w rodzaju stabilizatora temperatury, z obsługą
enkodera obrotowego, menu, ustawianiem parametrów enkoderem etc...
Chcę to zrobić dobrze
Z góry dziękuję....
PWL