Talaan ng mga Nilalaman:

Gumawa ng Iyong Sariling Pagpapakita ng POV: 3 Mga Hakbang
Gumawa ng Iyong Sariling Pagpapakita ng POV: 3 Mga Hakbang

Video: Gumawa ng Iyong Sariling Pagpapakita ng POV: 3 Mga Hakbang

Video: Gumawa ng Iyong Sariling Pagpapakita ng POV: 3 Mga Hakbang
Video: Anong mga Hakbang ang Gagawin mo upang Maabot mo ang iyong mga pangarap sa Buhay 2024, Hulyo
Anonim
Gumawa ng Iyong Sariling POV Display
Gumawa ng Iyong Sariling POV Display

Ang Perception of Vision (POV) o Persistence of Vision (mayroon itong maraming pagkakaiba-iba) ay isang kagiliw-giliw na kababalaghan ng paningin ng tao na nangyayari kapag ang pang-unawa ng visual sa isang bagay ay hindi tumitigil sa kabila ng pagbabago ng posisyon ng bagay. Nakikita ng mga tao ang isang imahe sa mga agwat ng mga praksiyon ng segundo; ang mga imaheng ito ay nai-save sa utak para sa napakaikling oras (isang instant). Ang isang halimbawa ng hindi pangkaraniwang bagay na ito ay kapag napansin mo ang isang mapagkukunan ng pag-iilaw tulad ng LEDs o bombilya, nakabukas at umiikot sa paligid. Ang aming paningin ay linlangin sa paniniwalang ang umiikot na ilaw ay talagang isang tuluy-tuloy na bilog, tulad ng tuluy-tuloy na bilog na nabuo mula sa isang umiikot na tagabunsod sa isang eroplano. Ang POV ay ginagamit sa loob ng maraming taon, simula sa giphoscope, upang makagawa ng iba't ibang mga uri ng ilusyon at mga animasyon sa aming paningin; ito ay madalas na ginagamit upang ipakita ang mga mensahe at mga animasyon sa mga pagpapakita gamit ang LEDs, umiikot ang mga ito sa 2D o 3D para sa iba't ibang mga uri ng mga mensahe. Ang layunin ng tala ng app na ito ay upang magdisenyo at ipakita kung paano gumagana ang Perception of Vision sa pamamagitan ng pagsulat ng salitang "SILEGO" sa display na itatayo, at magbigay ng mga ideya upang gabayan ka sa proseso ng paggawa ng mas kumplikadong mga disenyo sa hinaharap. Para sa proyektong ito, gumamit kami ng isang Dialog GreenPAK ™ SLG46880, kasama ang socket kit na nagpapahintulot sa prototype na ito na maging madaling konektado sa lahat ng mga panlabas na sangkap na gumagamit ng mga cable. Ang paggamit ng mas malaking GreenPAK upang mag-disenyo ng pangkalahatang layunin ng POV Ipinapakita ay napaka-pakinabang dahil sa mga matatag na bahagi nito tulad ng ASM subsystems, na magpapahintulot sa iyo na mag-print ng anumang uri ng pattern sa display. Ang application na ito ay magpapakita ng isang pangwakas na resulta gamit ang isang SLG46880.

Sa ibaba inilarawan namin ang mga kinakailangang hakbang na maunawaan kung paano naka-program ang chip ng GreenPAK upang likhain ang POV Display. Gayunpaman, kung nais mo lamang makuha ang resulta ng pag-program, mag-download ng GreenPAK software upang matingnan ang natapos na GreenPAK Design File. I-plug ang GreenPAK Development Kit sa iyong computer at pindutin ang programa upang likhain ang pasadyang IC para sa POV Display.

Hakbang 1: Mga Skematika

Mga Skema
Mga Skema

Ang halimbawa ng POV Display na ito ay nagta-target ng isang uri ng 2D na ipinapakita sa Larawan 1, na mayroong isang hanay ng labing-isang LED (bawat isa na may resistors upang makontrol ang kasalukuyang) na direktang konektado sa iba't ibang mga pin ng GPO sa GreenPAK CMIC. Ang circuit ay prototyped at soldered sa PCB breadboard. Ang supply ng kuryente na ginamit para sa Display ay isang 9 V 10 A L1022 Alkaline Battery, na konektado sa isang voltage regulator circuit gamit ang LM7805V na naglalabas ng 5 V. Bilang karagdagan sa pagpapaikot ng display, kailangan ng isang DC Motor na may sapat na lakas upang ilipat ang lahat ng kontrolin ang circuitry na nakakabit sa na-customize na stand. Sa kasong ito ginamit ang isang 12 V motor, na konektado sa isang pangunahing switch, at isang off-the-shelf na kinokontrol na supply ng kuryente na naglalabas ng iba't ibang mga antas ng boltahe sa pamamagitan ng isang rotary switch, na nagpapahintulot sa motor na paikutin sa maraming bilis.

Hakbang 2: Disenyo ng GreenPAK

Disenyo ng GreenPAK
Disenyo ng GreenPAK
Disenyo ng GreenPAK
Disenyo ng GreenPAK
Disenyo ng GreenPAK
Disenyo ng GreenPAK
Disenyo ng GreenPAK
Disenyo ng GreenPAK

Kapag nagdidisenyo ng iba't ibang uri ng mga mensahe at animasyon para sa isang POV Display gamit ang GreenPAK, dapat nating malaman ang parehong mga tool at limitasyon ng maliit na tilad. Sa ganitong paraan makakalikha tayo ng isang bihasang disenyo, gamit ang pinakamaliit na mga sangkap ng electronics upang makamit ang pagpapakita ng POV. Gumagamit ang disenyo na ito ng mga bagong pakinabang na inaalok ng SLG46880 CMIC, na may pagtuon sa sangkap na Asynchronous State Machine Subsystems. Ang tool na SLG46880 ASM Subsystem ay maaaring maging mas kapaki-pakinabang kaysa sa nakaraang mga tool ng GreenPAK ASM dahil sa mga bagong tampok, na nagpapahintulot sa mas kumplikadong mga disenyo ng State Machine. Ang ilan sa mga nauugnay na panloob na sangkap ng ASM Subsystems ay ginamit ay:

● 12-States ASM Macrocell

● Dynamic Memory (DM) Macrocell

● F (1) Computation Macrocell

● Mga Independent Component ng Estado

Ang mas maraming mga makrocell ng makina ng estado ay pinapayagan ng maliit na tilad na lumikha at mag-configure, mas maraming mga posibilidad ng disenyo. Ang bawat isa sa labindalawang estado ay ginamit upang magsulat ng magkakaibang mga praksiyon ng salitang ipapakita, na binubuksan / naka-on ang magkakaibang mga kumbinasyon ng mga LED, na ang ilan ay naulit ulit nang dalawang beses o higit pang beses, at sa ilang mga kaso ay nabago ang paulit-ulit na tiyempo ng mga estado, sapagkat ang parehong pattern ay maaaring magamit para sa iba't ibang mga titik sa magkakaibang oras. Ang mga estado ay nakabalangkas sa Talahanayan 1.

Ipinapakita ng Talahanayan 1 kung paano nauugnay ang bawat isa sa mga umiiral na estado sa disenyo sa mga titik sa salitang "SILEGO". Nauugnay ito sa pag-configure ng LED na ipinakita sa Larawan 2.

Tulad ng napapansin mo, lahat ng mga estado na magkakasama na naisakatuparan sa iba't ibang oras ay nakakamit ang kumpletong pagbuo ng salita, ipinapakita ng Larawan 3 kung paano nakakonekta / nauugnay ang mga estado. Ang mga paglilipat ng lahat ng estado ay nasa pagkakasunud-sunod ng mga milliseconds, at ang bawat isa sa mga haligi sa diagram ng Larawan 2 ay kumakatawan sa isang millisecond (1 ms). Ang ilan sa mga estado ay huling 3 ms, 4 ms at iba pa, sapat na mahaba sa pinakamaliit na bilis ng motor na ginamit para sa pagpapakita ng video sa humigit-kumulang 460 RPM.

Mahalagang isaalang-alang at sukatin ang bilis ng motor na malaman at kalkulahin ang tiyempo sa ageneral-purpose design. Sa ganitong paraan ang mensahe ay maaaring mai-sync sa bilis ng motor, sa gayong paraan makikita ng mata ng tao. Ang isa pang pagsasaalang-alang upang gawing hindi gaanong mahahalata ang paglipat ng mga estado, at mas malinaw sa aming paningin, ay upang taasan ang bilis ng motor sa higit sa 1000 RPM, at ang oras ng mga estado na itinakda sa pagkakasunud-sunod ng mga microsecond upang ang mensahe ay maaaring makita nang maayos. Maaari mong tanungin ang iyong sarili, paano mo maikakasabay ang bilis ng motor sa bilis ng mensahe o animasyon? Ito ay nagagawa ng ilang simpleng mga formula. Kung mayroon kang isang bilis ng motor na 1000 RPM, upang malaman kung gaano katagal ang DC motor sa bawat rebolusyon sa mga segundo, kung gayon:

Dalas = 1000 RPM / 60 = 16.67 Hz Panahon = 1 / 16.67 Hz = 59.99 ms

Sa pamamagitan ng pag-alam sa panahon, alam mo kung gaano katagal ang motor sa isang pagliko. Kung nais mong mag-print ng isang mensahe tulad ng "Hello World", sa sandaling alam mo ang panahon ng bawat pagliko, mahalaga lamang kung gaano kalaki ang nais mong ipakita ang mensahe. Upang mai-print ang nais na mensahe sa nais na laki, sundin ang panuntunang ito ng hinlalaki:

Kung, halimbawa, nais mong saklaw ng mensahe ang 40% ng espasyo ng display, kung gayon:

Laki ng Mensahe = (Panahon * 40%) / 100% = (59.99 ms * 40%) / 100% = 24 ms

Nangangahulugan iyon na ang mensahe ay ipapakita sa 24 ms para sa bawat pagliko, kaya ang blangko na puwang o ang natitirang puwang sa isang pagliko (kung hindi ka nagpapakita ng isang bagay pagkatapos ng mensahe), dapat ay:

Blangkong Puwang = Panahon - Laki ng Mensahe = 59.99 ms - 24 ms = 35.99 ms

Panghuli, kung kailangan mong ipakita ang mensahe sa 40% ng panahon, kailangan mong malaman kung ilang mga estado at paglipat ang mensahe na kakailanganin upang isulat ang inaasahang mensahe, halimbawa kung ang mensahe ay mayroong dalawampu (20) mga paglilipat, kung gayon:

Single Panahon ng Estado = Laki ng Mensahe / 20 = 24 ms / 20 = 1.2 ms.

Kaya't ang bawat estado ay dapat tumagal ng 1.2 ms upang maipakita nang tama ang mensahe. Siyempre, mapapansin mo na ang karamihan sa mga unang disenyo ay hindi perpekto, kaya maaaring binago mo ang ilang mga parameter sa pisikal na pagsubok upang mapabuti ang disenyo. Gumamit kami ng Dynamic Memory (DM) Macrocells upang mapadali ang mga paglipat ng estado. Ang dalawa sa apat na mga bloke ng DM ay may mga koneksyon sa matrix upang maaari silang makipag-ugnay sa mga bloke sa labas ng ASM subsystem. Ang bawat DM Macrocell ay maaaring magkaroon ng hanggang sa 6 na magkakaibang mga pagsasaayos na maaaring magamit sa iba't ibang mga estado. Ginagamit ang mga bloke ng DM sa disenyo na ito upang ma-trigger ang ASM sa paglipat mula sa isang estado patungo sa isa pa. Halimbawa ang estado ng Silego [3] ay paulit-ulit na dalawang beses sa paglipat; kailangang isulat ang simula at ang wakas ng malalaking titik na "I" na may parehong pattern, ngunit kailangan muna itong pumunta sa Silego [4] upang isulat ang pattern ng gitna ng malalaking "I", at pagkatapos ay kapag ang Silego [3] ay naisakatuparan sa pangalawang pagkakataon, kailangan itong pumunta sa Walang mensahe ng estado, na nagpapatuloy sa natitirang mga pagbabago. Paano posible upang maiwasan ang Silego [3] na mahulog sa isang walang katapusang loop na may Silego [4]? Ito ay simple, may ilang mga LUT na na-configure bilang SR Flip Flops na nagsasabi sa Silego [3] na huwag piliin ang Silego [4] nang paulit-ulit, ngunit piliin ang Walang mensahe sa estado sa pangalawang pagkakataon. Ang paggamit ng SR Flip Flops upang maiwasan ang walang katapusang mga loop kapag ang alinman sa mga estado ay paulit-ulit ay isang mahusay na paraan upang malutas ang problemang ito, at nangangailangan lamang ng isang 3-bit na LUT na naka-configure tulad ng ipinakita sa Larawan 4 at Larawan 5. Ang prosesong ito ay nangyayari nang sabay sa ang output ng ASM ay gumagawa ng Silego [3] upang pumunta sa Silego [4], kaya sa susunod na ipatupad ng machine ng estado ang Silego [3], aabisuhan itong pumili ng Walang mensahe ng estado upang ipagpatuloy ang proseso.

Ang isa pang bloke ng ASM na kapaki-pakinabang para sa proyektong ito ay ang F (1) Computational Macrocell. Ang F (1) ay maaaring magawa ang isang listahan ng mga tukoy na utos upang mabasa, maiimbak, maproseso at output na nais na data. Nagagawa nitong manipulahin ang 1 bit nang paisa-isa. Sa proyektong ito ang F (1) block ay ginamit upang basahin, antalahin at mga output bit upang makontrol ang ilang mga LUT at paganahin ang mga estado (tulad ng sa Silego [1] upang paganahin ang Silego [2]).

Ipinapaliwanag ng talahanayan sa Larawan 1 kung paano nakatuon ang bawat isa sa mga LED sa mga pin ng GPO ng theGreenPAK; ang mga nauugnay na pisikal na pin ay nakatuon mula sa ASM Output RAM sa matrix, tulad ng ipinakita sa Talahanayan 2.

Tulad ng nakikita mo sa Talahanayan 2, ang bawat pin ng maliit na tilad ay nakatuon sa natatanging mga output ng ASM; Ang ASMOUTPUT 1 ay mayroong walong (8) output na ginagamit nang direktang konektado sa mga panlabas na GPO maliban sa OUT 4. Ang ASM OUTPUT 0 ay mayroong apat (4) na output kung saan ang OUT 0 at OUT 1 ay direktang konektado sa PIN 4 at PIN 16 ayon sa pagkakabanggit; Ginagamit ang OUT 2 upang i-reset ang LUT5 at LUT6 sa Silego [5] at ang Silego [9] na estado at sa wakas ang OUT 3 ay ginagamit upang itakda ang LUT6 sa Silego [4] at Silego [7]. Ang ASM nRESET ay hindi na-toggle sa disenyo na ito kaya't napipilitan lamang ito sa TAAS na konektado sa VDD. Ang mga Mataas at Mababang LED ay idinagdag sa proyektong ito upang makagawa ng karagdagang animasidad habang ipinapakita ang "SILEGO". Ang animasyon na ito ay tungkol sa ilang mga linya na umiikot sa paglipas ng panahon sa paggalaw ng motor. Ang mga linya na ito ay puting LEDs, habang ang mga ginagamit upang isulat ang mga titik ay pula. Upang makamit ang animasyong ito, ginamit namin ang GreenPAK's PGEN at CNT0. Ang PGEN ay isang pattern generator na maglalabas ng susunod na bit sa kanyang hanay sa bawat gilid ng orasan. Hinati namin ang panahon ng turn ng motor sa 16 na seksyon, at ang resulta ay nakatakda sa panahon ng output ng CNT0. Ang pattern na nai-program sa PGEN ay ipinapakita sa Larawan 6.

Hakbang 3: Mga Resulta

Mga Resulta
Mga Resulta

Upang subukan ang disenyo, kinonekta namin ang socket ng SLG46880 sa PCB gamit ang isang ribbon cable. Dalawang panlabas na board ang nakakonekta sa circuit, isa sa mga ito ang naglalaman ng boltahe regulator at ang isa pa na naglalaman ng LED array. Upang simulang ipakita ang mensahe para sa pagpapakita, binuksan namin ang circuit ng lohika na kinokontrol ng GreenPAK, at pagkatapos ay binuksan ang DC motor. Ang bilis ay maaaring kailanganin upang ayusin para sa wastong pagsabay. Ang huling resulta ay ipinapakita sa Larawan 7. Mayroon ding nauugnay na video kasama ang tala ng application na ito.

Konklusyon Ang Perception of Vision Display na ipinakita sa proyektong ito ay dinisenyo gamit ang isang Dialog GreenPAK SLG46880 bilang pangunahing tagontrol. Ipinakita namin na gumagana ang disenyo sa pamamagitan ng pagsulat ng salitang "SILEGO" gamit ang mga LED. Ang ilang mga pagpapabuti na maaaring gawin sa disenyo ay may kasamang:

● Paggamit ng maraming mga GreenPAK upang madagdagan ang dami ng mga posibilidad ng estado na mai-print ang isang mas mahabang mensahe o animasyon.

● Magdagdag ng higit pang mga LED sa array. Maaaring maging kapaki-pakinabang ang paggamit ng mga LED na pang-mount sa halip na mga throughhole LED upang mabawasan ang masa ng umiikot na braso.

● Ang pagsasama ng isang microcontroller ay maaaring payagan kang baguhin ang ipinakitang mensahe sa pamamagitan ng paggamit ng mga utos ng I2C upang muling ayusin ang disenyo ng GreenPAK. Maaari itong magamit upang lumikha ng isang digital na display ng orasan na nag-a-update ng mga digit upang maipakita nang wasto ang oras

Inirerekumendang: