Obsah:

Vytvorte si vlastný POV displej: 3 kroky
Vytvorte si vlastný POV displej: 3 kroky

Video: Vytvorte si vlastný POV displej: 3 kroky

Video: Vytvorte si vlastný POV displej: 3 kroky
Video: Řekni číslo = tolik peněz ti dám! 😛 Proč 500?! 2024, Júl
Anonim
Vytvorte si vlastný POV displej
Vytvorte si vlastný POV displej

Perception of Vision (POV) alebo Persistence of Vision (má niekoľko variácií) je zaujímavý fenomén ľudského zraku, ku ktorému dochádza vtedy, keď vizuálne vnímanie objektu neprestáva napriek zmene polohy objektu. Ľudia vidia obraz v zlomkoch sekúnd; tieto obrázky sa ukladajú do mozgu na veľmi krátku dobu (okamžite). Príkladom tohto javu je, keď sledujete zdroj svetla, ako sú diódy LED alebo žiarovky, zapnutý a roztočený. Náš zrak je oklamaný, aby sme uverili, že rotujúce svetlo je v skutočnosti nepretržitý kruh, podobne ako súvislý kruh vytvorený z rotujúcej vrtule v rovine. POV sa používa mnoho rokov, počínajúc giposkopom, na vytváranie rôznych druhov ilúzií a animácií našej vízie; často sa používa na zobrazovanie správ a animácií na displejoch pomocou diód LED a ich otáčanie v 2D alebo 3D pre rôzne druhy správ. Cieľom tejto poznámky k aplikácii je navrhnúť a predviesť, ako funguje vnímanie vízie, napísaním slova „SILEGO“na displej, ktorý sa má postaviť, a poskytnúť nápady, ktoré vás prevedú procesom vytvárania komplexnejších návrhov v budúcnosti. Na tento projekt sme použili Dialog GreenPAK ™ SLG46880 so súpravou zásuviek, ktorá umožňuje jednoduché pripojenie tohto prototypu ku všetkým externým komponentom pomocou káblov. Použitie väčšieho GreenPAK na návrh univerzálnych displejov POV je veľmi výhodné kvôli jeho robustným komponentom, ako sú subsystémy ASM, ktoré vám umožnia vytlačiť na displej akýkoľvek druh vzoru. Táto aplikácia ukáže konečný výsledok pomocou SLG46880.

Ďalej sme popísali potrebné kroky, aby ste pochopili, ako bol čip GreenPAK naprogramovaný na vytvorenie displeja POV. Ak však chcete získať iba výsledok programovania, stiahnite si softvér GreenPAK a zobrazte už dokončený súbor návrhu GreenPAK. Pripojte vývojovú súpravu GreenPAK k počítaču a spustite program, aby ste vytvorili vlastný integrovaný obvod pre displej POV.

Krok 1: Schémy

Schémy
Schémy

Tento príklad zobrazenia POV sa zameriava na 2D typ zobrazený na obrázku 1, ktorý má sústavu jedenástich diód LED (každá s odpormi na reguláciu prúdu) pripojené priamo k rôznym kolíkom GPO na zariadení GreenPAK CMIC. Obvod je prototypovaný a spájkovaný do dosky plošných spojov plošných spojov. Napájacím zdrojom displeja je alkalická batéria 9 V 10 A L1022, pripojená k obvodu regulátora napätia pomocou LM7805V s výstupom 5 V. Okrem otáčania displeja je potrebný aj jednosmerný motor s dostatočnou silou na pohyb všetkých riadiace obvody pripevnené k prispôsobenému stojanu. V tomto prípade bol použitý 12 V motor pripojený k hlavnému vypínaču a štandardne regulovaný napájací zdroj, ktorý prostredníctvom otočného spínača vydáva rôzne úrovne napätia, čo umožňuje motoru otáčať sa niekoľkými rýchlosťami.

Krok 2: GreenPAK Design

GreenPAK Design
GreenPAK Design
GreenPAK Design
GreenPAK Design
GreenPAK Design
GreenPAK Design
GreenPAK Design
GreenPAK Design

Pri navrhovaní rôznych typov správ a animácií pre displej POV pomocou programu GreenPAK by sme mali poznať nástroje a obmedzenia čipu. Týmto spôsobom môžeme vytvoriť zdatný dizajn s použitím najmenšieho počtu elektronických komponentov na dosiahnutie POV displeja. Tento dizajn využíva nové výhody, ktoré ponúka SLG46880 CMIC, so zameraním na komponent Asynchronous State Machine Subsystems. Nástroj subsystému SLG46880 ASM môže byť výhodnejší ako predchádzajúce nástroje GreenPAK ASM kvôli jeho novým funkciám, ktoré umožňujú komplexnejšie návrhy stavových strojov. Niektoré z príslušných použitých vnútorných komponentov subsystému ASM sú:

● 12-stavový ASM Macrocell

● Makrocel s dynamickou pamäťou (DM)

● F (1) Výpočtová makrobunka

● Súčasti nezávislé od štátu

Čím viac čipov stavových strojov umožňuje čip vytvárať a konfigurovať, tým početnejšie sú možnosti návrhu. Každý z dvanástich stavov bol použitý na zápis rôznych zlomkov zobrazovaného slova, pričom sa zapína/vypína odlišná kombinácia LED diód, z ktorých niektoré sa opakujú dvakrát alebo viackrát, a v niektorých prípadoch sa mení načasovanie opakovaných stavov, pretože ten istý vzor mohol byť použitý pre rôzne písmena v rôznych časoch. Štáty sú štruktúrované v tabuľke 1.

Tabuľka 1 ukazuje, ako každý z existujúcich stavov v návrhu súvisí s písmenami v slove „SILEGO“. To zodpovedá konfigurácii LED zobrazenej na obrázku 2.

Ako môžete vidieť, všetky stavy spoločne vykonávané v rôznych načasovaniach dosahujú úplné zostavenie slova, obrázok 3 ukazuje, ako sú stavy prepojené/súvisiace. Všetky prechody stavu sú v rádoch milisekúnd a každý zo stĺpcov v diagrame na obrázku 2 predstavuje jednu milisekundu (1 ms). Niektoré zo stavov trvajú 3 ms, 4 ms a ďalšie, dostatočne dlho s minimálnymi otáčkami motora použitého na ukážku videa pri približne 460 otáčkach za minútu.

Je dôležité zvážiť a zmerať rýchlosť motora, aby bolo možné poznať a vypočítať načasovanie pri návrhu na všeobecné účely. Týmto spôsobom je možné správu synchronizovať s otáčkami motora, a tak ich vidieť ľudské oko. Ďalšou úvahou, aby bol prechod stavov menej nepostrehnuteľný a jasnejší pre našu víziu, je zvýšenie rýchlosti motora na viac ako 1 000 otáčok za minútu a načasovanie stavov nastavené v poradí mikrosekúnd, aby bolo možné správu vidieť hladko. Možno sa pýtate, ako by ste synchronizovali rýchlosť motora s rýchlosťou správy alebo animácie? To sa dosahuje niekoľkými jednoduchými vzorcami. Ak máte otáčky motora 1 000 ot / min, aby ste vedeli, ako dlho trvá jednosmerný motor na otáčku v sekundách, potom:

Frekvencia = 1000 ot / min / 60 = 16,67 Hz Perióda = 1 / 16,67 Hz = 59,99 ms

Keď poznáte toto obdobie, viete, ako dlho trvá motoru otáčka. Ak chcete vytlačiť správu ako „Hello World“, keď poznáte obdobie jednotlivých ťahov, záleží len na tom, akú veľkú veľkosť chcete, aby sa správa zobrazila. Ak chcete vytlačiť požadovanú správu v požadovanej veľkosti, postupujte podľa tohto pravidla:

Ak si napríklad želáte, aby správa zaberala 40 % priestoru na displeji, potom:

Veľkosť správy = (Obdobie * 40 %) / 100 % = (59,99 ms * 40 %) / 100 % = 24 ms

To znamená, že správa sa zobrazí o 24 ms pri každom otočení, takže prázdne miesto alebo zvyšok medzery v poradí (ak po správe niečo nezobrazujete) by malo byť:

Prázdne miesto = Obdobie - Veľkosť správy = 59,99 ms - 24 ms = 35,99 ms

Nakoniec, ak potrebujete zobraziť správu v týchto 40% obdobia, musíte vedieť, koľko stavov a prechodov bude správa potrebovať na napísanie očakávanej správy, napríklad ak má správa dvadsať (20) prechodov, potom:

Obdobie jedného stavu = Veľkosť správy / 20 = 24 ms / 20 = 1,2 ms.

Každý stav by teda mal trvať 1,2 ms, aby sa správa zobrazila správne. Samozrejme, všimnete si, že väčšina z prvých návrhov nie je dokonalých, takže počas fyzického testovania môžete meniť niektoré parametre na vylepšenie dizajnu. Na uľahčenie prechodov stavov sme použili makrobunky Dynamic Memory (DM). Dva zo štyroch blokov DM majú maticové pripojenia, takže môžu interagovať s blokmi mimo subsystému ASM. Každý DM Macrocell môže mať až 6 rôznych konfigurácií, ktoré je možné použiť v rôznych štátoch. V tomto návrhu sa používajú bloky DM na spustenie prechodu ASM z jedného stavu do druhého. Napríklad stav Silego [3] sa opakuje dvakrát pri prechodoch; musí napísať začiatok a koniec veľkého písmena „I“, ktoré má rovnaký vzor, ale najskôr musí ísť do Silega [4] a napísať vzor stredu veľkého písmena „I“a potom, keď Silego [3] sa vykoná druhýkrát, musí prejsť do stavu Žiadna správa a pokračovať vo všetkých prechodoch. Ako je možné zabrániť tomu, aby sa Silego [3] dostalo do nekonečnej slučky so Silegom [4]? Je to jednoduché, existujú niektoré LUT nakonfigurované ako žabky SR, ktoré hovoria Silego [3], aby si nevyberal Silego [4] znova a znova, ale druhýkrát zvolili stav Žiadna správa. Použitie žabiek SR na zabránenie nekonečným slučkám pri opakovaní ktoréhokoľvek zo stavov je skvelý spôsob, ako tento problém vyriešiť a vyžaduje iba 3-bitovú LUT nakonfigurovanú podľa obrázku 4 a obrázku 5. Tento proces prebieha súčasne s výstup ASM prinúti Silego [3] prejsť na Silego [4], takže pri najbližšom spustení stavového stroja Silego [3] bude upozornený, aby pokračoval v procese bez správy.

Ďalším blokom ASM, ktorý bol pre tento projekt nápomocný, je počítačový makrobunka F (1). F (1) môže vytvoriť zoznam konkrétnych príkazov na čítanie, ukladanie, spracovanie a výstup požadovaných údajov. Je schopný manipulovať 1 bitom naraz. V tomto projekte bol blok F (1) použitý na čítanie, oneskorenie a výstup bitov na ovládanie niektorých LUT a povolení stavov (ako napríklad v Silegu [1] na povolenie Silega [2]).

Tabuľka na obrázku 1 vysvetľuje, ako sú jednotlivé LED diódy adresované na piny GPO zariadenia GreenPAK; priradené fyzické piny sú adresované z výstupnej RAM ASM v matici, ako je uvedené v tabuľke 2.

Ako vidíte v tabuľke 2, každý pin čipu bol adresovaný na odlišné výstupy ASM; ASMOUTPUT 1 má osem (8) výstupov, všetky sa používajú priamo pripojené k externým GPO okrem OUT 4. ASM OUTPUT 0 má štyri (4) výstupy, kde OUT 0 a OUT 1 sú priamo spojené s PIN 4 a PIN 16; OUT 2 slúži na resetovanie stavov LUT5 a LUT6 v Silego [5] a Silego [9] a nakoniec OUT 3 slúži na nastavenie LUT6 na Silego [4] a Silego [7]. ASM nRESET nie je v tomto dizajne prepínaný, takže je vynútený iba VYSOKÝ, keď je pripojený k VDD. K tomuto projektu boli pridané horné a dolné diódy LED, aby sa počas zobrazovania „SILEGO“vytvárala ďalšia animácia. Táto animácia je o niekoľkých riadkoch, ktoré v priebehu času krúžia pohybom motora. Tieto riadky sú biele LED diódy, zatiaľ čo tie, ktoré slúžia na písanie písmen, sú červené. Na dosiahnutie tejto animácie sme použili PGEN a CNT0 spoločnosti GreenPAK. PGEN je generátor vzorov, ktorý bude vydávať ďalší bit vo svojom poli na každom okraji hodín. Periódu otáčania motora sme rozdelili na 16 sekcií a výsledok bol nastavený na výstupné obdobie CNT0. Vzor naprogramovaný do PGEN je znázornený na obrázku 6.

Krok 3: Výsledky

Výsledky
Výsledky

Aby sme otestovali dizajn, prepojili sme zásuvku SLG46880 s plošným spojom plochým káblom. K obvodu boli pripojené dve externé dosky, z ktorých jedna obsahovala regulátor napätia a druhá obsahovala pole LED. Aby sa správa začala zobrazovať na ukážku, zapli sme logický obvod, ktorý je riadený zariadením GreenPAK, a potom zapli jednosmerný motor. Na správnu synchronizáciu môže byť potrebné nastaviť rýchlosť. Konečný výsledok je znázornený na obrázku 7. K tejto poznámke k aplikácii je tiež priradené video.

Záver Vnímanie displeja videnia prezentované v tomto projekte bolo navrhnuté pomocou Dialogu GreenPAK SLG46880 ako hlavného ovládača. Ukázali sme, že dizajn funguje tak, že sme pomocou LED diód napísali slovo „SILEGO“. Niektoré vylepšenia, ktoré by bolo možné na návrhu vykonať, zahŕňajú:

● Použitie viacerých GreenPAK na zvýšenie možností stavov na vytlačenie dlhšej správy alebo animácie.

● Pridajte do poľa ďalšie diódy LED. Na zníženie hmotnosti otáčajúceho sa ramena môže byť užitočné použiť LED diódy na povrchovú montáž, a nie diódy diódy diódové.

● Vrátane mikrokontroléra vám umožní zmeniť správu zobrazenú pomocou príkazov I2C na prekonfigurovanie dizajnu GreenPAK. To by sa dalo použiť na vytvorenie displeja s digitálnymi hodinami, ktorý aktualizuje číslice tak, aby zobrazovali čas presne

Odporúča: