Obsah:
- Krok 1: Motivácia a problém
- Krok 2: Získanie surových bitových informácií zo základne USB
- Krok 3: Analyzujte informácie o USB
- Krok 4: Zobrazenie namaľovaného obrázku cez VGA a úprava nakresleného obrázku
- Krok 5: Užite si svoje stvorenie
Video: Program maľovania VGA: 5 krokov
2024 Autor: John Day | [email protected]. Naposledy zmenené: 2024-01-30 12:00
Projekt: Adam Klein, Ian Strachan, Brandon Slater
Projekt, ktorý sme sa rozhodli dokončiť, bol ukladať, analyzovať a zobrazovať informácie z myši USB vo forme programu na maľovanie. Myšlienkou projektu je umožniť zapojiť káble myši a VGA do dosky Basys v jej vstavaných portoch a nechať myš zobraziť ako pohyblivý maliarsky štvorec na monitore a meniť rôzne farby pri kliknutí ľavým a pravým tlačidlom myši. použité. V zásade by sme vytvorili ovládač na používanie myši so základnou doskou a overenie funkčnosti by mal mať monitor. To, čo sa nakoniec stalo, bolo vytvorenie programu na kreslenie so základnou doskou ako vstupným systémom a polofunkčným systémom na zachytávanie údajov pre myš.
V tomto návode rozoberieme kroky od vstupu myši po výstup vga.
Krok 1: Motivácia a problém
Motivácia:
Hlavnou motiváciou nášho projektu bolo vytvoriť ovládač myši pre dosku Basys3, ktorý by budúci študenti CPE 133 mohli v budúcnosti použiť na svoje záverečné projekty. Túto myšlienku sme však posunuli o krok ďalej tým, že sme vytvorili program maľovania, z ktorého by mohli stavať aj budúci študenti.
Problém:
Problém, ktorý sme zistili, bol ten, že nie je k dispozícii žiadny jasný modul myši, ktorý by bolo možné stiahnuť a použiť pre dosku Basys3. Aby sme tento problém vyriešili, pokúsili sme sa ho vytvoriť sami. Snažili sme sa tým vytvoriť modul myši, ktorý by budúcim študentom umožnil jednoduchšiu implementáciu vstupu myši do ich projektov.
Krok 2: Získanie surových bitových informácií zo základne USB
- Väčšina toho, čo sme pre myš v tomto projekte urobili, pochádza z dokumentácie Basys3. Z malého sprievodcu k USB portu Basys v tomto pdf sme zistili, že doska Basys má vstavané hodiny na čítanie bitov správnou rýchlosťou zo zariadení USB.
- Myš v podstate odosiela bity na usb počnúc od nečinnosti, číta 32 bitov predstavujúcich stav myši, pozíciu x a polohu y a nakoniec končí ďalším nečinným bitom. Na tento účel vstupný komponent myši používa posuvný register a 32 bitový čítač, kde sa posuvný register používa na ukladanie 32 bitov prichádzajúcich údajov z myši a 32 bitový čítač sa používa na počítanie počtu uložených bitov, čo umožňuje stav. zaregistrujte sa, aby ste resetovali a uložili ďalšiu sadu 32 prichádzajúcich bitov.
- Kódy pre posuvný register, 32 -bitový čítač a čítačku údajov si môžete stiahnuť nižšie, ako aj súbor s obmedzeniami prispôsobený nášmu použitiu portu USB ako vstupu
Krok 3: Analyzujte informácie o USB
- Po vytvorení vstupu myši do komponentu USB bolo ďalším krokom vytvorenie komponentu USB bitov s vektorovou informáciou, ktorý by umožnil čitateľnosť údajov prijatých myšou pre vga.
- Tento komponent používa stavový automat, ktorý preberá množinu bitov výstupných zo vstupu myši na USB a prechádza stavmi podľa toho, či boli zadané nové bity, ktoré menia stav a polohu myši.
- Tu je zobrazený blokový diagram pre prvé dva kroky projektu a dva súbory vhdl slúžia na testovanie implementácie myši pomocou základných LED diód (test, ktorý bohužiaľ nikdy neprešiel) a na prenášanie bitového toku z USB port na vektory rýchlosti a polohy, ktoré môže VGA používať.
- Obrázok vedľa blokového diagramu vyššie je malou snímkou (Instructables nám neumožňuje zobraziť celý široký obraz) bitových informácií, ktoré sme našli v dokumentácii základov na dokončenie tohto kroku.
Krok 4: Zobrazenie namaľovaného obrázku cez VGA a úprava nakresleného obrázku
- Kábel VGA má 14 bitový výstup, 4 bitové pre každú z troch farieb a bit pre horizontálnu synchronizáciu a vertikálnu synchronizáciu.
-
OtherVGA je poskytovaný modul VGA a funguje nasledovne:
- Monitor je rozdelený na bloky 40 x 30 s rozmermi 16 x 16 pixelov pre obrazovku s rozlíšením 640 x 480, ako je vidieť na obrázku vyššie. Modul vyberie adresu bloku, ktorá bude predstavovať jeden z 1 200 blokov na monitore. Adresa bloku sa vyberá podľa nasledujúcej rovnice: adresa = 40y + x
- Farba je reprezentovaná 12 -bitovým signálom, ktorý koreluje s hodnotou RRRRGGGGBBBB, ktorá farbí vybraný blok.
-
Náš kontrolný kód VGAtest a VGAtestconst funguje nasledovne:
- Vybratý blok najskôr nastaví do stredu monitora.
- Farba bloku je určená 12 prepínačmi na doske, ktoré nastavujú hodnotu RRRRGGGGBBBB.
- Štyrmi smerovými tlačidlami na doske sa zmení zvolená adresa. Napríklad stlačením pravého tlačidla sa k adrese pridá 1 a vyberie sa blok vpravo od predchádzajúceho bloku. Stlačením tlačidla nadol sa pridá 40 k adrese, pričom sa vyberie blok pod predchádzajúcim blokom.
- Stredné tlačidlo slúži na nastavenie všetkých hodnôt farieb na 0 pri stlačení. Toto sa má správať ako tlačidlo vymazania, ktoré je užívateľovi ľahko použiteľné, aby užívateľ nemusel prepínať každý prepínač na 0, aby ho vymazal.
- Posledný obrázok je blokový diagram ovládača. Je dosť široký, pretože obsahuje komponenty modulu a nemusí sa zobraziť úplne.
Krok 5: Užite si svoje stvorenie
Tu je prepojený rýchly timelapse zábavy, ktorú si môžete užiť s konečným projektom, dokonca aj pomocou vstupov ako prepínačov a tlačidiel na základnej doske.
Vďaka za prečítanie!
Odporúča:
Striedavo okluzívny dichoptický modifikátor stereoskopického prenosu 32 [STM32F103C8T6+STMAV340 VGA superimposer]: 6 krokov
Striedavo okluzívny dichoptický modifikátor stereoskopického prenosu 32 [STM32F103C8T6+STMAV340 VGA superimposer]: Už nejaký čas pracujem na nástupcovi pôvodného AODMoST. Nové zariadenie používa rýchlejší a lepší 32-bitový mikrokontrolér a rýchlejší analógový video prepínač. Umožňuje AODMoST 32 pracovať s vyšším rozlíšením a implementovať nové funkčné
Striedavo okluzívny dichoptický modifikátor stereoskopického prenosu [ATmega328P+HEF4053B VGA superimposer]: 7 krokov
Striedavo okluzívny dichoptický modifikátor stereoskopickej transmisie [ATmega328P+HEF4053B VGA superimposer]: Po mojich experimentoch s okuliarmi z tekutých kryštálov, ktorými sa zatvárali oči (tu a tam), som sa rozhodol postaviť niečo, čo je o niečo sofistikovanejšie a čo užívateľa nenúti. nosiť PCB na čele (ľudia sa niekedy môžu hanbiť
Externý VGA / GPU pre prenosné počítače s použitím EXP GDC Beast: 15 krokov (s obrázkami)
Externé VGA / GPU pre prenosné počítače používajúce EXP GDC Beast: Ahoj chlapci .. Toto je môj prvý návod na pokyny. Angličtina nie je môj prvý jazyk, takže mi prosím odpustite moje gramatické chyby. Urobil som to na základe svojich skúseností s aktualizáciou svojho prenosného počítača. A nebudem vás nudiť dlhým predstavovaním, pretože neviem
Arkádové hry a joystick ESP32 VGA: 6 krokov (s obrázkami)
Arkádové hry a joystick ESP32 VGA: V tomto návode ukážem, ako reprodukovať štyri arkádové hry - Tetris - Had - Breakout - Bomber - pomocou systému ESP32 s výstupom pre monitor VGA. Rozlíšenie je 320 x 200 pixelov, v 8 farbách. Predtým som urobil verziu s
Cool Maľba technikou maľovania pomocou elipsy: 4 kroky
Cool Ps Technika maľovania pomocou elipsy: Ukážem vám, ako pomocou techniky vytvoriť niečo také: (Sorta zlej kvality)