
Obsah:
2025 Autor: John Day | [email protected]. Naposledy změněno: 2025-01-23 14:38

Projekt: Adam Klein, Ian Strachan, Brandon Slater
Projekt, který jsme se rozhodli dokončit, měl ukládat, analyzovat a zobrazovat informace z USB myši ve formě programu pro malování. Myšlenkou projektu je možnost zapojit kabely myši a VGA do desky Basys ve vestavěných portech a nechat myš zobrazit jako pohyblivý malířský čtverec na monitoru a měnit různé barvy při kliknutí levým a pravým tlačítkem. použitý. V zásadě bychom vytvořili ovladač pro používání myši se základní deskou a monitorování jako ověřování funkčnosti. To, co se nakonec skutečně stalo, bylo vytvoření kreslicího programu se základní deskou jako vstupním systémem a polofunkčním systémem pro sběr dat pro myš.
V tomto pokynu rozdělíme kroky od vstupu myši po výstup vga.
Krok 1: Motivace a problém

Motivace:
Hlavní motivací našeho projektu bylo vytvořit ovladač myši pro desku Basys3, který by budoucí studenti CPE 133 mohli v budoucnu použít pro své závěrečné projekty. Tuto myšlenku jsme však posunuli o krok dále tím, že jsme vytvořili malířský program, ze kterého by mohli vycházet i budoucí studenti.
Problém:
Problém, který jsme zjistili, byl ten, že pro desku Basys3 není připraven žádný jasný modul myši, který by bylo možné stáhnout a použít. Abychom tento problém vyřešili, pokusili jsme se jej vytvořit sami. Tím jsme se snažili vytvořit modul myši, který by budoucím studentům umožnil snadněji implementovat vstup myší do jejich projektů.
Krok 2: Získání surových bitových informací z USB základen

- Hodně z toho, co jsme pro myš v tomto projektu udělali, pocházelo z dokumentace Basys3. Z malého průvodce na USB portu Basys v tomto pdf jsme zjistili, že deska Basys má vestavěné hodiny pro čtení bitů správnou rychlostí ze zařízení USB.
- V podstatě myš posílá bity na usb počínaje od klidového stavu, čte 32 bitů představujících stav myší, pozici x a pozici y a nakonec končí dalším nečinným bitem. K tomu vstupní komponenta myši používá posuvný registr a 32bitový čítač, kde se posuvný registr používá k ukládání 32 bitů příchozích dat z myši a 32bitový čítač se používá k počítání počtu uložených bitů, což umožňuje stav zaregistrujte se a resetujte a uložte další sadu 32 příchozích bitů.
- Kódy pro posuvný registr, 32bitový čítač a čtečku dat lze stáhnout níže, stejně jako soubor omezení přizpůsobený našemu použití portu USB jako vstupu
Krok 3: Analýza informací o USB


- Po vytvoření vstupu myši na komponentu USB bylo dalším krokem vytvoření komponenty USB bitů na vektorovou informaci, díky které budou data přijímaná myší čitelná pro vga.
- Tato komponenta používá stavový stroj, který přebírá sadu bitů vyvedených vstupem myši na USB a pohybuje se stavy podle toho, zda byly zadány nové bity, které mění stav a polohu myši.
- Zde je zobrazen blokový diagram pro první dva kroky projektu a dva soubory vhdl slouží k testování implementace myši pomocí základních LED diod (test, který bohužel nebyl nikdy proveden) a k odesílání bitového proudu z USB port na rychlostní a polohové vektory, které může VGA použít.
- Obrázek vedle výše uvedeného blokového diagramu je malý snímek (Instructables nám neumožňuje zobrazit celý širokoúhlý obrázek) bitových informací, které jsme našli v dokumentaci základen pro dokončení tohoto kroku.
Krok 4: Zobrazení malovaného obrazu přes VGA a úpravy toho, co se kreslí



- VGA kabel má 14 bitů výstupu, 4 bity pro každou ze tří barev a bit pro horizontální synchronizaci a vertikální synchronizaci.
-
OtherVGA je poskytovaný modul VGA a funguje následovně:
- Monitor je rozdělen na 40x30 bloků 16x16 pixelů pro obrazovku s rozlišením 640x480, jak je vidět na obrázku výše. Modul vybere adresu bloku, která bude představovat jeden z 1 200 bloků na monitoru. Adresa bloku se vybírá podle následující rovnice: adresa = 40y + x
- Barva je reprezentována 12bitovým signálem, který koreluje s hodnotou RRRRGGGGBBBB, která vybarvuje vybraný blok.
-
Náš kontrolní kód VGAtest a VGAtestconst funguje následovně:
- Nejprve nastaví vybraný blok do středu monitoru.
- Barva bloku je určena 12 přepínači na desce, nastavujícími hodnotu RRRRGGGGBBBB.
- Čtyři směrová tlačítka na desce mění zvolenou adresu. Například stisknutím pravého tlačítka přidáte 1 k adrese a vyberete blok vpravo od předchozího bloku. Stisknutím tlačítka dolů se přidá 40 k adrese a vybere se blok pod předchozím blokem.
- Středové tlačítko slouží k nastavení všech barevných hodnot na 0 při stisknutí. Toto se má chovat jako tlačítko pro mazání, které je pro uživatele snadné používat, takže uživatel nemusí přepínat každý přepínač na 0, aby jej vymazal.
- Poslední obrázek je blokové schéma ovladače. Je poměrně široký, protože obsahuje součásti modulu a nemusí být zobrazen úplně.
Krok 5: Užijte si své stvoření
Zde propojené je rychlý timelapse zábavy, kterou si můžete užít s konečným projektem, dokonce i pomocí vstupů pomocí přepínačů a tlačítek na základní desce.
Děkuji za přečtení!
Doporučuje:
Senzorické malování: 5 kroků

Sensorial Painting: Sensorial Painting es un proyecto diseñado para que alguien no vidente pueda pintar o dibujar dentro de bordes que uno pueda delimitar. Využijte všech kulturních a kulturních map. SP te avisará mediante sonidos de un Trompe
Začátek malování světlem (bez Photoshopu): 5 kroků (s obrázky)

Začínáme s malováním světlem (bez Photoshopu): Nedávno jsem si koupil nový fotoaparát a zkoumal jsem některé jeho funkce, když jsem na internetu narazil na malování světlem nebo fotografování s dlouhou expozicí. Většina z nás uvidí základní formu světelné malby s fotografií ve městě se silnicí
Paleta k malování hudby: 7 kroků (s obrázky)

Paleta na malování hudby: Zdrojem inspirace pro mé zařízení je 'Chromola', nástroj, který Preston S. Millar vytvořil, aby poskytoval barevný světelný doprovod k 'Prometeus: Poem of Fire' Alexandra Scriabina, symfonii, která měla premiéru v Carnegie Hall na 21. března 1915
RGB LED pero pro malování světlem: 17 kroků (s obrázky)

RGB LED pero pro lightpainting: Toto je kompletní návod k sestavení nástroje pro malování světlem, který používá RGB LED ovladač. Tento ovladač hodně používám ve svých pokročilých nástrojích a myslel jsem si, že dokument o tom, jak je to postaveno a naprogramováno, může některým lidem pomoci. Tento nástroj je modul
Úprava vytvoření IRobota na malování: 6 kroků (s obrázky)

Úprava vytvoření IRobota na Malování: Jedná se o robotický projekt, který by pravděpodobně mohl dokončit někdo, kdo s roboty nemá vůbec žádné zkušenosti. Říkám to proto, že než jsem začal, neměl jsem s roboty žádné zkušenosti. Nebo psaní programů. Ve skutečnosti jsem věděl, jak malovat, a to bylo