Vítejte na Elektro Bastlírn?
Nuke - Elektro Bastlirna
  Vytvořit účet Hlavní · Fórum · DDump · Profil · Zprávy · Hledat na fóru · Příspěvky na provoz EB

Vlákno na téma KORONAVIRUS - nutná registrace


Nuke - Elektro Bastlirna: Diskuzní fórum

 FAQFAQ   HledatHledat   Uživatelské skupinyUživatelské skupiny   ProfilProfil   Soukromé zprávySoukromé zprávy   PřihlášeníPřihlášení 

Analog měřák na TFT displeji

 
Přidat nové téma   Zaslat odpověď       Obsah fóra Diskuzní fórum Elektro Bastlírny -> Miniaturní počítače (Arduino, Raspberry a další)
Zobrazit předchozí téma :: Zobrazit následující téma  
Autor Zpráva
Celeron



Založen: Apr 02, 2011
Příspěvky: 17508
Bydliště: Nový Bydžov

PříspěvekZaslal: út červen 06 2023, 10:28    Předmět: Analog měřák na TFT displeji Citovat

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 ?!!
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Hill
Administrátor


Založen: Sep 10, 2004
Příspěvky: 19433
Bydliště: Jičín, Český ráj

PříspěvekZaslal: út červen 06 2023, 10:37    Předmět: Citovat

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?
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
rnbw



Založen: Mar 21, 2006
Příspěvky: 33749
Bydliště: Bratislava

PříspěvekZaslal: út červen 06 2023, 10:40    Předmět: Citovat

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.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Zaky



Založen: Oct 30, 2010
Příspěvky: 6569
Bydliště: Praha

PříspěvekZaslal: út červen 06 2023, 12:04    Předmět: Citovat

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...
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Celeron



Založen: Apr 02, 2011
Příspěvky: 17508
Bydliště: Nový Bydžov

PříspěvekZaslal: út červen 06 2023, 13:57    Předmět: Citovat

Hill napsal(a):
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 ?!!
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Zaky



Založen: Oct 30, 2010
Příspěvky: 6569
Bydliště: Praha

PříspěvekZaslal: út červen 06 2023, 14:06    Předmět: Citovat

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...
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Celeron



Založen: Apr 02, 2011
Příspěvky: 17508
Bydliště: Nový Bydžov

PříspěvekZaslal: út červen 06 2023, 14:22    Předmět: Citovat

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/PRU6/I6NI5D6E/FU1PRU6I6NI5D6E.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 ?!!
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Zobrazit příspěvky z předchozích:   
Přidat nové téma   Zaslat odpověď       Obsah fóra Diskuzní fórum Elektro Bastlírny -> Miniaturní počítače (Arduino, Raspberry a další) Časy uváděny v GMT + 1 hodina
Strana 1 z 1

 
Přejdi na:  
Nemůžete odesílat nové téma do tohoto fóra.
Nemůžete odpovídat na témata v tomto fóru.
Nemůžete upravovat své příspěvky v tomto fóru.
Nemůžete mazat své příspěvky v tomto fóru.
Nemůžete hlasovat v tomto fóru.
Nemůžete připojovat soubory k příspěvkům
Můžete stahovat a prohlížet přiložené soubory

Powered by phpBB © 2001, 2005 phpBB Group
Forums ©
Nuke - Elektro Bastlirna

Informace na portálu Elektro bastlírny jsou prezentovány za účelem vzdělání čtenářů a rozšíření zájmu o elektroniku. Autoři článků na serveru neberou žádnou zodpovědnost za škody vzniklé těmito zapojeními. Rovněž neberou žádnou odpovědnost za případnou újmu na zdraví vzniklou úrazem elektrickým proudem. Autoři a správci těchto stránek nepřejímají záruku za správnost zveřejněných materiálů. Předkládané informace a zapojení jsou zveřejněny bez ohledu na případné patenty třetích osob. Nároky na odškodnění na základě změn, chyb nebo vynechání jsou zásadně vyloučeny. Všechny registrované nebo jiné obchodní známky zde použité jsou majetkem jejich vlastníků. Uvedením nejsou zpochybněna z toho vyplývající vlastnická práva. Použití konstrukcí v rozporu se zákonem je přísně zakázáno. Vzhledem k tomu, že původ předkládaných materiálů nelze žádným způsobem dohledat, nelze je použít pro komerční účely! Tento nekomerční server nemá z uvedených zapojení či konstrukcí žádný zisk. Nezodpovídáme za pravost předkládaných materiálů třetími osobami a jejich původ. V případě, že zjistíte porušení autorského práva či jiné nesrovnalosti, kontaktujte administrátory na diskuzním fóru EB.


PHP-Nuke Copyright © 2005 by Francisco Burzi. This is free software, and you may redistribute it under the GPL. PHP-Nuke comes with absolutely no warranty, for details, see the license.
Čas potřebný ke zpracování stránky 0.11 sekund