Kazalo:
- 1. korak: Motivacija in problem
- 2. korak: Pridobivanje informacij o neobdelanih bitih iz USB -ja Basys
- 3. korak: Razčlenite podatke USB
- 4. korak: Prikaz poslikane slike prek VGA in urejanje risbe
- 5. korak: Uživajte v ustvarjanju
Video: Slikarski program VGA: 5 korakov
2024 Avtor: John Day | [email protected]. Nazadnje spremenjeno: 2024-01-30 12:07
Projekt: Adam Klein, Ian Strachan, Brandon Slater
Projekt, ki smo ga nameravali dokončati, je bil shranjevanje, razčlenjevanje in prikaz informacij iz miške USB v obliki programa za slikanje. Zamisel projekta je, da lahko kable miške in VGA priključite na ploščo Basys v svojih vgrajenih vratih, miško pa prikažete kot premični slikarski kvadrat na monitorju, pri levem in desnem kliku pa spreminjate različne barve rabljeno. V bistvu bi ustvarili gonilnik za uporabo miške z basys ploščo in imeli monitor za preverjanje funkcionalnosti. V resnici se je zgodilo ustvarjanje programa za risanje z basysovo ploščo kot vhodnim sistemom in polfunkcionalnim sistemom za zajem podatkov za miško.
V tem navodilu bomo razčlenili korake od vnosa z miško do izhoda vga.
1. korak: Motivacija in problem
Motivacija:
Glavna motivacija za naš projekt je bila ustvariti gonilnik miške za ploščo Basys3, ki bi jo bodoči študentje CPE 133 lahko uporabili za svoje končne projekte v prihodnosti. Vendar smo s to idejo naredili korak naprej z ustvarjanjem slikarskega programa, ki bi ga lahko zgradili tudi bodoči študentje.
Težava:
Težava, ki smo jo odkrili, je, da ni jasnega modula miške, pripravljenega za prenos in uporabo za ploščo Basys3. Za rešitev tega problema smo ga poskušali ustvariti sami. S tem smo si prizadevali ustvariti modul miške, ki bi bodočim študentom lažje implementiral vnos z miško v svoje projekte.
2. korak: Pridobivanje informacij o neobdelanih bitih iz USB -ja Basys
- Veliko tega, kar smo v tem projektu naredili za miško, je prišlo iz dokumentacije Basys3. Iz majhnega vodnika o vratih USB Basys v tem pdf -ju smo ugotovili, da ima plošča Basys vgrajeno uro za branje bitov s pravo hitrostjo iz naprav USB.
- V bistvu miška pošilja bite na usb, začenši iz stanja mirovanja, bere 32 bitov, ki predstavljajo stanje miške, položaj x in položaj y, na koncu pa se konča z drugim bitom v prostem teku. Za to vhodna komponenta miške uporablja premični register in 32 -bitni števec, kjer se premični register uporablja za shranjevanje 32 bitov dohodnih podatkov iz miške, 32 -bitni števec pa za štetje števila shranjenih bitov, ki omogočajo stanje registrirajte, da ponastavite in shranite naslednji niz 32 dohodnih bitov.
- Koda za premični register, 32 -bitni števec in bralnik podatkov je na voljo spodaj, kot tudi datoteka omejitev, prilagojena naši uporabi vrat USB kot vhoda
3. korak: Razčlenite podatke USB
- Po ustvarjanju vnosa miške v komponento usb je bil naslednji korak ustvarjanje bitov usb v vektorsko informacijsko komponento, s katero bi bili podatki, ki jih je prejela miška, berljivi za vga.
- Ta komponenta uporablja stroj stanja, ki sprejme niz bitov, ki jih vnos miške odda na usb, in se premika po stanjih glede na to, ali so bili vneseni novi biti, ki spreminjajo stanje in položaj miške.
- Tu je prikazan blokovni diagram za prva dva koraka projekta, dve datoteki vhdl pa sta za testiranje izvajanja miške z uporabo basys LED (preskus, ki žal ni bil nikoli opravljen) in za oddajanje bitov iz USB -ja priključek na vektorje hitrosti in položaja, ki jih lahko uporablja VGA.
- Slika poleg zgornjega blokovnega diagrama je majhen posnetek (Instructables nam ne omogoča prikaza celotne široke slike) bitnih informacij, ki smo jih našli v dokumentaciji basys za dokončanje tega koraka.
4. korak: Prikaz poslikane slike prek VGA in urejanje risbe
- Kabel VGA ima 14 bitov izhoda, 4 bite za vsako od treh barv in bit za vodoravno in navpično sinhronizacijo.
-
Drugi VGA je priložen modul VGA in deluje tako:
- Monitor je razdeljen na 40x30 blokov 16x16 slikovnih pik za zaslon ločljivosti 640x480, kot je prikazano na zgornji sliki. Modul izbere naslov bloka, ki predstavlja enega od 1200 blokov na monitorju. Naslov bloka je izbran z naslednjo enačbo: naslov = 40y + x
- Barvo predstavlja 12 -bitni signal, ki korelira z vrednostjo RRRRGGGGBBBB, ki obarva izbrani blok.
-
Naša kontrolna koda, VGAtest in VGAtestconst, deluje na naslednji način:
- Najprej nastavi izbrani blok na sredino monitorja.
- Barvo bloka določa 12 stikal na plošči, ki nastavljajo vrednost RRRRGGGGBBBB.
- Štiri smerne tipke na plošči spremenijo izbrani naslov. Na primer, če pritisnete desni gumb, boste naslovu dodali 1, pri čemer boste izbrali blok enega desno od prejšnjega bloka. Če pritisnete gumb navzdol, boste naslovu dodali 40 in izbrali blok pod prejšnjim blokom.
- Sredinski gumb se uporablja za nastavitev vseh barvnih vrednosti na 0, ko jih pritisnete. To naj bi se obnašalo kot gumb za brisanje, ki je uporabniku enostaven za uporabo, zato uporabniku za brisanje ni treba obrniti vsakega stikala na 0.
- Zadnja slika je blokovna shema za krmilnik. Je precej širok, saj vključuje komponente modula in se morda ne prikaže v celoti.
5. korak: Uživajte v ustvarjanju
Tu je povezan hiter časovni zamik zabave, ki jo lahko doživite s končnim projektom, tudi če uporabljate stikala in gumbe na plošči basys kot vhod.
Hvala za branje!
Priporočena:
Alternativno zapirajoči dihoptični modifikator stereoskopskega prenosa 32 [STM32F103C8T6+STMAV340 VGA Superimposer]: 6 korakov
Alternativno zapirajoči dihoptični modifikator stereoskopskega prenosa 32 [STM32F103C8T6+STMAV340 VGA Superimposer]: Nekaj časa sem delal na nasledniku prvotnega AODMoST. Nova naprava uporablja hitrejši in boljši 32-bitni mikrokrmilnik in hitrejše analogno video stikalo. AODMoST 32 omogoča delo z višjimi ločljivostmi in izvajanje novih funkcionalnih
Arduino napajalni slikarski robot: 11 korakov (s slikami)
Arduino motorni slikarski robot: Ste se kdaj vprašali, ali bi lahko robot ustvarjal očarajoče slike in umetnost? V tem projektu poskušam to uresničiti z robotom za slikanje Arduino. Cilj je, da bi robot lahko sam ustvarjal slike in uporabil
Alternativno zapirajoči dihoptični modifikator stereoskopskega prenosa [ATmega328P+HEF4053B VGA Superimposer]: 7 korakov
Alternativno zapirajoči dihoptični modifikator stereoskopskega prenosa [ATmega328P+HEF4053B VGA Superimposer]: Po mojih poskusih s kozarci s tekočimi kristali, ki so včasih zapirali oči (sem in tja), sem se odločil zgraditi nekaj bolj sofisticiranega in uporabnika tudi ne sili nositi PCB na čelu (ljudje se včasih lahko obnašajo
Zunanji VGA / GPU za prenosnike, ki uporabljajo EXP GDC Beast: 15 korakov (s slikami)
Zunanji VGA / GPU za prenosne računalnike z uporabo EXP GDC Beast: Hi Guys .. To je moja prva vadnica o navodilih. Angleščina ni moj prvi jezik, zato mi oprostite slovnične napake. To sem naredil na podlagi svojih izkušenj pri nadgradnji prenosnika. In ne bom vas dolgočasil z uvodom, saj ne vem
Arkadne igre in igralna palica ESP32 VGA: 6 korakov (s slikami)
ESP32 VGA Arkadne igre in igralna palica: V tem navodilu bom pokazal, kako reproducirati štiri arkadne igre - Tetris - Snake - Breakout - Bomber - z uporabo ESP32 z izhodom za monitor VGA. Ločljivost je 320 x 200 slikovnih pik, v 8 barvah. Pred tem sem naredil različico z