Sadržaj:
- Korak 1: Motivacija i problem
- Korak 2: Dobivanje sirovih bit informacija sa USB -a Basys
- Korak 3: Raščlanjivanje USB informacija
- Korak 4: Prikaz obojene slike preko VGA -a i uređivanje onoga što se crta
- Korak 5: Uživajte u stvaranju
Video: VGA program slikanja: 5 koraka
2024 Autor: John Day | [email protected]. Zadnja izmjena: 2024-01-30 08:08
Projekat: Adam Klein, Ian Strachan, Brandon Slater
Projekt koji smo namjeravali dovršiti bio je pohranjivanje, raščlanjivanje i prikaz informacija s USB miša u obliku programa za slikanje. Ideja koja stoji iza projekta je mogućnost uključivanja miša i VGA kabela u Basys ploču u svojim ugrađenim priključcima, a miš prikazati kao pomični kvadrat za slikanje na monitoru, mijenjajući različite boje kada se pritisne lijevi i desni klik polovno. U osnovi, stvarali bismo upravljački program za korištenje miša s basys pločom i imali bismo monitor za provjeru funkcionalnosti. Ono što se na kraju zaista dogodilo je stvaranje programa za crtanje sa basys pločom kao ulaznim sistemom i polufunkcionalnim sistemom za hvatanje podataka za miša.
U ovom uputstvu ćemo raščlaniti korake od unosa mišem do vga izlaza.
Korak 1: Motivacija i problem
Motivacija:
Glavni motiv našeg projekta bio je stvoriti upravljački program miša za Basys3 ploču koji će budući studenti CPE 133 moći koristiti za svoje završne projekte u budućnosti. Međutim, mi smo ovu ideju učinili korak dalje stvarajući program slikanja, od kojeg bi se mogli nadograditi i budući studenti.
Problem:
Problem koji smo otkrili je da ne postoji jasan modul miša spreman za preuzimanje i upotrebu za Basys3 ploču. Da bismo riješili ovaj problem, pokušali smo ga sami stvoriti. Time smo nastojali stvoriti modul miša koji će omogućiti budućim studentima da lakše implementiraju unos mišem u svoje projekte.
Korak 2: Dobivanje sirovih bit informacija sa USB -a Basys
- Većina onoga što smo učinili za miša u ovom projektu dolazi iz Basys3 dokumentacije. Iz malog vodiča o Basys USB priključku u tom pdf -u otkrili smo da Basysova ploča ima ugrađeni sat za čitanje bitova odgovarajućom brzinom s USB uređaja.
- U osnovi, miš šalje bitove na USB počevši od stanja mirovanja, čita 32 bita koji predstavljaju status miša, položaj x i poziciju y, i na kraju završava drugim neaktivnim bitom. Da bi to učinila, komponenta za unos mišem koristi registar pomaka i 32 -bitni brojač gdje se registar pomaka koristi za spremanje 32 bita dolaznih podataka s miša, a 32 -bitni brojač se koristi za brojanje broja bitova koji se pohranjuju dopuštajući stanje registrirajte se za poništavanje i spremanje sljedećeg skupa od 32 dolazna bita.
- Kod za registar pomaka, 32 -bitni brojač i čitač podataka možete preuzeti ispod, kao i datoteku ograničenja prilagođenu našoj upotrebi USB priključka kao ulaza
Korak 3: Raščlanjivanje USB informacija
- Nakon kreiranja unosa mišem u usb komponentu, sljedeći korak je bio stvaranje usb bitova u komponenti vektorske informacije koja bi podatke primljene mišem učinila čitljivima za vga.
- Ova komponenta koristi mašinu stanja koja prima skup bitova koje izlaz miša unosi na usb i kreće se kroz stanja na osnovu toga da li su uneti novi bitovi koji mijenjaju status i položaj miša.
- Ovdje je prikazan blok dijagram za prva dva koraka projekta, a dvije vhdl datoteke služe za testiranje implementacije miša pomoću basys LED -ova (test koji nažalost nikada nije prošao) i za prebacivanje bitova s USB -a priključak na vektore brzine i položaja koje VGA može koristiti.
- Slika pored blok dijagrama iznad je mali snimak (Instructables nam ne dopušta prikaz cijele široke slike) bit informacija koje smo pronašli u basys dokumentaciji za dovršavanje ovog koraka.
Korak 4: Prikaz obojene slike preko VGA -a i uređivanje onoga što se crta
- VGA kabel ima 14 bita izlaza, 4 bita za svaku od tri boje i bit za vodoravnu i okomitu sinkronizaciju.
-
OtherVGA je isporučeni VGA modul i funkcionira na sljedeći način:
- Monitor je podeljen na blokove 40x30 od 16x16 piksela za ekran rezolucije 640x480 kao što se vidi na gornjoj slici. Modul odabire adresu bloka koja predstavlja jedan od 1200 blokova na monitoru. Adresa bloka se bira sljedećom jednadžbom: adresa = 40y + x
- Boja je predstavljena 12 -bitnim signalom koji korelira sa vrijednošću RRRRGGGGBBBB koja boji odabrani blok.
-
Naš kontrolni kod, VGAtest i VGAtestconst, funkcionira na sljedeći način:
- Prvo postavlja odabrani blok u središte monitora.
- Boja bloka se određuje pomoću 12 prekidača na ploči, postavljajući vrijednost RRRRGGGGBGBBB.
- Četiri tipke za usmjeravanje na ploči mijenjaju odabranu adresu. Na primjer, pritiskom desnog gumba dodat ćete 1 adresi, odabirom bloka jedan desno od prethodnog bloka. Pritiskom na tipku dolje adresi ćete dodati 40, odabirom bloka ispod prethodnog bloka.
- Središnje dugme se koristi za postavljanje svih vrijednosti boje na 0 kada se pritisne. Ovo se ponaša kao gumb za brisanje koji je korisniku jednostavan za upotrebu, tako da korisnik ne mora prebacivati svaki prekidač na 0 da bi izbrisao.
- Posljednja slika je blok dijagram kontrolera. Prilično je širok jer uključuje komponente modula i možda se neće prikazati u potpunosti.
Korak 5: Uživajte u stvaranju
Ovdje je povezan brzi ispad zabave koju možete imati s konačnim projektom, čak i samo pomoću prekidača i gumba na basys ploči kao ulaza.
Hvala na čitanju!
Preporučuje se:
Naizmjenično isključujući dihoptički modifikator stereoskopskog prijenosa 32 [STM32F103C8T6+STMAV340 VGA Superimposer]: 6 koraka
Naizmjenično isključujući dihoptički modifikator stereoskopskog prijenosa 32 [STM32F103C8T6+STMAV340 VGA Superimposer]: Već neko vrijeme radim na nasljedniku originalnog AODMoST -a. Novi uređaj koristi brži i bolji 32-bitni mikrokontroler i brži analogni video prekidač. Omogućava AODMoST -u 32 da radi s većim rezolucijama i implementira nove funkcionalne
Naizmjenično isključujući dihoptički modifikator stereoskopskog prijenosa [ATmega328P+HEF4053B VGA Superimposer]: 7 koraka
Naizmjenično zaklanjajući dihoptički modifikator stereoskopskog prijenosa [ATmega328P+HEF4053B VGA Superimposer]: Nakon mojih eksperimenata s naočarima od tekućih kristala koji su koristili za zaklanjanje očiju (tu i tamo), odlučio sam izgraditi nešto malo sofisticiranije i također ne tjera korisnika da nosite PCB na svom čelu (ljudi se ponekad mogu ponašati
Vanjski VGA / GPU za prijenosna računala koja koriste EXP GDC Beast: 15 koraka (sa slikama)
Vanjski VGA / GPU za prijenosna računala koristeći EXP GDC Beast: Zdravo momci .. Ovo je moj prvi vodič o instrukcijama. Engleski mi nije prvi jezik pa mi oprostite zbog gramatičkih grešaka. Ovo sam napravio na osnovu svog iskustva u nadogradnji laptopa. I neću vam dosaditi sa dugim predstavljanjem jer ne znam
Početak svjetlosnog slikanja (bez Photoshopa): 5 koraka (sa slikama)
Početak slikanja svjetlom (bez Photoshopa): Nedavno sam kupio novi fotoaparat i istraživao neke njegove karakteristike kada sam na internetu naišao na svjetlosno slikanje ili fotografiju s dugom ekspozicijom. Većina nas će vidjeti osnovni oblik slikanja svjetlom sa fotografijom u gradu s cestom
ESP32 VGA Arkadne igre i joystick: 6 koraka (sa slikama)
ESP32 VGA arkadne igre i joystick: U ovom uputstvu pokazat ću kako reproducirati četiri arkadne igre - Tetris - Zmija - Proboj - Bombaš - koristeći ESP32, s izlazom za VGA monitor. Rezolucija je 320 x 200 piksela, u 8 boja. Ranije sam radio verziju sa