Съдържание:
- Стъпка 1: Мотивация и проблем
- Стъпка 2: Получаване на необработената битова информация от USB Basys
- Стъпка 3: Разбор на USB информацията
- Стъпка 4: Показване на боядисаното изображение през VGA и редактиране на рисуваното
- Стъпка 5: Насладете се на вашето творение
Видео: Програма за рисуване VGA: 5 стъпки
2024 Автор: John Day | [email protected]. Последно модифициран: 2024-01-30 07:53
Проект на: Адам Клайн, Иън Страчан, Брандън Слейтър
Проектът, който се стремяхме да завършим, беше да съхраняваме, анализираме и показваме информация от USB мишка под формата на програма за рисуване. Идеята зад проекта е да може да включи мишката и VGA кабелите в платката Basys във вградените й портове и мишката да се показва като подвижен квадрат за рисуване на монитора, променящ различни цветове, когато се натисне ляв и десен бутон използвани. По същество щяхме да създадем драйвер за използване на мишката с basys борда и да имаме монитора като наша проверка на функционалността. Това, което в крайна сметка се случи, беше създаването на програма за рисуване с basys board като система за въвеждане и полуфункционална система за улавяне на данни за мишката.
В тази инструкция ще разбием стъпките от въвеждане на мишката до vga изход.
Стъпка 1: Мотивация и проблем
Мотивация:
Основната мотивация за нашия проект беше да създадем драйвер за мишка за дъската Basys3, която бъдещите студенти от CPE 133 ще могат да използват за своите финални проекти в бъдеще. Ние обаче направихме тази идея още по -далеч, като създадохме програма за рисуване, такава, от която биха могли да се изграждат и бъдещите студенти.
Проблем:
Проблемът, който открихме, беше, че няма ясен модул на мишката, готов за изтегляне и използване за платката Basys3. За да разрешим този проблем, ние се опитахме сами да създадем такъв. По този начин се стремяхме да създадем модул за мишка, който да позволи на бъдещите студенти по -лесно да внедрят въвеждане на мишка в своите проекти.
Стъпка 2: Получаване на необработената битова информация от USB Basys
- Голяма част от това, което направихме за мишката в този проект, идва от документацията на Basys3. От малкото ръководство за USB порта на Basys в този pdf, открихме, че платката Basys има вграден часовник за четене на битове с правилната скорост от USB устройства.
- По същество мишката изпраща битове към usb, започвайки от състояние на празен ход, чете 32 бита, представляващи състоянието на мишките, позиция x и позиция y и накрая завършва с друг празен бит. За да направите това, компонентът за въвеждане на мишката използва регистър за смяна и 32 -битов брояч, където регистърът за смяна се използва за съхраняване на 32 бита входящи данни от мишката, а 32 -битовият брояч се използва за преброяване на броя на съхраняваните битове, позволяващи състоянието регистрирайте се, за да нулирате и съхраните следващия набор от 32 входящи бита.
- Кодът за регистъра за смяна, 32 -битовия брояч и четеца на данни могат да се изтеглят по -долу, както и файлът с ограничения, адаптиран към използването на USB порта като вход
Стъпка 3: Разбор на USB информацията
- След като създадохме въвеждане на мишката към usb компонент, следващата стъпка беше да се създадат usb битове към векторния информационен компонент, който ще направи данните, получени от мишката, четими за vga.
- Този компонент използва машина за състояния, която приема набор от битове, изведени от въвеждането на мишката към usb и се движи през състоянията в зависимост от това дали са въведени нови битове, които променят състоянието и позицията на мишката.
- Блоковата диаграма за първите две стъпки на проекта е показана тук, а двата vhdl файла са за тестване на изпълнението на мишката с помощта на светодиодите basys (тест, който за съжаление никога не е преминал) и за предаване на битовия поток от USB порт към скоростта и позицията на векторите, които VGA може да използва.
- Изображението до блоковата диаграма по -горе е малка снимка (Instructables не ни позволява да покажем пълното широко изображение) на битовата информация, която намерихме в документацията на basys за завършване на тази стъпка.
Стъпка 4: Показване на боядисаното изображение през VGA и редактиране на рисуваното
- VGA кабелът има 14 бита изход, 4 бита за всеки от трите цвята и малко за хоризонтална и вертикална синхронизация.
-
OtherVGA е предоставеният VGA модул и той функционира, както следва:
- Мониторът е разделен на 40x30 блока с 16x16 пиксела за екран с разделителна способност 640x480, както се вижда на снимката по -горе. Модулът избира адрес на блок, който да представлява един от 1200 блока на монитора. Адресът на блока се избира чрез следното уравнение: адрес = 40y + x
- Цветът е представен от 12 -битов сигнал, който корелира със стойност RRRRGGGGBBBB, която оцветява избрания блок.
-
Нашият контролен код, VGAtest и VGAtestconst, функционира, както следва:
- Първо поставя избрания блок в центъра на монитора.
- Цветът на блока се определя от 12 превключвателя на платката, задавайки стойността на RRRRGGGGBBBB.
- Четирите бутони за насочване на дъската променят избрания адрес. Например, натискането на десния бутон ще добави 1 към адреса, като изберете блока отдясно на предишния блок. Натискането на бутона надолу ще добави 40 към адреса, като изберете блока под предния блок.
- Централният бутон се използва за задаване на всички стойности на цвета на 0 при натискане. Това е предназначено да се държи като бутон за изтриване, който е лесен за използване от потребителя, така че потребителят не трябва да превключва всеки превключвател на 0, за да изтрие.
- Последното изображение е блоковата диаграма на контролера. Той е доста широк, тъй като включва компоненти на модула и може да не се показва напълно.
Стъпка 5: Насладете се на вашето творение
Тук е свързан бърз интервал на забавлението, което можете да имате с окончателния проект, дори само с използването на превключвателите и бутоните на платката basys като вход.
Благодаря за четенето!
Препоръчано:
Два начина за създаване на приложение за рисуване: 10 стъпки
Два начина за създаване на приложение за рисуване: Знам, че това приложение за рисуване има само екран с 5x5 пиксела, така че наистина не можете да направите много, но все пак е забавно
Начално светло рисуване (без Photoshop): 5 стъпки (със снимки)
Начало на живопис със светлина (без Photoshop): Наскоро си купих нов фотоапарат и изследвах някои от неговите функции, когато попаднах на светлинна картина или фотография с дълга експозиция в интернет. Повечето от нас ще са виждали основната форма на осветяване със снимка в град с път
Робот 5 в 1 Arduino - Следвай ме - Следване на ред - Сумо - Рисуване - Избягване на препятствия: 6 стъпки
Робот 5 в 1 Arduino | Следвай ме | Следване на ред | Сумо | Рисуване | Избягване на препятствия: Тази контролна платка за робот съдържа микроконтролер ATmega328P и драйвер за двигател L293D. Разбира се, той не се различава от платката Arduino Uno, но е по -полезен, защото не се нуждае от друг щит за задвижване на двигателя! Без скок
Arduino TFT програма за рисуване: 4 стъпки
Arduino TFT програма за рисуване: Тази инструкция подробно описва кода, който влиза в създаването на програма за рисуване за Arduino TFT екран. Тази програма обаче е уникална, тъй като позволява запазването на чертеж на SD картата и зареждането му по -късно, за да се направят повече редакции
Светодиодни писалки за рисуване: Инструменти за рисуване на леки драскулки: 6 стъпки (със снимки)
Светодиодни химикалки за рисуване: Инструменти за рисуване на леки драскулки: Съпругата ми Лори е непрекъснато рисувачка и от години играя с фотография с дълга експозиция. Вдъхновени от групата PikaPika за лека артистичност и лекотата на цифровите фотоапарати, ние се възползвахме от формата на изкуството за рисуване на светлина, за да видим какво можем да направим