
Съдържание:
- Стъпка 1: Свържете (сензорния) екран
- Стъпка 2: Запознайте се с библиотеките
- Стъпка 3: Проектирайте графичен потребителски интерфейс / главно меню
- Стъпка 4: Свържете двата контролера
- Стъпка 5: Започнете да окабелявате безжичната връзка
- Стъпка 6: Станете диви! Изпробвайте различни неща
- Стъпка 7: Дизайн
- Стъпка 8: 3D отпечатване на корпуса
- Стъпка 9: Запояване и финализиране
- Стъпка 10: Визуализация
2025 Автор: John Day | [email protected]. Последно модифициран: 2025-01-23 14:36



Това, което използвах
- 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 отпечатване на корпуса



Този модел е отпечатан с 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: Визуализация
Препоръчано:
Ръчна игрална конзола за Raspberry Pi Zero: 6 стъпки (със снимки)

DIY Raspberry Pi Zero Handheld Game Console: В този проект ще ви покажа как съм използвал Raspberry Pi Zero, NiMH батерии, домашно създадена схема за защита от претоварване, LCD задно виждане и аудио усилвател, за да създам ръчна конзола за игри, която да може да играе ретро игри. Да започваме
ESP32 Ръчна игрална конзола: 21 стъпки (със снимки)

ESP32 Handheld Game Console: Тези инструкции показват как да използвате ESP32 и ATtiny861 за изграждане на NES емулатор на конзола за игри
Ръчна игрална конзола - Arduboy Clone: 6 стъпки (със снимки)

Ръчна игрална конзола | Arduboy Clone: Преди няколко месеца попаднах на Arduboy, който според официалния си уебсайт е миниатюрна 8-битова платформа за игри, която улеснява ученето, споделянето и играта на игри онлайн. Това е платформа с отворен код. Игрите за Arduboy са направени от потребителя
Домашна ръчна конзола: 12 стъпки (със снимки)

Домашна ръчна конзола: Добре дошли в моето стъпка по стъпка ръководство за това как да създадете свой собствен DIY GameBoy с Raspberry Pi 3 и софтуера за емулация на Retropie. Преди да започна този проект, нямах никакъв опит с малиново пи, ретропий, запояване, 3D печат или електрически
Ръчна конзола Arduino Pong: 6 стъпки (със снимки)

Ръчна конзола Arduino Pong: DFRobot се свърза с мен наскоро, искайки да използвам специалната им платка Arduino Nano и OLED. Първоначално исках да създам интелигентен мотор и го изградих изцяло. Но за съжаление Nano беше твърде слаб, за да работи и съхранява огромната скица