Gunslinger napisał: Witam. Robię mini komputer pokładowy. Funkcje to pomiar poziomu paliwa, temperatury w i na zewnątrz, i napięcia aku. Na razie mam paliwo i jedną temperaturę. Poziom paliwa symuluje na razie potencjometrem. Do pewnego poziomu fajnie wypełnia mi kolejne kwadraty, jednak gdy zapełnię pierwszą linię, i przekręcę jeszcze trochę potencjometr, to wypełnia mi również linię poniżej za temperaturą. Dlaczego się tak dzieje.
Buffer wyświetlacza LCD HD44780 zawiera miejsce na 80 znaków/linię do wyświetlenia.
W tej formie co twój program jest pisany (kolejne linie sa dopisywane jako jeden ciąg) i pomimo że 'brakuje' miejsca na wyświetlaczu (16 znaków) to są one jednak rejestrowane w jego buffer aż do przepełnienia, a natępnie akumulowane/przenoszone do następnej linii. Niektóre wyświetlacze (kompatybilne), mogą miec buffer o innej pojemności; na przykład 40.
To tylko wygłąda że są one dopisywane za temperaturą.
One są wpisane wcześniej i nadpisane kolejną instrukcją wyniku temperatury.
Jeżeli chcesz wyświetlic wynik w postaci graficznej jako bargraf, to musiałbyś zastosowac inną metodę, z nadpisywaniem znaków w formie matrix, w kombinowanej zależności wypełnienia pól LCD od wartości ADC.
Poniżej masz taki przykład, choc dla możliwych 16 znaków (całej sali LCD) otrzymasz bardzo kiepską rozdzielczośc.
Zaloguj się, aby zobaczyć kod
Zechcesz zastosowac inny wyświetlacz, zajdzie potrzeba naniesienia zmian.
Odczyt i rachunek temperatury masz również błędny (trochę bezsensowne i zbędne kombinacje).
e masrcus
0