![Programi i Pikturës VGA: 5 hapa Programi i Pikturës VGA: 5 hapa](https://i.howwhatproduce.com/images/001/image-206-82-j.webp)
Përmbajtje:
2025 Autor: John Day | [email protected]. E modifikuara e fundit: 2025-01-23 15:10
![Programi i Pikturës VGA Programi i Pikturës VGA](https://i.howwhatproduce.com/images/001/image-206-83-j.webp)
Projekti nga: Adam Klein, Ian Strachan, Brandon Slater
Projekti që ne filluam të përfundonim ishte ruajtja, analizimi dhe shfaqja e informacionit nga një mi USB në formën e një programi pikturimi. Ideja që qëndron pas projektit është që të jeni në gjendje të lidhni miun dhe kabllot VGA në tabelën Basys në portet e tij të integruara, dhe ta shfaqni miun si një shesh pikture të lëvizshëm në monitor, duke ndryshuar ngjyra të ndryshme kur klikimet e majta dhe të djathta janë të përdorura. Në thelb, ne do të krijonim një drejtues për përdorimin e miut me tabelën bazë dhe të kishim monitorin si verifikimin tonë të funksionalitetit. Ajo që përfundoi me të vërtetë ndodhi ishte krijimi i një programi vizatimi me tabelën bazë si një sistem hyrës, dhe një sistem gjysmë funksional të kapjes së të dhënave për miun.
Në këtë udhëzues, ne do të ndajmë hapat nga hyrja e miut në daljen vga.
Hapi 1: Motivimi dhe Problemi
![Motivimi dhe Problemi Motivimi dhe Problemi](https://i.howwhatproduce.com/images/001/image-206-84-j.webp)
Motivimi:
Motivimi kryesor për projektin tonë ishte krijimi i një drejtuesi miu për tabelën Basys3 që studentët e ardhshëm të CPE 133 do të mund të përdorin për projektet e tyre përfundimtare në të ardhmen. Sidoqoftë, ne e bëmë këtë ide një hap më tej duke krijuar një program pikture, atë nga i cili studentët e ardhshëm mund të ndërtonin gjithashtu.
Problemi:
Problemi që zbuluam ishte se nuk ka asnjë modul të qartë të miut gati për tu shkarkuar dhe përdorur për tabelën Basys3. Për të zgjidhur këtë problem, ne u përpoqëm të krijonim një vetë. Duke vepruar kështu, ne po përpiqeshim të krijonim një modul miu që do t'i lejonte studentët e ardhshëm të zbatonin më lehtë inputin e miut në projektet e tyre.
Hapi 2: Marrja e informacionit të bitit të papërpunuar nga USB -ja e Basys
![Marrja e informacionit të bitit të papërpunuar nga USB Basys Marrja e informacionit të bitit të papërpunuar nga USB Basys](https://i.howwhatproduce.com/images/001/image-206-85-j.webp)
- Pjesa më e madhe e asaj që bëmë për miun në këtë projekt erdhi nga dokumentacioni i Basys3. Nga udhëzuesi i vogël në portën USB Basys në atë pdf, zbuluam se bordi Basys ka një orë të integruar për leximin e pjesëve me shpejtësinë e duhur nga pajisjet USB.
- Në thelb, miu dërgon bit në usb duke filluar nga një gjendje boshe, lexon 32 bit që përfaqësojnë statusin e miut, pozicionin x dhe pozicionin y, dhe përfundimisht përfundon me një bit tjetër boshe. Për ta bërë këtë, komponenti i hyrjes së miut përdor një regjistër zhvendosës dhe një numërues 32 bitësh, ku regjistri i ndërrimit përdoret për të ruajtur 32 bit të të dhënave hyrëse nga miu dhe numëruesi 32 bit përdoret për të numëruar numrin e bitëve që ruhen duke lejuar gjendjen regjistrohuni për të rivendosur dhe ruajtur grupin tjetër prej 32 bitësh hyrës.
- Kodi për regjistrin e ndërrimit, numëruesin 32 bit dhe lexuesin e të dhënave mund të shkarkohen më poshtë, si dhe skedarin e kufizimeve të përshtatur për përdorimin tonë të portës USB si hyrje
Hapi 3: Analizimi i informacionit të Usb
![Analizimi i informacionit Usb Analizimi i informacionit Usb](https://i.howwhatproduce.com/images/001/image-206-86-j.webp)
![Analizimi i informacionit Usb Analizimi i informacionit Usb](https://i.howwhatproduce.com/images/001/image-206-87-j.webp)
- Pas krijimit të hyrjes së miut në komponentin usb, hapi tjetër ishte krijimi i pjesëve të USB -së në përbërësin e informacionit vektor që do t'i bënte të dhënat e marra nga miu të lexueshme për vga.
- Ky komponent përdor një makinë shtetërore që merr grupin e bitëve të nxjerrë nga hyrja e miut në usb dhe lëviz nëpër gjendjet bazuar në faktin nëse janë futur pjesë të reja që ndryshojnë statusin dhe pozicionin e miut.
- Bllok -diagrami për dy hapat e parë të projektit është treguar këtu, dhe dy skedarët vhdl janë për të testuar zbatimin e miut duke përdorur LED -të e bazës (një test që për fat të keq nuk u kalua kurrë) dhe për hedhjen e rrjedhës së bitit nga USB port për shpejtësinë dhe pozicionimin e vektorëve që VGA mund të përdorë.
- Imazhi pranë bllok -diagramit më sipër është një pamje e vogël (Instructables nuk na lejon të shfaqim imazhin e plotë të gjerë) të informacionit të vogël që gjetëm në dokumentacionin bazë për përfundimin e këtij hapi.
Hapi 4: Shfaqja e imazhit të pikturuar mbi VGA dhe redaktimi i asaj që po vizatohet
![Shfaqja e imazhit të pikturuar mbi VGA dhe redaktimi i asaj që po vizatohet Shfaqja e imazhit të pikturuar mbi VGA dhe redaktimi i asaj që po vizatohet](https://i.howwhatproduce.com/images/001/image-206-88-j.webp)
![Shfaqja e imazhit të pikturuar mbi VGA dhe redaktimi i asaj që po vizatohet Shfaqja e imazhit të pikturuar mbi VGA dhe redaktimi i asaj që po vizatohet](https://i.howwhatproduce.com/images/001/image-206-89-j.webp)
![Shfaqja e imazhit të pikturuar mbi VGA dhe redaktimi i asaj që po vizatohet Shfaqja e imazhit të pikturuar mbi VGA dhe redaktimi i asaj që po vizatohet](https://i.howwhatproduce.com/images/001/image-206-90-j.webp)
- Kablloja VGA ka 14 bit dalje, 4 bit për secilën nga tre ngjyrat dhe pak për sinkronizim horizontal dhe sinkronizim vertikal.
-
TjetërVGA është moduli i ofruar VGA dhe funksionon si më poshtë:
- Monitori është i ndarë në blloqe 40x30 me 16x16 piksele për një ekran me rezolucion 640x480 siç shihet në foton e mësipërme. Moduli zgjedh një adresë blloku për të përfaqësuar një nga 1200 blloqet në monitor. Adresa e bllokut zgjidhet përmes ekuacionit të mëposhtëm: adresa = 40y + x
- Ngjyra përfaqësohet nga një sinjal 12 bit i cili lidhet me një vlerë RRRRGGGGBBBB që ngjyros bllokun e zgjedhur.
-
Kodi ynë i kontrollit, VGAtest dhe VGAtestconst, funksionon si më poshtë:
- Së pari e vendos bllokun e zgjedhur në qendër të monitorit.
- Ngjyra e bllokut përcaktohet nga 12 ndërprerës në tabelë, duke vendosur vlerën RRRRGGGGBBBB.
- Katër butonat drejtues në tabelë ndryshojnë adresën e zgjedhur. Për shembull, shtypja e butonit të djathtë do të shtojë 1 në adresë, duke zgjedhur bllokun në të djathtë të bllokut të mëparshëm. Shtypja e butonit poshtë do të shtojë 40 në adresë, duke zgjedhur bllokun poshtë bllokut të mëparshëm.
- Butoni qendror përdoret për të vendosur të gjitha vlerat e ngjyrave në 0 kur shtypet. Kjo ka për qëllim të sillet si një buton fshirjeje që është i lehtë për përdoruesin, kështu që përdoruesi nuk ka pse të rrotullojë çdo çelës në 0 në mënyrë që të fshihet.
- Imazhi i fundit është diagrami i bllokut për kontrolluesin. Fairlyshtë mjaft e gjerë pasi përfshin përbërës të modulit dhe mund të mos shfaqet plotësisht.
Hapi 5: Shijoni krijimin tuaj
E lidhur këtu është një kalim i shpejtë i argëtimit që mund të keni me projektin përfundimtar, madje edhe vetëm me përdorimin e çelsave dhe butonave në tabelën e bazës si hyrje.
Faleminderit per leximin!
Recommended:
Roboti i pikturës me fuqi Arduino: 11 hapa (me fotografi)
![Roboti i pikturës me fuqi Arduino: 11 hapa (me fotografi) Roboti i pikturës me fuqi Arduino: 11 hapa (me fotografi)](https://i.howwhatproduce.com/images/001/image-2587-j.webp)
Roboti i Pikturës me Fuqi Arduino: A keni menduar ndonjëherë nëse një robot mund të bëjë piktura dhe art magjepsës? Në këtë projekt unë përpiqem ta bëj atë realitet me një Robot Pikture me Fuqi Arduino. Objektivi është që roboti të jetë në gjendje të bëjë piktura vetë dhe të përdorë një ref
Programi Cesar Cipher në Python: 4 hapa
![Programi Cesar Cipher në Python: 4 hapa Programi Cesar Cipher në Python: 4 hapa](https://i.howwhatproduce.com/images/002/image-3900-j.webp)
Programi i Shifrimit të Cezarit në Python: Shifri i Cezarit është një shifër e lashtë dhe e përdorur gjerësisht që është e lehtë për tu kriptuar dhe deshifruar. Punon duke zhvendosur shkronjat e alfabetit për të krijuar një alfabet krejtësisht të ri (ABCDEF mund të zhvendosë mbi 4 shkronja dhe do të bëhet EFGHIJ). Cezari C
Programi bazë C ++: 11 hapa
![Programi bazë C ++: 11 hapa Programi bazë C ++: 11 hapa](https://i.howwhatproduce.com/images/002/image-4203-j.webp)
Programi Bazë C ++: në këtë program do të mësoni bazat e c ++ duke koduar një program të thjeshtë c ++ për të bërë përdorues të shumtë dhe për të shfaqur këta përdorues, shpresoj që të kënaqeni
Fillimi i pikturës së lehtë (pa Photoshop): 5 hapa (me fotografi)
![Fillimi i pikturës së lehtë (pa Photoshop): 5 hapa (me fotografi) Fillimi i pikturës së lehtë (pa Photoshop): 5 hapa (me fotografi)](https://i.howwhatproduce.com/images/002/image-3340-19-j.webp)
Fillimi i Pikturës së Dritës (pa Photoshop): Kohët e fundit bleva një aparat të ri dhe po hetoja disa nga veçoritë e tij kur hasa në internet me pikturë të lehtë, ose fotografi me ekspozim të gjatë. Shumica prej nesh do të kenë parë formën themelore të pikturës së dritës me një fotografi në një qytet me rrugë
Shkopi i pikturës me ngjyra të lehta me bazë Arduino: 13 hapa (me fotografi)
![Shkopi i pikturës me ngjyra të lehta me bazë Arduino: 13 hapa (me fotografi) Shkopi i pikturës me ngjyra të lehta me bazë Arduino: 13 hapa (me fotografi)](https://i.howwhatproduce.com/images/003/image-6510-10-j.webp)
Shkopi i pikturës së dritës me shumë ngjyra të bazuara në Arduino: Piktura në dritë është një teknikë e përdorur nga Fotografët, ku një burim drite përdoret për të vizatuar modele interesante dhe Kamera do t'i bashkojë këto. Si rezultat, Fotografia do të përmbajë gjurmët e dritës në të, të cilat përfundimisht do të japin një pamje të një