Tartalomjegyzék:
- 1. lépés: Motiváció és probléma
- 2. lépés: A nyers bit információk lekérése a Basys USB -ről
- 3. lépés: Az USB -adatok elemzése
- 4. lépés: A festett kép megjelenítése VGA -n és a rajzolás szerkesztése
- 5. lépés: Élvezze alkotását
Videó: VGA festési program: 5 lépés
2024 Szerző: John Day | [email protected]. Utoljára módosítva: 2024-01-30 09:43
Projekt: Adam Klein, Ian Strachan, Brandon Slater
A projekt, amelyet befejezni akartunk, az volt, hogy információkat tároljon, elemezzen és megjelenítsen egy USB -egérről festési program formájában. A projekt mögött az az elképzelés áll, hogy az egeret és a VGA-kábeleket a beépített portok Basys-táblájába kell csatlakoztatni, és az egeret mozgatható festési négyzetként kell megjeleníteni a monitoron, megváltoztatva a különböző színeket, ha balra és jobbra kattint. használt. Lényegében illesztőprogramot hoznánk létre az egér használatához a basys táblával, és a monitort ellenőrizzük a működőképességben. Ami végül valóban megtörtént, az volt, hogy létrehoztak egy rajzoló programot, a bemeneti rendszerként a basys táblát, és egy félig funkcionális adatgyűjtő rendszert az egér számára.
Ebben az utasításban lebontjuk az egérbemenetről a vga kimenetre vonatkozó lépéseket.
1. lépés: Motiváció és probléma
Motiváció:
Projektünk fő motivációja az volt, hogy létrehozzunk egy egér -illesztőprogramot a Basys3 tábla számára, amelyet a jövőbeli CPE 133 diákok a jövőben felhasználhatnak végső projektjeikhez. Ezt a gondolatot azonban egy lépéssel tovább vittük azzal, hogy létrehoztunk egy festési programot, amelyből a jövő diákjai is építhetnek.
Probléma:
A felfedezett probléma az volt, hogy nincs egyértelmű egérmodul, amely letölthető és használható a Basys3 táblához. Ennek a problémának a megoldására mi magunk próbáltunk egyet létrehozni. Ezzel olyan egérmodult akartunk létrehozni, amely lehetővé teszi a jövőbeli diákok számára, hogy könnyebben megvalósítsák az egér bemenetét a projektjeikben.
2. lépés: A nyers bit információk lekérése a Basys USB -ről
- Amit ebben a projektben az egérért tettünk, nagy része a Basys3 dokumentációjából származik. A PDF Basys USB -portján található kis útmutatóból azt találtuk, hogy a Basys tábla beépített órával rendelkezik a bitek megfelelő sebességű olvasásához az USB -eszközökről.
- Lényegében az egér készenléti állapotból biteket küld az usb -nek, 32 bitet olvas, amelyek az egerek állapotát, x pozícióját és y pozícióját jelzik, és végül egy másik tétlen bittel fejeződik be. Ehhez az egér bemeneti összetevője shift shift regisztert és 32 bites számlálót használ, ahol a shift regisztert 32 bit bejövő adat tárolására használják az egérről, a 32 bites számláló pedig az állapotot lehetővé tevő tárolt bitek számolására szolgál. regisztráljon a következő 32 bejövő bit készlet alaphelyzetbe állításához és tárolásához.
- Az alábbiakban letölthető a váltóregiszter, a 32 bites számláló és az adatolvasó kódja, valamint a korlátozások fájlja, amely az USB -port bemenetként történő használatához igazodik.
3. lépés: Az USB -adatok elemzése
- Miután létrehozta az egér bemenetét az usb komponenshez, a következő lépés az volt, hogy létrehozza az usb biteket a vektoros információ komponenshez, amely az egérrel kapott adatokat olvashatóvá teszi a vga számára.
- Ez az összetevő egy állapotgépet használ, amely átveszi az egérbemenet által kiadott bitkészletet az usb -re, és áthalad az állapotokon annak alapján, hogy az egér állapotát és pozícióját megváltoztató új bitek kerültek -e be.
- A projekt első két lépésének blokkdiagramja itt látható, a két vhdl fájl pedig az egér megvalósításának tesztelésére szolgál a basys LED -ekkel (ez a teszt sajnos soha nem sikerült), és a bitfolyam USB -ről történő átviteléhez. port a sebesség és pozíció vektorok számára, amelyeket a VGA használhat.
- A fenti blokkdiagram melletti kép egy kis pillanatkép (az Instructables nem teszi lehetővé, hogy megjelenítsük a teljes széles képet) azokról a bitinformációkról, amelyeket a bázisdokumentációban találtunk ennek a lépésnek a végrehajtásához.
4. lépés: A festett kép megjelenítése VGA -n és a rajzolás szerkesztése
- A VGA kábel 14 bit kimenettel rendelkezik, 4 bit mindhárom színhez, és egy bit a vízszintes és függőleges szinkronhoz.
-
Egyéb A VGA a mellékelt VGA modul, és a következőképpen működik:
- A monitor 40x30 darab 16x16 képpontos blokkokra van bontva 640x480 felbontású képernyőre, amint a fenti képen látható. A modul kiválaszt egy blokkcímet, amely a monitor 1200 blokkjának egyikét reprezentálja. A blokkcím kiválasztása a következő egyenlettel történik: cím = 40y + x
- A színt egy 12 bites jel képviseli, amely megfelel a kiválasztott blokkot színező RRRRGGGGBBBB értéknek.
-
Vezérlőkódunk, a VGAtest és a VGAtestconst a következőképpen működik:
- Először a kiválasztott blokkot állítja a monitor közepére.
- A blokk színét a táblán lévő 12 kapcsoló határozza meg, az RRRRGGGGBBBB érték beállításával.
- A táblán lévő négy iránygomb megváltoztatja a kiválasztott címet. Például, ha megnyomja a jobb oldali gombot, az 1 hozzáadódik a címhez, és az előző blokktól jobbra lévő blokkot választja ki. A le gomb megnyomásával 40 -et ad hozzá a címhez, kiválasztva az előző blokk alatti blokkot.
- A középső gombbal az összes színértéket 0 -ra lehet állítani, amikor megnyomják. Ennek célja a törlés gombként való viselkedése, amelyet a felhasználó könnyen használhat, így a felhasználónak nem kell minden kapcsolót 0 -ra fordítania a törléshez.
- Az utolsó kép a vezérlő blokkdiagramja. Elég széles, mivel tartalmazza a modul összetevőit, és előfordulhat, hogy nem jelenik meg teljesen.
5. lépés: Élvezze alkotását
Itt található egy gyors timelapse a szórakozásból, amelyet a végső projektben élvezhet, még akkor is, ha csak a basszuslapon lévő kapcsolókat és gombokat használja bemenetként.
Köszönöm, hogy elolvasta!
Ajánlott:
Felváltva, elzárva a sztereoszkópikus átvitel dikoptikus módosítóját 32 [STM32F103C8T6+STMAV340 VGA Superimposer]: 6 lépés
Alternatívaként a sztereoszkópikus átvitel dikoptikus módosítója 32 [STM32F103C8T6+STMAV340 VGA Superimposer]: Egy ideje az eredeti AODMoST utódján dolgozom. Az új eszköz gyorsabb és jobb 32 bites mikrokontrollert és gyorsabb analóg videó kapcsolót használ. Lehetővé teszi az AODMoST 32 számára, hogy nagyobb felbontásokkal dolgozzon, és új funkcionális
A sztereoszkópikus átvitel dichoptikus módosítója [ATmega328P+HEF4053B VGA Superimposer]: 7 lépés
Alternatív megoldásként a sztereoszkópikus átvitel dikoptikus módosítója [ATmega328P+HEF4053B VGA Superimposer]: A szem elzárására használt folyadékkristályos üvegekkel végzett kísérleteim után (itt -ott) úgy döntöttem, hogy valami kifinomultabbat építek, és nem kényszerítem a felhasználót. viseljen PCB -t a homlokán (az emberek néha viselkedhetnek
Külső VGA / GPU laptopokhoz EXP GDC Beast használatával: 15 lépés (képekkel)
Külső VGA / GPU laptopokhoz EXP GDC Beast: Hi Guys .. Ez az első oktatóanyagom az utasításokról. Nem az angol az első nyelvem, ezért kérlek, bocsáss meg a nyelvtani hibáimért. Ezt a laptopom frissítésével kapcsolatos tapasztalataim alapján készítettem. És nem untatlak benneteket a hosszú bevezetővel, mivel nem tudok
ESP32 VGA arcade játékok és joystick: 6 lépés (képekkel)
ESP32 VGA Arcade Games és Joystick: Ebben az oktatható fejezetben megmutatom, hogyan lehet reprodukálni négy arcade -szerű játékot - Tetris - Snake - Breakout - Bomber - ESP32 segítségével, VGA monitor kimenetével. A felbontás 320 x 200 pixel, 8 színben. Korábban készítettem egy verziót
Hűvös Ms festési technika Ellipse használatával: 4 lépés
Hűvös asszonyi festési technika az Ellipse használatával: Megmutatom, hogyan kell egy technikát használni, hogy ilyesmit készítsen: (Rossz minőségű)