Съдържание:

Ръчна конзола с безжични контролери и сензори (Arduino MEGA & UNO): 10 стъпки (със снимки)
Ръчна конзола с безжични контролери и сензори (Arduino MEGA & UNO): 10 стъпки (със снимки)

Видео: Ръчна конзола с безжични контролери и сензори (Arduino MEGA & UNO): 10 стъпки (със снимки)

Видео: Ръчна конзола с безжични контролери и сензори (Arduino MEGA & UNO): 10 стъпки (със снимки)
Видео: Бесшумное zigbee реле в подрозетник без нулевой линии, особенности монтажа, установка конденсатора 2024, Юли
Anonim
Image
Image
Свържете (сензорния) екран
Свържете (сензорния) екран

Това, което използвах

- Arduino MEGA

- 2x Arduino UNO

- Adafruit 3.5 TFT 320x480 сензорен екран HXD8357D

- Звуков сигнал

- 4Ohm 3W високоговорител

- 5 мм LED светлини

- Принтер Ultimaker 2+ с черна PLA нишка

- Лазерно рязане с MDF дърво

- Черна спрей боя (за дърво)

- 3x nRF24L01+ безжични трансивери

- 2x 16 мм бутон

- 2x сензори за налягане

- 3x 9V държачи за батерии

- Платформа

- 2x 0.96 '' OLED I2C екрани

- Мъжки - женски проводници

- Поялна станция

- Супер лепило

- 2x едноканален сензорен модул (ЧЕРВЕН/СИН)

Стъпка 1: Свържете (сензорния) екран

Свържете (сензорния) екран
Свържете (сензорния) екран
Свържете (сензорния) екран
Свържете (сензорния) екран

Така че ще направим тази ръчна конзола, с два безжични контролера.

Следователно ще имаме основно устройство (най -голямата част, с LCD екрана)

Основното устройство ще се управлява с Arduino MEGA.

Всеки от двата отделни контролера ще управлява Arduino UNO.

По -късно ще накараме Arduinos да комуникират помежду си, за да изпратят данни за контролера.

Започнете с правилното свързване на екрана 320x480 към основния екран (Arduino MEGA), както в този урок. (Adafruit има чудесен подробен урок за окабеляване и код).

За звук свързах зумер и 3W 4Ohm високоговорител, за да отделя цифровите щифтове и GND.

с тона (щифт, честота, продължителност); Можете да създадете някои основни монофонични звуци.

Стъпка 2: Запознайте се с библиотеките

Запознайте се с библиотеките
Запознайте се с библиотеките
Запознайте се с библиотеките
Запознайте се с библиотеките

Екранът Adafruit 320x480 поддържа съответните библиотеки Adafruit_GFX и Adafruit_TFTLCD.

Прочетете документацията. Мисля, че там е обяснено доста добре.

Уверете се, че сте въвели правилните настройки в Arduino IDE:

Инструменти -> Табло -> Arduino/Genuino MEGA или MEGA 2560

Инструменти -> Порт -> [Пристанището с „Arduino MEGA“в него]

Тази конкретна екранна библиотека поддържа персонализирани шрифтове, основни форми и разнообразие от цветове.

Нещо забележително може да бъде, че честотата на опресняване е твърде ниска за плавна анимация. Ако искате да актуализирате екрана с всяка отметка, той ще бъде твърде бавен, за да се справи с прерисуването на всеки пиксел, и ще трепне

Затова бих предложил да се работи творчески около това, например как някои от по -старите преносими компютри се справят с анимацията: с ключови кадри. По-малко е повече! И вместо да прерисувате всичко всяка секунда, ако искате да преместите правоъгълник наляво или надясно, можете просто да изтриете следата, която оставя след себе си, вместо да изтриете целия обект и да го прекроите.

Например, използвах трептенето на екрана като мигащ ефект за героя в интро последователността.

От библиотеката Adafruit_GFX използвах предимно tft.fillRect (x, y, ширина, височина, цвят); и tft.print (текст); функции.

Експериментирането е ключово.

Стъпка 3: Проектирайте графичен потребителски интерфейс / главно меню

Проектирайте графичен потребителски интерфейс / главно меню
Проектирайте графичен потребителски интерфейс / главно меню
Проектирайте графичен потребителски интерфейс / главно меню
Проектирайте графичен потребителски интерфейс / главно меню

След като придобиете знания в библиотеката и познаете нейните ограничения/правомощия, можете да започнете да проектирате екран на главното меню.

Отново помислете за правоъгълници. Поне аз така направих.

Ето моя код за потребителския интерфейс

pastebin.com/ubggvcqK

Можете да създадете плъзгачи за яркост на екрана, за да контролирате щифта „Lite“на вашия сензорен екран Adafruit чрез аналогов щифт.

Стъпка 4: Свържете двата контролера

Свържете двата контролера
Свържете двата контролера
Свържете двата контролера
Свържете двата контролера
Свържете двата контролера
Свържете двата контролера

Що се отнася до контролера, всъщност от вас зависи какви сензори искате да използвате, в зависимост от това каква игра планирате да направите

Добре, така че за контролерите реших да използвам:

- Сензор за налягане

- OLED екран

- Едноканален сензорен модул, който се включва или изключва

- Сензор за жестове (RobotDyn APDS9960)

- nRFL01+ трансивер (за безжична комуникация)

- Бутон за натискане

Забележка: Сензорът за жестове и OLED използват SCL / SDA връзки. Отне ми известно време да осъзная, че Arduino има само две: A4 и A5. Но можете просто да свържете тези паралели заедно на макета и ще работи добре

Стъпка 5: Започнете да окабелявате безжичната връзка

Започнете да окабелявате безжичната връзка
Започнете да окабелявате безжичната връзка
Започнете да окабелявате безжичната връзка
Започнете да окабелявате безжичната връзка
Започнете да окабелявате безжичната връзка
Започнете да окабелявате безжичната връзка

Окабеляването на модулите nRF24L01+ ми отне известно време, за да работи.

Трябваше да прибягна до библиотеката TMRh20 RF24, след като не успях да получа правилните сензорни данни, предадени на екрана.

За да могат множество Arduinos да комуникират помежду си, трябва да се уверим, че поне едно от UNO е захранвано, както и MEGA.

Използвайте серийната конзола на MEGA, за да отпечатате резултатите, които получавате от UNO, и да видите дали работи.

Ето кода

Ето библиотеката

Стъпка 6: Станете диви! Изпробвайте различни неща

Подивей! Изпробвайте различни неща
Подивей! Изпробвайте различни неща

Важна част от моя процес на развитие беше просто да изпробвам много неща!

Какви бутони искате да използвате?

Какво поставяте в контролерите си?

Огледайте се из уебсайтовете, освен обичайните бутони „A/B“или аналогови джойстици ще намерите много компоненти. Бъдете вдъхновени и мотивирани да го направите!

След като получите ясна и работеща представа какво искате да поставите в контролерите, свържете компонентите.

В зависимост от това как работят, ще трябва да използвате цифрови входове или аналогови входове.

ЗАБЕЛЕЖКА: Някои компоненти може да се нуждаят от SCL / SDA щифтове, за да работят правилно. И ако имате два или повече сензора, които се нуждаят от едно и също, вероятно ще получите паническа атака като мен. Но не е нужно да се притеснявате

Можете да поставите последователно щифтовете SDA и SCL на сензорите помежду си, влизайки в A4 и A5 и ще работи

Стъпка 7: Дизайн

Дизайн
Дизайн
Дизайн
Дизайн
Дизайн
Дизайн

След като имате страхотна идея за сензорите, които искате да използвате, скицирайте някои идеи за дизайн, който ви харесва.

След това влезте в някои програми за моделиране като Blender, Maya, Cinema 4D.

Използвах Blender, за да създам (груб) модел.

За да получите ясни измервания в Blender, можете да промените единицата за размер на мрежата на милиметри.

След като направите модел, уверете се, че нямате двойни върхове и сте преизчислили нормалите си.

Експортирайте файла като.stl, ако искате да използвате 3D принтер като мен.

ЗАБЕЛЕЖКА: В Blender ще трябва да зададете скалата за експортиране на 0,1, ако искате точния размер в Cura в следващата стъпка

Стъпка 8: 3D отпечатване на корпуса

3D отпечатване на корпуса
3D отпечатване на корпуса
3D отпечатване на корпуса
3D отпечатване на корпуса
3D отпечатване на корпуса
3D отпечатване на корпуса

Този модел е отпечатан с 2.85 мм черна PLA нишка на принтер Ultimaker 2+.

Изтеглете CURA

Заредете вашия. STL в Cura и той ще ви покаже колко време ще отнеме.

Отпечатването на ръчен калъф може да отнеме до 10 часа, в зависимост от размера.

За модели с ниска детайлност обаче можете да ускорите процеса, което направих.

Ето моите настройки:

Височина на слоя: 0,2

Дебелина на стената: 0,8

Дебелина отгоре/отдолу: 0,8

Дюза: 0.4

Температура: 60 градуса по Целзий

Дебит: 100%

Brim: Навсякъде, докосващо плоча за изграждане

Плътност на пълнене: 20%

Постепенно: 0

Температура на дюзата: 220 C

Скорост на печат: 120%

Стъпка 9: Запояване и финализиране

Запояване и финализиране
Запояване и финализиране
Запояване и финализиране
Запояване и финализиране
Запояване и финализиране
Запояване и финализиране

Изминахте дълъг път.

Последната стъпка е да придобиете перфорирана дъска / вероборд и да преведете връзките си с макет в част от прототипна дъска.

Уверете се, че електрониката се вписва в отпечатаните кутии и може би изрежете малко дървен MDF, за да направите части, през които бутоните / входовете на контролера проникват.

Използвах лазерно рязане за това.

Най -важното е да завиете, да изпробвате някои неща, които никога не сте правили иначе, и да се забавлявате!

Надявам се този урок да е бил достатъчно ясен … Това беше доста труден проект, който даде страхотен резултат!:)

Стъпка 10: Визуализация

Препоръчано: