Kazalo:

Naredite svoj zaslon POV: 3 koraki
Naredite svoj zaslon POV: 3 koraki

Video: Naredite svoj zaslon POV: 3 koraki

Video: Naredite svoj zaslon POV: 3 koraki
Video: Моя работа наблюдать за лесом и здесь происходит что-то странное 2024, November
Anonim
Naredite svoj POV zaslon
Naredite svoj POV zaslon

Zaznavanje vida (POV) ali obstojnost vida (ima več različic) je zanimiv pojav človeškega vida, ki se pojavi, ko vizualno zaznavanje predmeta ne preneha kljub spreminjanju položaja predmeta. Človeška bitja vidijo podobo v intervalih sekund; te slike se za zelo kratek čas (za trenutek) shranijo v možgane. Primer tega pojava je, ko opazujete vir svetlobe, kot so LED ali žarnice, vklopljen in obrnjen. Naš vid je zaveden v prepričanje, da je vrteča se svetloba dejansko neprekinjen krog, podobno kot neprekinjen krog, ki nastane iz vrtljivega propelerja na ravnini. POV se že vrsto let, začenši z gifoskopom, uporablja za ustvarjanje različnih vrst iluzij in animacij naše vizije; pogosto se uporablja za prikazovanje sporočil in animacij na zaslonih z LED diodami, njihovo vrtenje v 2D ali 3D za različne vrste sporočil. Cilj te opombe o aplikaciji je oblikovati in prikazati, kako deluje Perception of Vision, tako da na zaslon, ki ga je treba zgraditi, napiše besedo "SILEGO", ter poda ideje, ki vas bodo vodile skozi proces oblikovanja bolj zapletenih modelov v prihodnosti. Za ta projekt smo uporabili Dialog GreenPAK ™ SLG46880 s kompletom vtičnic, ki omogoča enostavno povezavo tega prototipa z vsemi zunanjimi komponentami s pomočjo kablov. Uporaba večjega GreenPAK -a za oblikovanje splošnih zaslonov POV je zelo ugodna zaradi robustnih komponent, kot so podsistemi ASM, ki vam omogočajo tiskanje kakršnih koli vzorcev na zaslon. Ta aplikacija bo prikazala končni rezultat z uporabo SLG46880.

Spodaj smo opisali potrebne korake za razumevanje, kako je bil čip GreenPAK programiran za ustvarjanje zaslona POV. Če pa želite samo doseči rezultat programiranja, prenesite programsko opremo GreenPAK, če si želite ogledati že dokončano oblikovalsko datoteko GreenPAK. Priključite razvojni komplet GreenPAK v računalnik in pritisnite hitri program, da ustvarite IC po meri za zaslon POV.

1. korak: Sheme

Sheme
Sheme

Ta primer prikaza POV prikazuje 2D tip, prikazan na sliki 1, ki ima niz enajstih LED (vsaka z upori za uravnavanje toka), priključenih neposredno na različne zatiče GPO na GreenPAK CMIC. Vezje je prototipirano in spajkano na plošče PCB. Napajanje za zaslon je 9 V 10 A L1022 alkalna baterija, povezana z vezjem regulatorja napetosti z LM7805V, ki oddaja 5 V. Poleg tega, da se zaslon vrti, je potreben enosmerni motor z dovolj moči, da premakne vse krmilno vezje, pritrjeno na prilagojeno stojalo. V tem primeru je bil uporabljen 12-voltni motor, priključen na glavno stikalo, in standardno regulirano napajanje, ki preko vrtljivega stikala oddaja različne napetostne ravni, kar motorju omogoča vrtenje pri več hitrostih.

2. korak: Oblikovanje GreenPAK

Oblikovanje GreenPAK
Oblikovanje GreenPAK
Oblikovanje GreenPAK
Oblikovanje GreenPAK
Oblikovanje GreenPAK
Oblikovanje GreenPAK
Oblikovanje GreenPAK
Oblikovanje GreenPAK

Pri načrtovanju različnih vrst sporočil in animacij za POV zaslon z uporabo GreenPAK -a bi morali poznati tako orodja kot omejitve čipa. Na ta način lahko ustvarimo vrhunsko zasnovo z uporabo najmanj elektronskih komponent za dosego zaslona POV. Ta zasnova uporablja nove prednosti, ki jih ponuja SLG46880 CMIC, s poudarkom na komponenti podsistemov asinhronih državnih strojev. Orodje podsistema SLG46880 ASM je lahko zaradi svojih novih funkcij, ki omogočajo bolj zapletene zasnove državnih strojev, bolj ugodno kot prejšnja orodja GreenPAK ASM. Nekatere uporabljene ustrezne notranje komponente podsistemov ASM so:

● Makrocelica ASM z 12 državami

● Makrocelica dinamičnega pomnilnika (DM)

● F (1) Računska makrocelica

● Neodvisne komponente države

Več makrocelic državnega stroja, ki jih čip omogoča ustvarjanju in konfiguriranju, več je možnosti oblikovanja. Vsako od dvanajstih stanj je bilo uporabljeno za pisanje različnih delčkov besede, ki naj se prikaže, pri čemer se vklopijo/izklopijo različne kombinacije LED, od katerih so se nekatere ponovile dvakrat ali večkrat, v nekaterih primerih pa se čas ponavljanja stanj spremeni, ker isti vzorec bi lahko uporabili za različne črke v različnih časih. Države so strukturirane v tabeli 1.

Tabela 1 prikazuje, kako so vsa obstoječa stanja v zasnovi povezana s črkami v besedi »SILEGO«. To je povezano s konfiguracijo LED, prikazano na sliki 2.

Kot lahko opazite, vsa stanja skupaj izvedena ob različnih časovnih presledkih dosežejo popolno izgradnjo besede, slika 3 prikazuje, kako so stanja povezana/povezana. Vsi prehodi stanja so v vrstnem redu milisekund in vsak stolpec na diagramu na sliki 2 predstavlja eno milisekundo (1 ms). Nekatera stanja trajajo 3 ms, 4 ms in druga, kar je dovolj dolgo z najmanjšo hitrostjo motorja, uporabljenega za video predstavitev, pri približno 460 vrtljajih na minuto.

Pomembno je upoštevati in izmeriti hitrost motorja, da bi vedeli in izračunali časovni okvir pri načrtovanju za splošne namene. Na ta način se lahko sporočilo sinhronizira s hitrostjo motorja in je tako vidno človeškemu očesu. Drugi pomislek, da bi bil prehod stanj manj neopazen in jasnejši za našo vizijo, je povečati hitrost motorja na več kot 1000 vrtljajev v minuti, časovna razporeditev stanj pa je nastavljena v vrstnem redu mikrosekund, da bi bilo sporočilo nemoteno vidno. Morda se sprašujete, kako bi sinhronizirali hitrost motorja s hitrostjo sporočila ali animacije? To dosežemo z nekaj preprostimi formulami. Če imate hitrost motorja 1000 vrt / min, če želite vedeti, kako dolgo traja enosmerni motor na vrtljaj v sekundah, potem:

Frekvenca = 1000 vrt / min / 60 = 16,67 Hz Obdobje = 1 / 16,67 Hz = 59,99 ms

Če poznate obdobje, veste, kako dolgo traja motor v obratu. Če želite natisniti sporočilo, kot je "Hello World", potem ko poznate obdobje vsakega zavoja, je samo vprašanje, kako veliko želite, da je sporočilo na zaslonu. Če želite natisniti želeno sporočilo v želeni velikosti, upoštevajte to pravilo:

Če na primer želite, da sporočilo zajema 40 % prostora na zaslonu, potem:

Velikost sporočila = (obdobje * 40 %) / 100 % = (59,99 ms * 40 %) / 100 % = 24 ms

To pomeni, da bo sporočilo prikazano v 24 ms za vsak zavoj, zato mora biti prazen prostor ali preostali prostor v zavoju (če po sporočilu ne prikazujete nekaj):

Prazen prostor = Obdobje - Velikost sporočila = 59,99 ms - 24 ms = 35,99 ms

Nazadnje, če morate prikazati sporočilo v tistih 40% obdobja, morate vedeti, koliko stanj in prehodov bo sporočilo potrebovalo za zapis pričakovanega sporočila, na primer, če ima sporočilo dvajset (20) prehodov, potem:

Obdobje posameznega stanja = velikost sporočila / 20 = 24 ms / 20 = 1,2 ms

Zato mora vsako stanje trajati 1,2 ms, da se sporočilo pravilno prikaže. Seveda bi opazili, da večina prvih modelov ni popolna, zato boste med fizičnim preskušanjem morda spremenili nekatere parametre, da izboljšate zasnovo. Za lažje prehode stanja smo uporabili makrocelice Dynamic Memory (DM). Dva od štirih blokov DM imata matrične povezave, tako da lahko komunicirajo z bloki zunaj podsistema ASM. Vsak DM Macrocell ima lahko do 6 različnih konfiguracij, ki jih je mogoče uporabiti v različnih stanjih. DM bloki se v tej zasnovi uporabljajo za sprožitev ASM za prehod iz enega stanja v drugega. Na primer stanje Silego [3] se dvakrat ponovi med prehodi; napisati mora začetek in konec velike črke "I" z istim vzorcem, vendar mora najprej iti v Silego [4], da napiše vzorec sredine velike črke "I", nato pa, ko Silego [3] se izvede drugič, preiti mora v stanje brez sporočila in nadaljevati preostale prehode. Kako je mogoče preprečiti, da bi Silego [3] padel v neskončno zanko s Silegom [4]? Preprosto je, nekaj LUT -ov je konfiguriranih kot japonke SR, ki Silegu [3] sporočajo, naj ne izbira Silega [4] vedno znova, ampak drugič izbere stanje brez sporočila. Uporaba natikačev SR za preprečevanje neskončnih zank pri ponavljanju katerega koli od stanj je odličen način za rešitev te težave in zahteva le 3-bitni LUT, konfiguriran, kot je prikazano na slikah 4 in 5. Ta postopek se zgodi hkrati z zaradi izhoda ASM Silego [3] preide v Silego [4], zato bo naslednjič, ko državni stroj izvede Silego [3], obveščen, da za nadaljevanje postopka izbere stanje brez sporočila.

Drug blok ASM, ki je bil v pomoč pri tem projektu, je računalniška makrocelica F (1). F (1) lahko izvede seznam posebnih ukazov za branje, shranjevanje, obdelavo in izpis želenih podatkov. Lahko manipulira z enim bitom naenkrat. V tem projektu je bil blok F (1) uporabljen za branje, zamik in izhodne bite za nadzor nekaterih LUT in omogočanje stanj (na primer v Silegu [1] za omogočanje Silega [2]).

Tabela na sliki 1 pojasnjuje, kako je vsaka od LED naslovljena na zatiče GPO GreenPAK; povezani fizični zatiči so naslovljeni iz izhodnega RAM -a ASM v matriki, kot je prikazano v tabeli 2.

Kot lahko vidite v tabeli 2, je bil vsak pin čipa naslovljen na različne izhode ASM; ASMOUTPUT 1 ima osem (8) izhodov, ki se vsi uporabljajo neposredno povezani z zunanjimi GPO, razen OUT 4. ASM OUTPUT 0 ima štiri (4) izhode, kjer sta OUT 0 in OUT 1 neposredno povezana s PIN 4 oziroma PIN 16; OUT 2 se uporablja za ponastavitev LUT5 in LUT6 v stanjih Silego [5] in Silego [9], nazadnje pa se OUT 3 uporablja za nastavitev LUT6 v Silego [4] in Silego [7]. ASM nRESET v tej zasnovi ni preklopljen, zato je prisiljen, da je HIGH povezan z VDD. Zgornja in Spodnja LED dioda sta bili dodani temu projektu za dodatno animacijo med prikazom “SILEGO”. Ta animacija je nekaj vrstic, ki sčasoma krožijo z gibanjem motorja. Te vrstice so bele LED, medtem ko so tiste, ki se uporabljajo za pisanje črk, rdeče. Za dosego te animacije smo uporabili GreenPAK -ov PGEN in CNT0. PGEN je generator vzorcev, ki na vsakem robu ure odda naslednji bit v svojem nizu. Obdobje obračanja motorja smo razdelili na 16 odsekov, rezultat pa je bil nastavljen na izhodno obdobje CNT0. Vzorec, programiran v PGEN, je prikazan na sliki 6.

3. korak: Rezultati

Rezultati
Rezultati

Za preizkušanje zasnove smo s tračnim kablom priključili vtičnico SLG46880 na tiskano vezje. Na vezje sta bili povezani dve zunanji plošči, od katerih je ena vsebovala regulator napetosti, druga pa niz LED. Za začetek prikazovanja sporočila za predstavitev smo vklopili logično vezje, ki ga nadzira GreenPAK, nato pa vklopili enosmerni motor. Za pravilno sinhronizacijo bo morda treba prilagoditi hitrost. Končni rezultat je prikazan na sliki 7. S to opombo o vlogi je tudi povezan videoposnetek.

Zaključek Zaslon zaznavanja vida, predstavljen v tem projektu, je bil zasnovan z uporabo Dialog GreenPAK SLG46880 kot glavnega krmilnika. Dokazal sem, da oblikovanje deluje tako, da smo z LED diodami napisali besedo "SILEGO". Nekatere izboljšave, ki bi jih lahko naredili pri oblikovanju, vključujejo:

● Uporaba več GreenPAK -ov za povečanje možnosti stanj za tiskanje daljšega sporočila ali animacije.

● Dodajte več LED diod v matriko. Za zmanjšanje mase vrtljive roke je lahko koristno uporabiti LED za površinsko namestitev namesto lukenj LED.

● Če vključite mikrokrmilnik, lahko spremenite prikazano sporočilo z ukazi I2C za ponovno konfiguracijo zasnove GreenPAK. To bi lahko uporabili za ustvarjanje digitalnega prikaza ure, ki posodobi številke za natančen prikaz časa

Priporočena: