Съдържание:
- Консумативи
- Стъпка 1: Дизайн
- Стъпка 2: Отпечатайте вашето творение
- Стъпка 3: Подготовка на прототипната ви дъска
- Стъпка 4: По избор: Украсете корпуса на контролера
- Стъпка 5: Окончателно сглобяване
- Стъпка 6: Програмирайте вашия Arduino
- Стъпка 7: Играйте вашите игри
- Стъпка 8: Извлечени уроци
Видео: На контролера Go: 8 стъпки
2024 Автор: John Day | [email protected]. Последно модифициран: 2024-01-30 07:51
Обичате ли да играете игри на вашия смартфон? Омръзна ли ви да играете с тромави сензорни контроли? Мразите да забравите да заредите вашия Bluetooth контролер? Имате нужда от използване на този в движение кабел, който сте купили, но никога не използвате?
Защо не направите свой собствен контролер в движение?
Сигурен съм, че доста закъснях за играта (предназначена за каламбур), но наскоро открих, че старият ми смартфон може да играе ретро игри чрез емулация. Като пораснах, бях голям фен на системите на Game Boy и имам хубави спомени за игра с часове и напрегнати очи при дълги пътувания с кола, отчаяно опитващи се да намерят точка за спасяване, преди батерията ми да умре или слънцето да е твърде далеч от хоризонта, за да вижте моя екран. Сега мога да играя на телефона си и да изпадам в носталгия, но с хубав екран с подсветка. Благодаря технология!
Отказ от отговорност: Имулацията на играта е чувствителна тема и в някои случаи заобикаля линията на пиратство. Моля, образовайте се и играйте отговорно!
Заден план:
Реших да продължа този проект, след като направих клавиатура за бърз достъп. Докато изучавах библиотеката с клавиатура arduino и измислях преки пътища, обвързах някои от тестовите бутони към WASD. Той веднага започна да работи с моите компютърни игри и това накара колелата да се завъртят. Приблизително по това време ми свърши мястото в аудиокнигите на телефона и потърсих как да използвам USB флаш устройство с телефона си, тъй като моделът ми не позволява microSD карти. Тогава научих за OTG. OTG използва зареждането от батерията на вашите телефони, за да захранва свързаното към него устройство. Това включва клавиатури, мишки и флаш устройства, за да назовем само няколко. Телефонът може да захранва 5v устройства и да познае какво изисква arduino micro за работа? Това беше мач, направен в небето.
Консумативи
Arduino Micro
Прототипна дъска
12 x 6 мм бутони (използвах класически тактилни превключватели на макет)
Поялник и спойка
3D принтер
Кабел в движение (OTG); Направих си сам
Micro USB кабел за зареждане
Стъпка 1: Дизайн
Исках моят контролер да бъде преносим и да предлага всички бутони, от които се нуждая, за да играя игри до ерата на Super Nintendo. Това означаваше, че ще ми трябват 12 бутона. Четири за посоката (d-pad) и осем за A, B, X, Y, Start, Select, Left Trigger и Right Trigger. Имах и допълнително изискване, че искам да е симетрично, за да мога да го играя с една ръка с всяка от двете ръце. Това допълнително изискване може да звучи странно, но за да дам някакъв контекст, трябва да спомена, че напоследък редовно се озовавам в ръцете на спящо бебе и използвам само една ръка през ограниченото си време за игри.
С определените изисквания се заех да проектирам моя контролер в CAD. Аз лично използвам OnShape, но знам, че много хора имат успех и с Fusion360. Бих искал да извикам бързо към другите хора на този сайт, които проектират свои собствени творения. Трудна работа! Дизайнът, който измислих, беше супер прост, но все пак отне много часове, за да бъда доволен. Дори докато изписвам това, забелязвам много подобрения, които бих искал да направя.
(Планирам да използвам.stl файловете в Thingiverse, когато времето позволява. Файловете ще бъдат там, за да мога да ги актуализирам, без да се налага постоянно да качвам файлове тук.)
Стъпка 2: Отпечатайте вашето творение
Имам принтер Ender 3, който имам само от няколко месеца. Това е чудесен принтер, с който можете да започнете, ако искате да се захванете с 3D печат. Не осъзнавах колко е лошо, докато не премерих частите си за този проект. До този проект го използвах само за отпечатване на мини за настолни игри. Мините излязоха страхотно и не ми пукаше много за размерите. Трябваха ми няколко калибриращи кубчета и нова ролка нажежаема жичка, преди да остана доволен от резултатите.
Стъпка 3: Подготовка на прототипната ви дъска
Преди запояване на бутони към прототипна платка тествах всички бутони на макет и тествах кода си arduino едновременно. Ще прегледам кода на по -късна стъпка.
Сега е най -подходящият момент да намалите размера на прототипната си дъска. Използвайте вашия отпечатан корпус на контролера като водач и поставете бутоните на сухо, за да сте сигурни, че всичко се подрежда. Току -що взех няколко отрязвания на тел и отрязах излишната дъска, след което шлайфах ръбовете квадратни с около 150 шкурка.
Окабеляването на контролера е наистина лесно, тъй като използваме вътрешните резистори за изтегляне на arduino micro. Всички бутони отиват към вход и земя. Бутоните, които използвам, са общи 6 мм тактилни моментни превключватели.
Запояването на бутоните към arduino беше забавен малък пъзел за решаване. Някои от бутоните бяха под arduino и трябваше да изкарам проводници отдолу, преди да запоя arduino към прототипната платка. Ако се вгледате внимателно от страна на бутона на дъската, пропуснах лявата и дясната страна за подложката за посоки.
За моя специфичен дизайн запоявах бутоните за насочване нагоре и надолу (пропуснах бутоните за насочване наляво и надясно) към прототипната платка заедно с някои изключително дълги проводници, след което преобърнах дъската и запоявах arduino. Нямам диаграма, защото предимно запоявах бутоните един по един на случаен принцип (може да кача такъв, ако има достатъчно интерес). След като arduino е закрепен, обърнах дъската обратно към страната на бутона и запоявам останалите бутони и техните проводници.
Стъпка 4: По избор: Украсете корпуса на контролера
Преди окончателното сглобяване е подходящ момент за шлайфане, запълване на празнини и боядисване на корпуса на контролера. Избрах да пропусна тази стъпка за моя прототип, защото исках да имам нещо, което да използвам веднага. Когато неизбежно подобря дизайна си към нещо по -полирано, ще му дам болката, която заслужава.
Стъпка 5: Окончателно сглобяване
Сега е моментът да поставите всичките си бутони и завършената прототипна платка в корпуса. Използвах винтове за ламарина #4-24 x 1/2 за моя дизайн. Те свършват работата, но не се вписват толкова добре, колкото бих искал.
Стъпка 6: Програмирайте вашия Arduino
Може да искате да направите тази стъпка по -рано, когато все още проектирате платката или след като сте запояли всичко към прототипната платка. Просто обичам да имам това в свой собствен раздел.
Кодът е много прост спрямо повечето програми arduino, които съм виждал. Трябва само да присвоим на всеки бутон стойност на клавиатурата и arduino ще премине, за да провери кои бутони са натиснати и да изпрати тази информация на нашия телефон.
За тези, които се интересуват, използвам приложението retroArch, за да играя моите ретро игри. Клавишите, които използвах, са настроени на подредбата на клавиатурата по подразбиране, използвана за retroArch.
#include #include "Keyboard.h" #define NUM_BUTTONS 12 const uint8_t BUTTON_PINS [NUM_BUTTONS] = {2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13}; // a = 'x' // b = 'z' // x = 's' // y = 'a' // ляво рамо = 'q' // дясно рамо = 'w' // select = 'rshift '// start =' enter '// up =' key: up '// down =' key: down '// left =' key: left '// right =' key: right 'const char BUTTON_KEYS [NUM_BUTTONS] = {KEY_RETURN, KEY_DOWN_ARROW, KEY_UP_ARROW, KEY_LEFT_ARROW, KEY_RIGHT_ARROW, KEY_RIGHT_SHIFT, 'z', 'x', 's', 'a', 'q', 'w'}; Bounce * бутони = нов Bounce [NUM_BUTTONS]; void setup () {for (int i = 0; i <NUM_BUTTONS; i ++) {бутони .attach (BUTTON_PINS , INPUT_PULLUP); бутони .интервал (25); } // инициализира контрола над клавиатурата: Keyboard.begin (); } void loop () {// проверява дали стойността е променена за (int i = 0; i <NUM_BUTTONS; i ++) {бутони .update (); if (бутони .fell ()) {Keyboard.press (BUTTON_KEYS ); } if (бутони .rose ()) {Keyboard.release (BUTTON_KEYS ); }}}
Стъпка 7: Играйте вашите игри
Като алтернатива, този контролер може да се използва с компютър без OTG кабел за изпращане на натискане на клавиши или макроси. Имах и приятел, който каза, че подобен контролер може да бъде полезен и за рисуване на таблети, въпреки че никога досега не съм се забърквал с такъв.
Надявам се да ви е бил полезен този Instructable. По -долу е раздел за научени уроци за тези, които се интересуват от това, което научих по време на процеса и какво бих искал да направя по различен начин.
Стъпка 8: Извлечени уроци
CAD:
В миналото никога не съм се забърквал много с CAD софтуера и трябваше да се уча в движение с този дизайн. Първоначално отидох с по -изправен дизайн, който би паснал в ръцете ви подобно на Wii Nunchuk. Моите ограничени познания за проектиране с органични форми бяха моят провал. Може би трябва да взема Intructables върху неговия клас на CAD дизайн.
Бутони:
Бутоните, които използвах, бяха по -силни, отколкото бих искал (особено когато се опитвате да попречите на някой да се събуди). Бих искал да намеря някои по -тихи бутони. Включването на пружини между бутоните и капачките на копчетата би направило дълъг път, за да накара конструкцията да се чувства по -полирана. Бутоните са твърде хлабави за моя вкус.
Запояване:
Аз съм начинаещ в запояването и нямам много стабилни ръце. Запояването на всички тези малки проводници навсякъде отне много повече време, отколкото очаквах. Ако трябваше да направя всичко отначало, определено щях да очертая къде ще минат кабелите, преди да хвана ютията. Това би смекчило грешките, които открих след поставянето на arduino на прототипната платка и би ми спестило време.
Препоръчано:
Съпоставяне на контролера за компютърни игри (Linux и Windows): 5 стъпки
Съпоставяне на контролери за компютърни игри (Linux и Windows): Ако започвате в областта на игрите на персонален компютър, може да имате няколко стъпки, за да стигнете до там. Днес ще ви покажа как да използвате безплатно USB контролер за игри дори с най -старите компютърни игри. Техниката
Плъзгач за камера за проследяване на обекти с ротационна ос. 3D отпечатано и вградено в контролера за DC двигател на RoboClaw и Arduino: 5 стъпки (със снимки)
Плъзгач за камера за проследяване на обекти с ротационна ос. 3D отпечатано и изградено върху RoboClaw DC моторния контролер и Arduino: Този проект е един от любимите ми проекти, откакто съчетах интереса си от създаването на видео с DIY. Винаги съм гледал и исках да подражавам на тези кинематографични кадри във филми, където камера се движи по екрана, докато се движи, за да проследи
Как да направите верига на контролера на напрежение, използвайки транзистор 13003: 6 стъпки
Как да направим верига на контролера за напрежение, използвайки транзистор 13003: Здравейте приятелю, Днес ще направя верига от контролер за напрежение, която ще дава захранване с променливо напрежение. Когато правим електронни проекти, тогава се нуждаем от различни напрежения за работа на веригата. Ето защо Ще направя това
Безжичен игрови контролер с Arduino и NRF24L01+ (поддръжка за един или два контролера): 3 стъпки
Безжичен игрови контролер с Arduino и NRF24L01+ (поддръжка за един или два контролера): Можете да намерите пълния проект от моя уебсайт (той е на финландски): https://teukka.webnode.com/l/langaton-ohjain-atmega-lla- ja-nrf24l01-radiomoduulilla/Това е наистина кратък брифинг за проекта. Исках само да го споделя, ако някой иска
Как да направите верига на контролера на двигателя: 6 стъпки
Как да направим верига на контролера на двигателя: Здравейте, Понякога се нуждаем от по -малко обороти в минута (въртене в минута) на двигателя, а понякога се нуждаем от много високи обороти на двигателя. Обороти на двигателя. Можем да използваме този кръг