Sisukord:
- Samm: motivatsioon ja probleem
- 2. samm: toores bititeabe hankimine Basys USB -lt
- 3. samm: USB -teabe sõelumine
- Samm: maalitud pildi kuvamine VGA kaudu ja joonistamise muutmine
- Samm: nautige loomingut
Video: VGA maalimisprogramm: 5 sammu
2024 Autor: John Day | [email protected]. Viimati modifitseeritud: 2024-01-30 08:49
Projekti autorid: Adam Klein, Ian Strachan, Brandon Slater
Projekt, mille kavatsesime lõpule viia, oli USB -hiirelt teabe salvestamine, sõelumine ja kuvamine maalimisprogrammi kujul. Projekti idee seisneb selles, et oleks võimalik ühendada hiire- ja VGA-kaablid oma sisseehitatud portides olevasse Basys-tahvlisse ning lasta hiir kuvada ekraanil liigutatava maaliruuduna, muutes vasak- ja paremklõpsu korral erinevaid värve. kasutatud. Sisuliselt looksime draiveri hiire kasutamiseks bassiplaadiga ja monitori funktsionaalsuse kontrollimiseks. Mis tegelikult juhtus, oli joonistusprogrammi loomine, mille sisendsüsteemiks oli bassiplaat ja hiire jaoks poolfunktsionaalne andmete kogumise süsteem.
Selles juhendis jagame sammud hiire sisendist vga väljundini.
Samm: motivatsioon ja probleem
Motivatsioon:
Meie projekti peamine motivatsioon oli luua hiire draiver Basys3 tahvlile, mida tulevased CPE 133 õpilased saaksid tulevikus oma lõputööde jaoks kasutada. Siiski viisime selle idee sammukese kaugemale, luues maalimisprogrammi, mille võiksid üles ehitada ka tulevased õpilased.
Probleem:
Meie avastatud probleem oli see, et Basys3 tahvli jaoks pole allalaadimiseks ja kasutamiseks valmis selget hiiremoodulit. Selle probleemi lahendamiseks proovisime seda ise luua. Seda tehes püüdsime luua hiiremooduli, mis võimaldaks tulevastel õpilastel hõlpsamini oma projektides hiire sisendit rakendada.
2. samm: toores bititeabe hankimine Basys USB -lt
- Suur osa sellest, mida me selles projektis hiire heaks tegime, pärines Basys3 dokumentatsioonist. Selle pdf -i Basys USB -porti väikesest juhendist leidsime, et Basys -plaadil on sisseehitatud kell, mis võimaldab USB -seadmetelt õige kiirusega bitte lugeda.
- Põhimõtteliselt saadab hiir jõudeolekust bitid USB -le, loeb 32 bitti, mis tähistavad hiire olekut, x -positsiooni ja y -positsiooni, ning lõpeb lõpuks teise tühikäigu bitiga. Selleks kasutab hiire sisendkomponent nihkeregistrit ja 32 -bitist loendurit, kus nihkeregistrit kasutatakse hiirest saabuvate andmete 32 bitti salvestamiseks ja 32 -bitist loendurit kasutatakse olekut võimaldavate salvestatud bittide arvu loendamiseks registreeruge, et lähtestada ja salvestada järgmine 32 sissetuleva biti komplekt.
- Nihkeregistri, 32 -bitise loenduri ja andmelugeja kood on allalaaditav allpool, samuti piirangute fail, mis on kohandatud meie sisendina USB -pordi kasutamiseks
3. samm: USB -teabe sõelumine
- Pärast hiire sisendi loomist usb -komponendile oli järgmine samm luua usb -bitid vektori infokomponendiks, mis muudaks hiirega saadud andmed vga jaoks loetavaks.
- See komponent kasutab olekumasinat, mis võtab hiire sisendi poolt väljastatud bittide komplekti USB -sse ja liigub olekutes vastavalt sellele, kas hiire olekut ja asukohta muutvad bitid sisestati.
- Siin on näidatud projekti esimese kahe etapi plokkskeem ja kaks vhdl -faili on mõeldud hiire rakendamise testimiseks bass -LED -ide abil (test, mida kahjuks kunagi ei läbitud) ja bitivoo USB -st ülekandmiseks pordist kiiruse ja positsiooni vektorite jaoks, mida VGA saab kasutada.
- Ülaltoodud plokkskeemi kõrval olev pilt on väike hetktõmmis (Instructables ei luba meil kuvada täislaiuspilti) bititeabest, mille leidsime selle toimingu lõpetamiseks põhidokumentatsioonist.
Samm: maalitud pildi kuvamine VGA kaudu ja joonistamise muutmine
- VGA -kaablil on 14 bitti väljundit, 4 bitti iga kolme värvi jaoks ja natuke horisontaalseks ja vertikaalseks sünkroonimiseks.
-
VGA on kaasasolev VGA -moodul ja see toimib järgmiselt.
- Ekraan on eraldatud 640x480 ekraani jaoks 40x30 plokiks 16x16 pikslit, nagu ülaltoodud pildil näha. Moodul valib ploki aadressi, mis esindab ühte monitori 1200 plokist. Ploki aadress valitakse järgmise võrrandi abil: aadress = 40y + x
- Värvi tähistab 12 -bitine signaal, mis korreleerub valitud plokki värviva RRRRGGGGBBBB väärtusega.
-
Meie juhtimiskood VGAtest ja VGAtestconst toimib järgmiselt.
- Esmalt seab see valitud ploki monitori keskele.
- Ploki värvi määravad 12 lülitit plaadil, seadistades RRRRGGGGBBBB väärtuse.
- Tahvli neli suunanuppu muudavad valitud aadressi. Näiteks parempoolse nupu vajutamine lisab aadressile 1, valides ploki ühe eelmise ploki paremale. Alla vajutades lisatakse aadressile 40, valides ploki eelmise ploki all.
- Keskmist nuppu kasutatakse kõigi värviväärtuste seadmiseks nupule vajutamisel 0 -le. Selle eesmärk on toimida kustutusnupuna, mida kasutajal on lihtne kasutada, nii et kasutaja ei pea kustutamiseks iga lülitit nulli keerama.
- Viimane pilt on kontrolleri plokkskeem. See on üsna lai, kuna see sisaldab mooduli komponente ja seda ei pruugita täielikult kuvada.
Samm: nautige loomingut
Siin on lingitud kiire ajavahemik lõbust, mida saate lõppprojektiga nautida, isegi kui kasutate sisendina bassiplaadi lüliteid ja nuppe.
Täname lugemise eest!
Soovitan:
Stereoskoopilise ülekande dikoptiline modifikaator 32 [STM32F103C8T6+STMAV340 VGA superimposer]: 6 sammu
Alternatiivselt, välja arvatud stereoskoopilise ülekande dikoptiline modifikaator 32 [STM32F103C8T6+STMAV340 VGA Superimposer]: Olen mõnda aega töötanud algse AODMoST -i järglase kallal. Uus seade kasutab kiiremat ja paremat 32-bitist mikrokontrollerit ning kiiremat analoogvideolülitit. See võimaldab AODMoST 32 -l töötada kõrgema eraldusvõimega ja rakendada uusi funktsionaalseid
Stereoskoopilise ülekande dikoptiline modifikaator [ATmega328P+HEF4053B VGA superpositsioon]: 7 sammu
Alternatiivselt ka stereoskoopilise ülekande dikoptiline modifikaator [ATmega328P+HEF4053B VGA superimposer]: Pärast katsetusi vedelkristallklaasidega, mida kasutati silmade sulgemiseks (siin ja seal), otsustasin ehitada midagi keerukamat ega kasutajat ka sundima kanda PCB -d laubale (inimesed võivad mõnikord käituda
Väline VGA / GPU sülearvutitele, kasutades EXP GDC Beast: 15 sammu (koos piltidega)
Väline VGA / GPU sülearvutitele, kasutades EXP GDC Beast: Tere poisid .. See on minu esimene juhend juhendite kohta. Inglise keel pole mu esimene keel, seega palun andestage minu grammatilised vead. Tegin selle oma sülearvuti uuendamise kogemuse põhjal. Ja ma ei tüüta teid pika sissejuhatusega, sest ma ei tea
ESP32 VGA arkaadmängud ja juhtkang: 6 sammu (koos piltidega)
ESP32 VGA arkaadmängud ja juhtnupp: Selles juhendatavas näitan, kuidas reprodutseerida nelja arkaadilaadset mängu - Tetris - Snake - Breakout - Bomber - kasutades ESP32 ja VGA -monitori väljundit. Eraldusvõime on 320 x 200 pikslit, 8 värvi. Olen varem teinud versiooni
Arduino Basic PC koos VGA väljundiga: 5 sammu (piltidega)
Arduino Basic PC koos VGA-väljundiga: oma eelmises juhendis olen näidanud, kuidas ehitada kahe Arduino abil retro-8-bitine arvuti, mis töötab BASIC-iga ja mille TV-ekraani väljundsignaal on mustvalge. Nüüd näitan, kuidas ehitada sama arvutit, kuid väljundsignaal on sisse lülitatud