İçindekiler:
- Adım 1: Motivasyon ve Sorun
- Adım 2: Basys USB'den Ham Bit Bilgilerini Alma
- Adım 3: Usb Bilgilerini Ayrıştırma
- Adım 4: Boyanmış Resmi VGA Üzerinden Görüntüleme ve Çizileni Düzenleme
- Adım 5: Yaratılışınızın Keyfini Çıkarın
Video: VGA Boyama Programı: 5 Adım
2024 Yazar: John Day | [email protected]. Son düzenleme: 2024-01-30 13:20
Proje: Adam Klein, Ian Strachan, Brandon Slater
Tamamlamak için yola çıktığımız proje, bir USB fareden gelen bilgileri bir boyama programı şeklinde depolamak, ayrıştırmak ve görüntülemekti. Projenin arkasındaki fikir, yerleşik bağlantı noktalarındaki Basys kartına fare ve VGA kablolarını takabilmek ve farenin monitörde hareketli bir resim karesi olarak görüntülenmesini sağlamak, sol ve sağ tıklatıldığında farklı renkler değiştirebilmektir. kullanılmış. Özünde, fareyi basys kartıyla kullanmak için bir sürücü oluşturuyor ve işlevsellik doğrulamamız olarak monitöre sahip oluyoruz. Sonunda gerçekten olan şey, bir giriş sistemi olarak basys kartı ve fare için yarı işlevsel bir veri yakalama sistemi olarak bir çizim programının oluşturulmasıydı.
Bu talimatta, fare girişinden vga çıkışına kadar olan adımları inceleyeceğiz.
Adım 1: Motivasyon ve Sorun
Motivasyon:
Projemizin ana motivasyonu, gelecekteki CPE 133 öğrencilerinin gelecekte final projeleri için kullanabilecekleri Basys3 panosu için bir fare sürücüsü oluşturmaktı. Ancak, gelecekteki öğrencilerin de geliştirebileceği bir resim programı oluşturarak bu fikri bir adım daha ileri götürdük.
Sorun:
Bulduğumuz sorun, Basys3 kartı için indirilmeye ve kullanılmaya hazır net bir fare modülünün olmamasıydı. Bu sorunu çözmek için kendimiz bir tane yaratmaya çalıştık. Bunu yaparak, gelecekteki öğrencilerin projelerinde fare girdisini daha kolay uygulayabilmelerini sağlayacak bir fare modülü oluşturmaya çalışıyorduk.
Adım 2: Basys USB'den Ham Bit Bilgilerini Alma
- Bu projede fare için yaptığımız şeylerin çoğu Basys3 belgelerinden geldi. Bu pdf'deki Basys USB bağlantı noktasındaki küçük kılavuzdan, Basys kartının USB aygıtlarından bitleri doğru hızda okumak için yerleşik bir saate sahip olduğunu gördük.
- Esasen, fare, boş bir durumdan başlayarak usb'ye bit gönderir, farenin durumunu, x konumunu ve y konumunu temsil eden 32 biti okur ve son olarak başka bir boş bit ile biter. Bunu yapmak için, fare giriş bileşeni bir kaydırma yazmacı ve 32 bitlik bir sayaç kullanır; burada kaydırma kaydı fareden gelen 32 bitlik veriyi depolamak için kullanılır ve 32 bitlik sayaç, duruma izin veren depolanan bit sayısını saymak için kullanılır. 32 gelen bitlik bir sonraki seti sıfırlamak ve saklamak için kayıt olun.
- Kaydırmalı yazmaç, 32 bit sayaç ve veri okuyucu için kod ve ayrıca giriş olarak USB bağlantı noktasını kullanmamıza uyarlanmış kısıtlamalar dosyası aşağıda indirilebilir.
Adım 3: Usb Bilgilerini Ayrıştırma
- Usb bileşenine fare girişi oluşturduktan sonraki adım, fare tarafından alınan verileri vga için okunabilir hale getirecek usb bitleri vektör bilgi bileşeni oluşturmaktı.
- Bu bileşen, fare girişi tarafından usb'ye çıkarılan bit setini alan ve farenin durumunu ve konumunu değiştiren yeni bitlerin girilip girilmediğine bağlı olarak durumlar arasında hareket eden bir durum makinesi kullanır.
- Projenin ilk iki adımının blok şeması burada gösterilmektedir ve iki vhdl dosyası, basys LED'leri (maalesef hiçbir zaman geçilemeyen bir test) kullanarak farenin uygulanmasını test etmek ve bit akışını USB'den yayınlamak içindir. VGA'nın kullanabileceği vektörleri hızlandırmak ve konumlandırmak için bağlantı noktası.
- Yukarıdaki blok diyagramın yanındaki görüntü, bu adımı tamamlamak için basys belgelerinde bulduğumuz bit bilgilerinin küçük bir anlık görüntüsüdür (Instructables tam geniş görüntüyü göstermemize izin vermiyor).
Adım 4: Boyanmış Resmi VGA Üzerinden Görüntüleme ve Çizileni Düzenleme
- VGA kablosunun 14 bit çıkışı, üç rengin her biri için 4 biti ve yatay senkronizasyon ve dikey senkronizasyon için bir biti vardır.
-
OtherVGA, sağlanan VGA modülüdür ve aşağıdaki gibi çalışır:
- Monitör, yukarıdaki resimde görüldüğü gibi 640x480 çözünürlüklü bir ekran için 16x16 piksellik 40x30 bloklara bölünmüştür. Modül, monitördeki 1200 bloktan birini temsil edecek bir blok adresi seçer. Blok adresi aşağıdaki denklemle seçilir: adres = 40y + x
- Renk, seçilen bloğu renklendiren bir RRRRGGGGBBBB değerine karşılık gelen 12 bitlik bir sinyal ile temsil edilir.
-
Kontrol kodumuz VGAtest ve VGAtestconst aşağıdaki gibi çalışır:
- Önce seçilen bloğu monitörün ortasına ayarlar.
- Bloğun rengi, kart üzerindeki 12 anahtar tarafından belirlenir ve RRRRGGGGBBBB değerini ayarlar.
- Kart üzerindeki dört yön düğmesi seçilen adresi değiştirir. Örneğin, sağ tuşa basmak adrese 1 ekler, önceki bloğun sağındaki blok seçilir. Aşağı düğmesine basıldığında adrese 40 eklenir ve önceki bloğun altındaki blok seçilir.
- Ortadaki düğme, basıldığında tüm renk değerlerini 0'a ayarlamak için kullanılır. Bu, kullanıcının kullanması kolay bir silme düğmesi gibi davranmak içindir, bu nedenle kullanıcının silmek için her anahtarı 0'a çevirmesi gerekmez.
- Son görüntü, kontrolörün blok şemasıdır. Modül bileşenlerini içerdiğinden oldukça geniştir ve tam olarak görüntülenemeyebilir.
Adım 5: Yaratılışınızın Keyfini Çıkarın
Burada, yalnızca giriş olarak basys kartındaki anahtarları ve düğmeleri kullanarak bile, nihai projeyle yaşayabileceğiniz eğlencenin hızlı bir hızlandırılmış görüntüsü verilmiştir.
Okuduğunuz için teşekkürler!
Önerilen:
Arduino Powered Boyama Robotu: 11 Adım (Resimli)
Arduino Powered Painting Robot: Bir robotun büyüleyici tablolar ve sanat yapabileceğini hiç merak ettiniz mi? Bu projede Arduino ile Güçlendirilmiş Boyama Robotu ile bunu gerçeğe dönüştürmeye çalışıyorum. Amaç, robotun kendi başına resim yapabilmesi ve bir referans
Duyusal Boyama: 5 Adım
Duyusal Resim: Duyusal Resim, tüm proyecto diseñado para que alguien no vidente pueda pintar veya dibujar dentro de bordes que uno pueda sınırlayıcı. En este caso utilizaremos ve Kultrun de la cultura ve pueblo mapuche. SP te avisará mediante sonidos de un Trompe,
Kaplan Boyama 3d Baskılı: 5 Adım
Kaplan Resmi 3d Baskılı: Bu talimat, bir kaplanın resmini yeniden oluşturmak için sanatı ve 3d Baskıyı bir araya getirecektir. Dalga 3 filamentten oluşur: siyah, beyaz ve turuncu. Bunun çalışma şekli, belirli miktarda katmandan sonra kaplanın bir stl'sini yazdırmanızdır
IPhone ile Işıkla Boyama: 5 Adım
IPhone ile Işıkla Boyama: Pahalı bir DSLR fotoğraf makinesi satın alma konusunda emin olmayan, ancak yine de ışıkla boyama ve gece fotoğrafçılığı ile denemeler yapmak isteyenler için bir nasıl yapılır yazısı. cep telefonuyla ışıkla boyama resmi? Bunu kontrol et
Arduino Tabanlı Çok Renkli Işık Boyama Çubuğu: 13 Adım (Resimli)
Arduino Tabanlı Çok Renkli Işıkla Boyama Çubuğu: Işıkla boyama, Fotoğrafçılar tarafından kullanılan, ilginç desenler çizmek için bir ışık kaynağının kullanıldığı ve Kameranın bunları bir araya getireceği bir tekniktir. Sonuç olarak, Fotoğraf, içinde ışık izleri içerecek ve sonuçta bir görüntü verecektir