Mündəricat:
- Addım 1: Motivasiya və Problem
- Addım 2: Basys USB -dən Raw Bit Məlumatını Alın
- Addım 3: Usb məlumatlarının təhlili
- Addım 4: Boyalı Şəkili VGA üzərindən göstərmək və çəkilənləri redaktə etmək
- Addım 5: Yaradıcılığınızdan zövq alın
Video: VGA Rəsm Proqramı: 5 addım
2024 Müəllif: John Day | [email protected]. Son dəyişdirildi: 2024-01-30 07:47
Layihə: Adam Klein, Ian Strachan, Brandon Slater
Tamamlamağı planlaşdırdığımız layihə, USB siçanındakı məlumatları rəsm proqramı şəklində saxlamaq, təhlil etmək və göstərmək idi. Layihənin arxasında duran fikir, siçanı və VGA kabellərini quraşdırılmış portlarında Basys lövhəsinə qoşa bilmək və siçanın sol və sağ kliklədikdə fərqli rəngləri dəyişərək monitorda hərəkət edən bir rəsm meydanı olaraq göstərilməsidir. istifadə olunur. Əslində, siçanı bazis lövhəsi ilə istifadə etmək üçün bir sürücü yaradacağıq və monitorun funksionallığımızı yoxlayacağıq. Həqiqətən baş verən şey, giriş sistemi olaraq basys board ilə bir rəsm proqramı və siçan üçün yarı funksional məlumat tutma sistemi yaratmaq idi.
Bu təlimatda, siçan girişindən vga çıxışına qədər olan addımları ayıracağıq.
Addım 1: Motivasiya və Problem
Motivasiya:
Layihəmizin əsas motivasiyası, gələcək CPE 133 şagirdlərinin gələcəkdə son layihələri üçün istifadə edə biləcəkləri Basys3 lövhəsi üçün siçan sürücüsü yaratmaq idi. Ancaq gələcək şagirdlərin də qura biləcəyi bir rəsm proqramı hazırlayaraq bu fikri bir addım daha irəli apardıq.
Problem:
Kəşf etdiyimiz problem, Basys3 lövhəsi üçün yüklənməyə və istifadəyə hazır olan aydın bir siçan modulunun olmaması idi. Bu problemi həll etmək üçün özümüz yaratmağa çalışdıq. Bunu etməklə, gələcək tələbələrə siçan girişlərini layihələrində daha asan tətbiq etmələrini təmin edəcək bir siçan modulu yaratmağa çalışırdıq.
Addım 2: Basys USB -dən Raw Bit Məlumatını Alın
- Bu layihədə siçan üçün etdiklərimizin çoxu Basys3 sənədlərindən gəldi. Həmin pdfdəki Basys USB portundakı kiçik bələdçidən, Basys lövhəsinin bitləri USB cihazlarından lazımi sürətlə oxumaq üçün quraşdırılmış bir saata sahib olduğunu gördük.
- Əslində, siçan boş bir vəziyyətdən başlayaraq usb -ə bit göndərir, siçanların vəziyyətini, x mövqeyini və y mövqeyini təmsil edən 32 bit oxuyur və nəhayət başqa bir boş bitlə bitir. Bunu etmək üçün, siçan giriş komponenti bir keçid qeydindən və 32 bit sayğacından istifadə edir, burada keçid qeydindən siçandan gələn 32 bit məlumatı saxlamaq üçün istifadə olunur və 32 bit sayğacı vəziyyətə imkan verən saxlanılan bitlərin sayını hesablamaq üçün istifadə olunur. Növbəti 32 daxil olan biti sıfırlamaq və saxlamaq üçün qeydiyyatdan keçin.
- Dəyişdirmə reyestri, 32 bit sayğacı və məlumat oxuyucusunun kodu aşağıda yüklənə bilər, həmçinin USB portunu giriş olaraq istifadə etməyimizə uyğunlaşdırılmış məhdudiyyətlər faylı.
Addım 3: Usb məlumatlarının təhlili
- Usb komponentinə siçan girişi yaratdıqdan sonra, növbəti addım, siçanın aldığı məlumatları vga üçün oxunaqlı hala gətirəcək vektor məlumat komponentinə usb bit yaratmaq idi.
- Bu komponent, siçan girişi ilə çıxarılan bit dəstini usb -ə götürən və siçanın vəziyyətini və mövqeyini dəyişdirən yeni bitlərin daxil olub -olmamasına əsaslanaraq hərəkət edən bir dövlət maşını istifadə edir.
- Layihənin ilk iki addımı üçün blok diaqramı burada göstərilmişdir və iki vhdl faylı basys LED -lərindən istifadə edərək siçanın tətbiqini yoxlamaq üçün (təəssüf ki, heç vaxt keçməmiş bir test) və bit axını USB -dən ötürmək üçündür. VGA -nın istifadə edə biləcəyi sürət və mövqe vektorlarına liman.
- Yuxarıdakı blok diaqramının yanındakı şəkil, bu addımı tamamlamaq üçün basys sənədlərində tapdığımız bit məlumatlarının kiçik bir anlıq görüntüsüdür (Instructables bizə tam geniş görüntünü göstərməyə imkan vermir).
Addım 4: Boyalı Şəkili VGA üzərindən göstərmək və çəkilənləri redaktə etmək
- VGA kabelində 14 bit çıxış, hər üç rəng üçün 4 bit və üfüqi sinxronizasiya və şaquli sinxronizasiya üçün bir az var.
-
OtherVGA, təqdim olunan VGA moduludur və aşağıdakı kimi işləyir:
- Monitör, yuxarıdakı şəkildə göründüyü kimi 640x480 çözünürlüklü bir ekran üçün 16x16 piksellik 40x30 bloklara bölünmüşdür. Modul, monitordakı 1200 blokdan birini təmsil etmək üçün bir blok ünvanı seçir. Blok ünvanı aşağıdakı tənlik ilə seçilir: ünvan = 40y + x
- Rəng, seçilmiş bloka rəng verən RRRRGGGGBBBB dəyərinə uyğun gələn 12 bitlik bir siqnalla təmsil olunur.
-
Nəzarət kodumuz VGAtest və VGAtestconst aşağıdakı kimi işləyir:
- Əvvəlcə seçilmiş bloku monitorun mərkəzinə qoyur.
- Blokun rəngi, RRRRGGGGBBBB dəyərini təyin edən lövhədəki 12 açarla təyin olunur.
- Lövhədəki dörd istiqamət düyməsi seçilmiş ünvanı dəyişir. Məsələn, sağ düyməni basmaq, ünvana 1 əlavə edəcək, əvvəlki blokun sağındakı birini seçin. Aşağı düyməni basaraq, əvvəlki blokun altındakı bloku seçərək ünvana 40 əlavə edəcək.
- Orta düymə, bütün rəng dəyərlərini basıldığında 0 olaraq təyin etmək üçün istifadə olunur. Bu, istifadəçinin istifadə etməsi asan olan bir silmə düyməsi kimi davranmaq üçündür, buna görə də istifadəçini silmək üçün hər açarı 0 -a çevirmək lazım deyil.
- Son şəkil nəzarətçi üçün blok diaqramdır. Modulun komponentlərini ehtiva etdiyi üçün kifayət qədər genişdir və tam olaraq göstərilə bilməz.
Addım 5: Yaradıcılığınızdan zövq alın
Burada əlaqəli, son layihə ilə edə biləcəyiniz əyləncənin qısa bir gecikməsidir, hətta bazis lövhəsindəki açarları və düymələri giriş olaraq istifadə etsəniz belə.
Oxuduğunuz üçün təşəkkürlər!
Tövsiyə:
Rəsm Tətbiqi etmənin iki yolu: 10 addım
Rəsm Tətbiqi etmənin iki yolu: Bilirəm ki, bu rəsm tətbiqinin yalnız 5x5 piksellik ekranı var, buna görə çox şey edə bilməzsən, amma yenə də əyləncəlidir
Adafruit Shield ilə Robot Rəsm (Yarışa Hərəkət Edin): 10 Addım (Şəkillərlə)
Adafruit Shield ilə Rəsm Robotu (Müsabiqə Yarat): Salam mənim adlarım Jacob və mən İngiltərədə yaşayırıq. Bu layihədə sizin üçün çəkən bir robot quracağam. *Əminəm ki, bir çoxlarınız görmək istəyir, buna görə də bilmək istəyirsinizsə, lütfən, sonuncu addıma keçin, ancaq görmək üçün bura qayıtmağı unutmayın
5 -i 1 Arduino Robotu - Məni izlə - Ardıcıllıq xətti - Sumo - Rəsm - Maneələrin qarşısını almaq: 6 addım
5 -i 1 Arduino Robotu | Məni izlə | Ardıcıllıq xətti | Sumo | Rəsm | Maneələrdən qaçınmaq: Bu robot idarəetmə lövhəsində ATmega328P mikrokontrolörü və L293D motor sürücüsü var. Əlbəttə ki, Arduino Uno lövhəsindən heç bir fərqi yoxdur, ancaq motoru idarə etmək üçün başqa bir qalxana ehtiyac olmadığı üçün daha faydalıdır! Atlamadan azaddır
Arduino TFT Rəsm Proqramı: 4 addım
Arduino TFT Rəsm Proqramı: Bu təlimat, bir Arduino TFT ekranı üçün bir rəsm proqramı hazırlamağa gedən kodu ətraflı izah edir. Bu proqram, bənzərsizdir, çünki bir şəklin SD karta qənaət edilməsinə və daha sonra düzəlişlər etmək üçün daha sonra yüklənməsinə imkan verir
ISU Tələbəsi olaraq Pulsuz Proqramı Necə Yükləmək olar (Microsoft, Adobe və Təhlükəsizlik Proqramı: 24 addım
ISU Tələbəsi olaraq Pulsuz Proqramı Necə Yükləmək olar (Microsoft, Adobe və Təhlükəsizlik Proqramı: Adobe üçün: 1 -ci addıma keçin. Microsoft üçün: 8 -ci addıma keçin. Təhlükəsizlik üçün: 12 -ci addıma keçin. Azure üçün: 16 -cı addıma keçin