ATNEL tech-forum
https://forum.atnel.pl/

Wykres na LCD
https://forum.atnel.pl/topic22968.html
Strona 1 z 1

Autor:  mateusz19955 [ 27 mar 2020, o 13:06 ]
Tytuł:  Wykres na LCD

Witam, tak jak w temacie próbuję zrobić wykres na wyświetlaczu lcd ssd1963.
Wykres ma przedstawiać zmiany temperatury w czasie.
Do tego celu stworzyłem sobie strukturę która zawiera w sobie tablicę do przechowywania wyników temperatury, i dwie zmienne do których zapisywana jest minimalna i maksymalna temperatura w danym przedziale czasowym.
Wykres ma wyglądać tak:
Obrazek
Tablica do której zapisuję sobie wyniki pomiaru (co 30min jest zapis pomiaru) zawiera 9 pomiarów.
I teraz tak, nie chodzi mi o to aby ktoś mi pomagał zapisywać te wyniki czy coś w tym stylu, ponieważ to wszystko mam zrobione.
Mi chodzi tylko o a by pomógł mi ktoś te wyniki przedstawić na wykresie, a dokładnie obliczyć wartość współrzędnej "y" dla danego pomiaru.
Wykres powinien się skalować za pomocą tych zmiennych min i max temperatury.
Górny punkt wykresu na lcd ma y=226 (max temp), a dolny to y=356 (min temp).
Temperatura 10stC w tablicy pomiarów zapisywana jest jako 100, a np: 18,3stC jako 183.
Jeżeli jest ktoś kto umiałby to obliczać to prosiłbym o pomoc, bo stoję w tym miejscu i nic dalej nie mogę zrobić.

Pozdrawiam, Mateusz.

Autor:  landrynek [ 27 mar 2020, o 18:10 ]
Tytuł:  Re: Wykres na LCD

zerknij po sieci jak to inni robią np tu: https://www.instructables.com/id/Drawing-Charts-in-OLED-Displays-Based-on-SSD1306-D/

i tu fajnie wygląda też: https://rydepier.wordpress.com/2015/07/30/joystick-weather-clock-using-oled-display/

a pewnie też na tym forum są jakieś projekciki tego typu

Autor:  andrews [ 27 mar 2020, o 19:33 ]
Tytuł:  Re: Wykres na LCD

mateusz19955 napisał(a):
Wykres powinien się skalować za pomocą tych zmiennych min i max temperatury.

Nie jestem pewien, co dokładnie masz na myśli, jeśli chodzi o to skalowanie. Jeżeli (teoretycznie) temperatura przez dłuższy czas będzie utrzymywać się na równym poziomie i różnica między wartościami min i max okaże się mniejsza od 1 stopnia, to chcesz to wyskalować na całą dostępną wysokość wykresu (czyli 356-226=130 pikseli)? Pytam, bo w rezultacie małe wahania temperatury rzędu dziesiątych stopnia mogą być wtedy wyrażone dość stromymi zboczami. Taki wykres nie będzie się różnił wizualnie od innego, w którym różnica temperatur min i max będzie wynosiła np. 15 stopni.

Nie napisałeś też, o jaki mikrokontroler i język programowania chodzi.

Autor:  Draxter32 [ 27 mar 2020, o 20:48 ]
Tytuł:  Re: Wykres na LCD

andrews napisał(a):
Nie napisałeś też, o jaki mikrokontroler i język programowania chodzi.


Nazwa działu, gdzie został utworzony wątek mówi sama za siebie. Proszę zobaczyć.

------------------------ [ Dodano po: 42 minutach ]

Co do postawionego problemu, należy zastosować mapowanie wartości. Przykładowo dane jest:

T [*C] | y[px]
100 -> 226
110 -> ?
198 -> 356

Obliczenia y dla temperatury 110:

Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


y = (110-100)*(356-226)/(198-100)+239 = 239px

Strona 1 z 1 Strefa czasowa: UTC + 1
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/