Taula de continguts:
- Pas 1: motivació i problema
- Pas 2: Obtenir la informació de bits en brut des de la base USB
- Pas 3: analitzar la informació USB
- Pas 4: mostrar la imatge pintada sobre VGA i editar el que es dibuixa
- Pas 5: gaudiu de la vostra creació
Vídeo: Programa de pintura VGA: 5 passos
2024 Autora: John Day | [email protected]. Última modificació: 2024-01-30 08:15
Projecte de: Adam Klein, Ian Strachan, Brandon Slater
El projecte que ens vam proposar completar era emmagatzemar, analitzar i mostrar informació d’un ratolí USB en forma de programa de pintura. La idea darrere del projecte és poder connectar el ratolí i els cables VGA a la placa Basys dels ports integrats i fer que el ratolí es mostri com un quadrat mòbil al monitor, canviant els colors diferents quan es fan clic esquerra i dreta. usat. En essència, crearíem un controlador per utilitzar el ratolí amb la placa base i tenir el monitor com a verificació de la funcionalitat. El que realment va acabar va ser la creació d’un programa de dibuix amb la placa base com a sistema d’entrada i un sistema de captura de dades semi-funcional per al ratolí.
En aquesta instrucció, desglossarem els passos de l'entrada del ratolí a la sortida vga.
Pas 1: motivació i problema
Motivació:
La principal motivació del nostre projecte era crear un controlador de ratolí per a la placa Basys3 que els futurs estudiants del CPE 133 podrien utilitzar per als seus projectes finals en el futur. Tot i això, vam fer aquesta idea un pas més enllà creant un programa de pintura, que també podrien construir els futurs estudiants.
Problema:
El problema que vam descobrir va ser que no hi ha cap mòdul clar del ratolí a punt per descarregar i utilitzar per a la placa Basys3. Per solucionar aquest problema, vam intentar crear-ne un nosaltres mateixos. En fer-ho, ens esforcàvem per crear un mòdul de ratolí que permetés als futurs estudiants implementar més fàcilment l’entrada del ratolí en els seus projectes.
Pas 2: Obtenir la informació de bits en brut des de la base USB
- Gran part del que vam fer pel ratolí en aquest projecte provenia de la documentació de Basys3. A partir de la petita guia del port USB Basys d’aquest pdf, vam trobar que la placa Basys té un rellotge integrat per llegir bits a la velocitat adequada des de dispositius USB.
- Bàsicament, el ratolí envia bits a usb a partir d’un estat inactiu, llegeix 32 bits que representen l’estat dels ratolins, la posició x i la posició y i, finalment, acaba amb un altre bit inactiu. Per fer-ho, el component d’entrada del ratolí utilitza un registre de desplaçament i un comptador de 32 bits on el registre de desplaçament s’utilitza per emmagatzemar 32 bits de dades entrants del ratolí i el comptador de 32 bits s’utilitza per comptar el nombre de bits que s’emmagatzemen permetent l’estat registre per restablir i emmagatzemar el següent conjunt de 32 bits entrants.
- A continuació es poden descarregar el codi del registre de desplaçament, el comptador de 32 bits i el lector de dades, així com el fitxer de restriccions adaptat al nostre ús del port USB com a entrada
Pas 3: analitzar la informació USB
- Després de crear l'entrada del ratolí al component usb, el pas següent va ser crear els components usb bits a informació d'informació vectorial que fessin que les dades rebudes pel ratolí fossin llegibles per al vga.
- Aquest component utilitza una màquina d’estats que pren el conjunt de bits produïts per l’entrada del ratolí a usb i es mou pels estats en funció de si s’han introduït nous bits que canvien l’estat i la posició del ratolí.
- El diagrama de blocs dels dos primers passos del projecte es mostra aquí i els dos fitxers vhdl serveixen per provar la implementació del ratolí mitjançant els LED basys (una prova que malauradament no s’ha superat mai) i per emetre el flux de bits des de l’USB port per velocitzar i posicionar els vectors que el VGA pot utilitzar.
- La imatge al costat del diagrama de blocs anterior és una petita instantània (Instructables no ens permet mostrar la imatge ampla completa) de la informació de bits que hem trobat a la documentació bàsica per completar aquest pas.
Pas 4: mostrar la imatge pintada sobre VGA i editar el que es dibuixa
- El cable VGA té 14 bits de sortida, 4 bits per a cadascun dels tres colors i un bit per a la sincronització horitzontal i vertical.
-
OtherVGA és el mòdul VGA proporcionat i funciona de la següent manera:
- El monitor es divideix en blocs de 40x30 de 16x16 píxels per a una pantalla de resolució de 640x480, tal com es veu a la imatge superior. El mòdul selecciona una adreça de bloc per representar un dels 1200 blocs del monitor. L'adreça del bloc es selecciona mitjançant la següent equació: address = 40y + x
- El color es representa mitjançant un senyal de 12 bits que es correlaciona amb un valor RRRRGGGGBBBB que acolora el bloc seleccionat.
-
El nostre codi de control, VGAtest i VGAtestconst, funciona de la següent manera:
- Primer estableix el bloc seleccionat al centre del monitor.
- El color del bloc es determina mitjançant 12 commutadors al tauler, que defineixen el valor RRRRGGGGBBBB.
- Els quatre botons direccionals del tauler canvien l'adreça seleccionada. Per exemple, prement el botó dret s'afegirà 1 a l'adreça, seleccionant el bloc a la dreta del bloc anterior. En prémer el botó cap avall, s’afegirà 40 a l’adreça, seleccionant el bloc que hi ha a sota del bloc anterior.
- El botó central s’utilitza per establir tots els valors de color a 0 quan es prem. Això vol dir que es comporta com un botó d'esborrar que és fàcil d'utilitzar per l'usuari, de manera que no ha de girar tots els commutadors a 0 per esborrar-lo.
- La darrera imatge és el diagrama de blocs del controlador. És bastant ampli, ja que inclou components del mòdul i és possible que no es mostri completament.
Pas 5: gaudiu de la vostra creació
Enllaçat aquí hi ha un lapse de temps ràpid de la diversió que podeu tenir amb el projecte final, fins i tot només amb els interruptors i els botons del tauler base com a entrada.
Gràcies per llegir!
Recomanat:
Robot de pintura alimentat per Arduino: 11 passos (amb imatges)
Robot de pintura Powered Arduino: us heu preguntat mai si un robot podria crear pintures i art fascinants? En aquest projecte intento fer-ho realitat amb un robot de pintura Powered Arduino. L’objectiu és que el robot pugui fer pintures per si mateix i utilitzar un ref
Pintura sensorial: 5 passos
Pintura sensorial: Pintura sensorial és un projecte dissenyat per a algú no vident pueda pintar o dibuixar dins de fronteres que un pueda delimitar. En aquest cas utilitzarem un Kultrun de la cultura i el poble maputxe. SP et avisarà mitjançant sons d'un Trompe
Pintura de llum inicial (sense Photoshop): 5 passos (amb imatges)
Beginning Light Painting (sense Photoshop): recentment he comprat una càmera nova i investigava algunes de les seves funcions quan em vaig trobar amb la pintura de llum o la fotografia de llarga exposició a Internet. La majoria de nosaltres haurem vist la forma bàsica de pintar amb una foto en una ciutat amb una carretera
Tauler tàctil amb pintura elèctrica i MakeyMakey: 4 passos
Tauler tàctil amb pintura elèctrica i MakeyMakey: un bonic quadre amb un efecte sorprenent, perfecte per conduir els nens a interaccions fetes per si mateixos. Combina dibuix, TapeArt, pintura i codificació senzilla amb rascades i alguns fitxers sonors potser fets per si mateixos
Com organitzar un programa i un programa d'instruccions: 8 passos
Com allotjar un Show i Tell Instructables: aquesta és una guia per executar un Show i Tell Instructables. Es basa principalment en un esdeveniment celebrat a Instructables el divendres 9 de març de 2007, però també en l’encarnació anterior d’aquest esdeveniment, els Squid Labs Light Salons. L’objectiu d’un espectacle i tel