Analog měřák na TFT displeji

Raspberry, Arduino, Mini-PC a další

Moderátor: Moderátoři

Odpovědět
Zpráva
Autor
Uživatelský avatar
Celeron
Příspěvky: 16140
Registrován: 02 dub 2011, 02:00
Bydliště: Nový Bydžov

Analog měřák na TFT displeji

#1 Příspěvek od Celeron »

Mám takovej šílenej nápad, vymalovat MP80-ku s napěťovou a logaritmickou stupnicí na 2,8" TFT displeji 240 x 320 s ILI9341.
Včera jsem usmolil měření napětí 0-5V a podle něj hýbat v rozsahu 120° jen jednoduchou rafikou alá analogovej měřák. Bez popisů, stupnic. Maká to, ale před každým přestavením rafiky když mažu displej, tak je to s Arduino Pro Mini dost pomalý. Zatím nevím, jestli je na vykreslení tak pomalej TFT nebo komunikace po SPI nebo jestli má vůbec smysl to dělat s osmibitovou 328P a nepoužít rovnou nějaký "dělo" jako třeba ESP32.
Odpoledne zkusím, jak rychle by makalo před změnou polohy rafiky tu původní nejdřív smazat vymalováním na barvu podkladu a pak vymalovat novou polohu. Ale zatím vůbec netuším, jak bych to dělal na dílcích stupnice přes který by rafika ukazovala.
Zkoušel jste někdo něco takovýho? Na netu pár příkladů je ale zatím jsem nad tím nebádal.
Jirka

Proč mi nemůže všechno chodit hned ?!!

Uživatelský avatar
Hill
Administrátor
Administrátor
Příspěvky: 18898
Registrován: 10 zář 2004, 02:00
Bydliště: Jičín, Český ráj

#2 Příspěvek od Hill »

S tou stupnicí jsem se kdysi vyblbnul na Zilogu, skončilo to tak, že stupnice byla uložená jako bitmapa a, jak přes ni sáhla ručička a měla se "hnout jinam", blokovým přenosem přepsala příslušnou část paměti displeje pro zobrazení, obnovilo se zobrazení stupnice a ručka v nové poloze se kreslila až pak.
K šílenému nápadu: která MP80 měla víc, než 80° výchylku?

Uživatelský avatar
rnbw
Příspěvky: 32312
Registrován: 21 bře 2006, 01:00
Bydliště: Bratislava

#3 Příspěvek od rnbw »

Ked mas pomale vykreslovanie, musis minimalizovat zmeny - idealne len na tie pixely, ktore je nutne zmenit. Idealne by bolo mat kopiu celej stupnice v RAM - pri mazani rucicky by si odtial skopiroval pixely na displej. Lenze na to nemas dost RAM. Takze pri kresleni rucicky precitat z displeja vsetky pixely, ktore bude "zakryvat" a ulozit do RAM. Pri mazani skopirovat naspat.

Uživatelský avatar
Zaky
Příspěvky: 6129
Registrován: 30 říj 2010, 02:00
Bydliště: Praha

#4 Příspěvek od Zaky »

Skoro ano, ale kopírovat nebo načítat do ram z flash (nějaký malý blok kolem aktuální polohy ručičky) jen tu část se stupnicí, jednobarevný zbytek kreslit natvrdo z kódu. Tyhle optimalizace na pomalém procesoru s malou ram a pomalým přenosem do displeje jsou opravdu radost.
Krátce před tím, než se to rozbilo, tak to ještě fungovalo...

Uživatelský avatar
Celeron
Příspěvky: 16140
Registrován: 02 dub 2011, 02:00
Bydliště: Nový Bydžov

#5 Příspěvek od Celeron »

Hill píše:K šílenému nápadu: která MP80 měla víc, než 80° výchylku?
Tu MP80 jsem dal jen jako příklad, čumím tady na ní na BM534. Celej systém je schovanej za čelním panelem a ve výřezu je jen průhledná zobrazovací část, matná před deprézem je schovaná. TFT-čko je skoro přesně velký jako výřez v panelu na BM534.
Ten displej umožní zobrazit výchylku 120° tak proč ji nepoužít na přesnější a přehlednější čtení polohy? Ona ta rozlišovačka 320 x 240 není zase tak závratná a větší úhel ji trochu zkompenzuje.

K tomu přemazávání stupnice ručkou. O tý metodě nakopírování podkladu stupnice na displej v Setup vím ale nevím, jestli to půjde na doplňování ručkou přemázlý stupnice použít. Nedíval jsem se zatím na knihovnu ILI9341 jestli umí zpětný čtení pixelů aby se třeba dal načíst do zálohy bloček pixelů přes který se pak namaluje ručka.
Zato mě překvapila dost podivná věc. Když pošlu na TFT displej čáru jako ručku s bodem otáčení v polovině spodní hrany displeje (pozice 160x240), tak můžu klidně zadat koncovej bod zcela mimo rozsah displeje, například -100,0 je ručka cca 60° doleva a 340,0 je cca 60° doprava.
Ale ta stupnice bude stejně o geometrii kolem sin a cos.
Jirka

Proč mi nemůže všechno chodit hned ?!!

Uživatelský avatar
Zaky
Příspěvky: 6129
Registrován: 30 říj 2010, 02:00
Bydliště: Praha

#6 Příspěvek od Zaky »

Abys pak neskončil s poznáním, že je lepší to udělat "po novu", tedy jako kombinaci sloupcového bargrafu a zobrazení číselné hodnoty. Ten bargraf ještě může být proměnlivé barvy, čímž se vylepší čitelnost na první pohled.
Krátce před tím, než se to rozbilo, tak to ještě fungovalo...

Uživatelský avatar
Celeron
Příspěvky: 16140
Registrován: 02 dub 2011, 02:00
Bydliště: Nový Bydžov

#7 Příspěvek od Celeron »

To je klidně možný, ničemu se nebráním. Možná to skončí z nouze i na deprézu ale kdo se má malovat s těma stupnicema? A navíc sehnat slušnej s rozsahem 100uA a dlouhou úzkou ručkou taky není až tak úplně jednoduchý.
Ale zatím netřeba házeti flintu do žita. Když jde tohle:https://content.instructables.com/FU1/P ... NI5D6E.mp4 tak snad samostatnej analog nahoře půjde taky. Ale jak vidíte, přepisu stupnice ručkou se radši vyhnul.
Jirka

Proč mi nemůže všechno chodit hned ?!!

Odpovědět

Zpět na „Miniaturní počítače (Arduino, Raspberry a další)“