Sisällysluettelo:

Tee oma POV -näyttö: 3 vaihetta
Tee oma POV -näyttö: 3 vaihetta

Video: Tee oma POV -näyttö: 3 vaihetta

Video: Tee oma POV -näyttö: 3 vaihetta
Video: KUITU - LOTETTU ₽200 000 / ROSKAKASSA: Hiljaisuus 2024, Heinäkuu
Anonim
Tee oma POV -näyttö
Tee oma POV -näyttö

Näköhavainto (POV) tai näkökyvyn pysyvyys (sillä on useita muunnelmia) on mielenkiintoinen ihmisen näköilmiö, joka ilmenee, kun kohteen visuaalinen havaitseminen ei lakkaa, vaikka esineen sijainti muuttuu. Ihmiset näkevät kuvan sekunnin murto -osien välein; nämä kuvat tallennetaan aivoihin hyvin lyhyeksi ajaksi (hetkellisesti). Esimerkki tästä ilmiöstä on, kun havaitset valolähteen, kuten LEDit tai lamput, jotka on kytketty päälle ja pyörivät ympäri. Visiomme on huijattu uskomaan, että pyörivä valo on itse asiassa jatkuva ympyrä, aivan kuten tason pyörivästä potkurista muodostettu jatkuva ympyrä. POV: ia on käytetty monien vuosien ajan, alkaen gifoskoopista, luomaan visioomme erilaisia illuusioita ja animaatioita; sitä käytetään usein viestien ja animaatioiden näyttämiseen näytöissä LED -valojen avulla, pyörittäen niitä 2D- tai 3D -muodossa erilaisille viesteille. Tämän sovellushuomautuksen tavoitteena on suunnitella ja osoittaa, miten Perception of Vision toimii kirjoittamalla sana”SILEGO” rakennettavaan näyttöön, ja antaa ideoita, jotka opastavat sinua monimutkaisempien mallien tekemisessä tulevaisuudessa. Tässä projektissa käytimme Dialog GreenPAK ™ SLG46880 -laitetta, jonka pistorasiasarja mahdollistaa tämän prototyypin helpon liittämisen kaikkiin ulkoisiin komponentteihin kaapeleilla. Suuremman GreenPAKin käyttäminen yleiskäyttöisten POV -näyttöjen suunnitteluun on erittäin edullista, koska sen vankat komponentit, kuten ASM -alijärjestelmät, mahdollistavat minkä tahansa kuvion tulostamisen näytölle. Tämä sovellus näyttää lopullisen tuloksen SLG46880: lla.

Seuraavassa kuvataan vaiheet, joita tarvitaan ymmärtämään, miten GreenPAK -siru on ohjelmoitu luomaan POV -näyttö. Jos haluat vain saada ohjelmoinnin tuloksen, lataa GreenPAK -ohjelmisto nähdäksesi jo valmistuneen GreenPAK -suunnittelutiedoston. Liitä GreenPAK -kehityssarja tietokoneeseen ja luo ohjelma POV -näyttöön napsauttamalla ohjelmaa.

Vaihe 1: Kaaviot

Kaaviot
Kaaviot

Tämä POV -näyttöesimerkki kohdistaa kuvassa 1 esitetyn 2D -tyypin, jossa on yksitoista LEDiä (joista jokaisessa on vastukset virran säätämiseksi), jotka on kytketty suoraan GreenPAK CMIC: n eri GPO -nastoihin. Piiri on prototyyppinen ja juotettu PCB -leipälevyihin. Näytössä käytettävä virtalähde on 9 V 10 A L1022 -alkaliparisto, joka on kytketty jännitesäätöpiiriin LM7805V: n avulla ja joka antaa 5 V: n. ohjauspiiri kiinnitetty räätälöityyn jalustaan. Tässä tapauksessa käytettiin 12 V: n moottoria, joka oli kytketty pääkytkimeen, ja valmiiksi säädettyä virtalähdettä, joka antaa eri jännitetasoja kiertokytkimen kautta, jolloin moottori voi pyöriä useilla nopeuksilla.

Vaihe 2: GreenPAK -suunnittelu

GreenPAK -muotoilu
GreenPAK -muotoilu
GreenPAK -muotoilu
GreenPAK -muotoilu
GreenPAK -muotoilu
GreenPAK -muotoilu
GreenPAK -muotoilu
GreenPAK -muotoilu

Kun suunnittelemme erilaisia viestejä ja animaatioita POV -näytölle GreenPAK: n avulla, meidän pitäisi tietää sekä sirun työkalut että rajoitukset. Tällä tavalla voimme luoda taitavan suunnittelun käyttämällä POV -näytön saavuttamiseksi mahdollisimman vähän elektroniikkakomponentteja. Tämä malli käyttää SLG46880 CMIC: n tarjoamia uusia etuja keskittyen asynkronisen tilakoneen osajärjestelmien komponenttiin. SLG46880 ASM -alijärjestelmätyökalu voi olla edullisempi kuin aiemmat GreenPAK ASM -työkalut sen uusien ominaisuuksien vuoksi, jotka mahdollistavat monimutkaisemmat tilakonemallit. Jotkut asiaankuuluvat ASM -osajärjestelmien sisäiset komponentit ovat:

● 12-tilainen ASM Macrocell

● Dynaaminen muisti (DM) Macrocell

● F (1) Laskennallinen makrosolu

● Valtion riippumattomat komponentit

Mitä enemmän tilakoneen makrosoluja siru sallii luoda ja konfiguroida, sitä enemmän suunnittelumahdollisuuksia. Kutakin kaksitoista tilaa käytettiin näytettävän sanan eri osien kirjoittamiseen kytkemällä päälle/pois eri LED -yhdistelmät, joista osa toistettiin kahdesti tai useammin, ja joissakin tapauksissa toistuvien tilojen ajoitus muuttuu, koska samaa mallia voitaisiin käyttää eri kirjaimille eri aikoina. Valtiot on rakennettu taulukkoon 1.

Taulukko 1 osoittaa, kuinka jokainen suunnittelun nykyinen tila liittyy sanan "SILEGO" kirjaimiin. Tämä vastaa kuvassa 2 esitettyä LED -kokoonpanoa.

Kuten voitte huomata, kaikki eri ajoituksella suoritettavat tilat saavuttavat sanan täydellisen rakenteen, Kuva 3 osoittaa, kuinka tilat on kytketty/kytketty toisiinsa. Kaikki tilan siirtymät ovat millisekuntien järjestyksessä, ja jokainen kuvan 2 kaavion sarake edustaa yhtä millisekuntia (1 ms). Jotkut tilat kestävät 3 ms, 4 ms ja toiset riittävän kauan videon esittelyssä käytetyn moottorin vähimmäisnopeudella noin 460 RPM.

On tärkeää ottaa huomioon ja mitata moottorin nopeus, jotta voidaan tietää ja laskea ajoitus yleiseen tarkoitukseen. Tällä tavalla viesti voidaan synkronoida moottorin nopeuden kanssa, jolloin ihmissilmä näkee sen. Toinen näkökohta, joka tekee tilojen siirtymisestä vähemmän huomaamattoman ja selkeämmän näkemyksemme kannalta, on nostaa moottorin nopeus yli 1000 r / min ja tilojen ajoitus asettaa mikrosekunneissa, jotta viesti voidaan nähdä sujuvasti. Saatat kysyä itseltäsi, kuinka synkronoit moottorin nopeuden viestin tai animaation nopeuden kanssa? Tämä saavutetaan muutamalla yksinkertaisella kaavalla. Jos moottorin nopeus on 1000 RPM, tiedät kuinka kauan tasavirtamoottori kestää kierrosta kohti sekunneissa:

Taajuus = 1000 RPM / 60 = 16,67 Hz Jakso = 1 / 16,67 Hz = 59,99 ms

Kun tiedät ajanjakson, tiedät kuinka kauan moottori kestää käännöksen. Jos haluat tulostaa "Hello World" -viestin, kun tiedät jokaisen kierroksen ajan, on vain kysymys siitä, kuinka suuren viestin haluat näyttää. Jos haluat tulostaa haluamasi viestin haluttuun kokoon, noudata tätä nyrkkisääntöä:

Jos haluat esimerkiksi, että viesti kattaa 40 % näytön tilasta, toimi seuraavasti:

Viestin koko = (jakso * 40 %) / 100 % = (59,99 ms * 40 %) / 100 % = 24 ms

Tämä tarkoittaa, että viesti näytetään 24 ms: n kullakin kierroksella, joten tyhjä tila tai muu tila vuorossa (jos et näytä jotain viestin jälkeen) on:

Tyhjä tila = kausi - viestin koko = 59,99 ms - 24 ms = 35,99 ms

Lopuksi, jos haluat näyttää viestin tuolla 40 prosentilla jaksosta, sinun on tiedettävä, kuinka monta tilaa ja siirtymää viesti tarvitsee odotetun viestin kirjoittamiseen, esimerkiksi jos viestissä on kaksikymmentä (20) siirtymää, sitten:

Yhden tilan jakso = viestin koko / 20 = 24 ms / 20 = 1,2 ms.

Joten jokaisen tilan pitäisi kestää 1,2 ms näyttääkseen viestin oikein. Tietenkin huomaat, että suurin osa ensimmäisistä malleista ei ole täydellisiä, joten saatat muuttaa joitain parametreja fyysisen testauksen aikana suunnittelun parantamiseksi. Käytimme dynaamisen muistin (DM) makrosoluja helpottaaksesi tilojen siirtymistä. Kahdella neljästä DM -lohkosta on matriisiyhteydet, jotta ne voivat olla vuorovaikutuksessa ASM -osajärjestelmän ulkopuolisten lohkojen kanssa. Jokaisessa DM Macrocellissa voi olla jopa 6 erilaista kokoonpanoa, joita voidaan käyttää eri tiloissa. DM -lohkoja käytetään tässä rakenteessa laukaisemaan ASM siirtymään tilasta toiseen. Esimerkiksi Silego [3] -tila toistetaan kahdesti siirtymien aikana; sen on kirjoitettava alku ja loppu isolla "I" -kirjeellä, jolla on sama kuvio, mutta sen on ensin mentävä Silegoon [4] ja kirjoitettava isojen kirjainten "I" keskikohta ja sitten Silego [3] suoritetaan toisen kerran, sen on siirryttävä No Message -tilaan ja jatkettava muita siirtymiä. Kuinka on mahdollista estää Silego [3] putoamasta äärettömään silmukkaan Silegon [4] kanssa? Se on yksinkertaista: jotkut LUT: t on konfiguroitu SR -varvastossuiksi, mikä kehottaa Silegoa [3] olemaan valitsematta Silegoa [4] yhä uudelleen ja uudelleen, mutta valitse Ei viestiä -tila toisen kerran. SR-varvastossujen käyttö loputtomien silmukoiden estämiseksi, kun jokin tiloista toistetaan, on hyvä tapa ratkaista tämä ongelma, ja se vaatii vain 3-bittisen LUT: n, joka on määritetty kuvan 4 ja kuvan 5 mukaisesti. Tämä prosessi tapahtuu samaan aikaan kuin ASM -lähtö saa Silegon [3] siirtymään Silegoon [4], joten seuraavalla kerralla, kun tilakone suorittaa Silegon [3], sitä kehotetaan jatkamaan prosessia valitsemalla Ei viestiä.

Toinen ASM -lohko, josta oli apua tässä projektissa, on F (1) Computational Macrocell. F (1) voi suorittaa luettelon tietyistä komennoista halutun datan lukemiseksi, tallentamiseksi, käsittelemiseksi ja tulostamiseksi. Se pystyy manipuloimaan 1 bittiä kerrallaan. Tässä projektissa F (1) -lohkoa käytettiin lukemaan, viivästyttämään ja tulostamaan bittejä joidenkin LUT: ien ohjaamiseen ja tilojen käyttöönottoon (kuten Silegossa [1] Silegon käyttöönotto [2]).

Kuvan 1 taulukossa selitetään, miten kukin LED -valo on osoitettu GreenPAKin GPO -nastoille; niihin liittyvät fyysiset nastat osoitetaan matriisin ASM Output RAM -muistista taulukon 2 mukaisesti.

Kuten taulukosta 2 näet, sirun jokainen nasta oli osoitettu erillisille ASM -lähdöille; ASMOUTPUT 1: ssä on kahdeksan (8) lähtöä, jotka kaikki on kytketty suoraan ulkoisiin GPO -laitteisiin paitsi OUT 4. ASM OUTPUT 0 sisältää neljä (4) lähtöä, joissa OUT 0 ja OUT 1 on kytketty suoraan PIN 4: een ja PIN 16: een; OUT 2: ta käytetään LUT5: n ja LUT6: n nollaamiseen Silegon [5] ja Silegon [9] tiloissa ja lopuksi OUT 3: lla asetetaan LUT6 Silegossa [4] ja Silegossa [7]. ASM nRESET ei ole kytketty tässä mallissa, joten se pakotetaan vain HIGH -liitäntään VDD: hen. Ylempi ja alempi LED lisättiin tähän projektiin animaation lisäämiseksi, kun "SILEGO" näkyy. Tämä animaatio kertoo muutamasta rivistä, jotka kiertävät ajan myötä moottorin liikkeen mukana. Nämä viivat ovat valkoisia LED -valoja, kun taas kirjainten kirjoittamiseen käytetyt ovat punaisia. Tämän animaation saavuttamiseksi käytimme GreenPAKin PGEN: ää ja CNT0: ta. PGEN on kuviogeneraattori, joka lähettää seuraavan bitin taulukossaan jokaisella kellon reunalla. Jaoimme moottorin kääntymisajan 16 osaan, ja tulos asetettiin CNT0 -tuotantoajalle. PGEN -ohjelmoitu kuvio on esitetty kuvassa 6.

Vaihe 3: Tulokset

Tulokset
Tulokset

Suunnittelun testaamiseksi liitimme SLG46880: n pistorasian piirilevyyn nauhakaapelilla. Piiriin liitettiin kaksi ulkoista levyä, joista toisessa oli jännitesäädin ja toisessa LED -ryhmä. Aloittaaksemme viestin näyttämisen esittelyä varten käynnistimme GreenPAK: n ohjaaman logiikkapiirin ja sitten DC -moottorin. Nopeutta on ehkä säädettävä asianmukaisen synkronoinnin vuoksi. Lopputulos on esitetty kuvassa 7. Tähän sovellushuomautukseen liittyy myös video.

Johtopäätös Tässä projektissa esitetty visio -näytön käsitys on suunniteltu käyttämällä Dialog GreenPAK SLG46880 -pääohjainta. Osoitimme, että suunnittelu toimii kirjoittamalla sana "SILEGO" LED -valojen avulla. Joitakin parannuksia, joita voidaan tehdä suunnitteluun, ovat:

● Useiden GreenPAK -tiedostojen käyttäminen tilojen lisäämiseksi mahdollisuuksien tulostamiseksi pidemmän viestin tai animaation.

● Lisää joukkoon LED -valoja. Pyörivän varren massan vähentämiseksi voi olla hyödyllistä käyttää pinta-asennettavia LED-valoja reiän LED-valojen sijasta.

● Mikro -ohjaimen avulla voit muuttaa näytettävää viestiä käyttämällä I2C -komentoja GreenPAK -rakenteen määrittämiseksi uudelleen. Tätä voitaisiin käyttää digitaalisen kellon näytön luomiseen, joka päivittää numerot näyttämään ajan tarkasti

Suositeltava: