
2025 Автор: John Day | [email protected]. Последно модифициран: 2025-01-23 12:57



Това е безжичен контролер в аркаден стил, на който 4 души могат да играят наведнъж. Той е безжичен, така че не е нужно да свързвате компютъра си към контролер, който се използва от 5 -годишни. Те падат през цялото време и не искам да унищожават всичките ми играчки, когато неизбежно се спънат по жица. Наскоро купихме нов компютърен монитор и той дойде в супер здрава кутия с наистина плътен стиропор вътре. Като нещо от сериал, непрекъснато спорех с жена си за запазване на кутията. За мен това сякаш се молеше да бъде превърнато в нещо, докато за нея това беше грозен боклук. Тогава изневиделица, Instructables проведоха състезание за скорост на базата на картон. И така един следобед спорът беше уреден и този проект се роди.
Използвахме крайни коефициенти, които имахме около къщата, за да реализираме проекта. Идеята беше просто да използваме това, което вече имахме, за да направим нещо готино - за щастие имахме набор от аркадни бутони и малиново пи, закупени преди години, за да направим аркаден шкаф. За рязане използвахме трион и моя надежден стар джобен нож.
Консумативи
1. Картонена кутия2. Стиропор или друг плътен пълнител 3. Аркадни бутони от Ali Express или Amazon 4. Raspberry Pi 3B + 5. Някой друг компютър + екран. 6. Нож или нещо за изрязване на дупки в картон 7. Маскираща лента8. Спрей боя
Стъпка 1: Конструкцията



Бързо съставихме скица на това, което искаме да изглежда, а след това използвахме нож и трион за дърво, за да изрежем картона и стиропора до правилния размер. Маркирахме картона с добро разположение на бутон/джойстик и внимателно изрязахме дупките с нож. Това беше страхотно упражнение по основна математика за децата. След като картонът беше изрязан, го боядисахме и след това поставихме всички бутони на място. Основното интересно нещо, което направихме, беше да залепим три слоя картон за горната част на контролера, за да му придадем по -голяма твърдост. Това донякъде затруднява прорязването, но работи перфектно, за да направи горната част почти здрава като дърво.
Raspberry Pi 3B+ има четири usb порта. Имаме семейство от четири и 4 комплекта аркадни бутони! Това беше предопределение.
Стъпка 2: Програмирането




Кодът за този проект е прост и бъги. Всичко може да се намери тук:
github.com/melvyniandrag/SuperTuxJunkKart 4 -те контролера са свързани чрез usb към малиново пи. На Raspberry pi има изпълнен малък скрипт на python. Използвах библиотеката с входове на Python, за да получа сигналите от бутоните и джойстиците. След това програмата трансформира сигнала в кратък ASCII код и го изпраща през TCP гнездо през wifi на компютър, на който се играе игра (аз ще го наричам сървър за игри). Например, когато играч 0 премести джойстика наляво, знаците „0XL“се изпращат през TCP сокета към сървъра за игри. За тестване пуснах SuperTuxKart на моя Thinkpad. Малко сървърно приложение работи на Thinkpad и слуша през TCP сокета. Кодовете, които идват от малиновото пи през wifi, се превеждат в натискане на бутони на клавиатурата чрез библиотеката pyautogui. Така че, когато играч 0 на картонения контролер премества джойстика наляво и контролерът излъчва „OXL“, сървърът, който изпълнява играта, смята, че играчът е натиснал бутона „1“на клавиатурата. Играта трябва да бъде конфигурирана да разпознава тези натискания на клавиатурата, както може да бъде показано на екрана с опции тук. Тази игра работи добре с един или двама играчи, но когато 4 души играят агресивно SuperTuxKart, на сървъра започват да липсват някои данни от контролера. Не съм сигурен дали това е грешка: 1. От страна на клиента (контролер) 2. От страна на сървъра (Thinkpad) 3. Вградена функционалност на Linux. Може би моят лаптоп Ubuntu не може да разпознае голям брой едновременни натискания на клавиши. Така че, ако всички играчи 0, 1 и 2 се движат нагоре и наляво, това означава, че 2 * 3 = 6 бутона са натиснати наведнъж. Не съм сигурен дали компютърът ми (или друг компютър) е проектиран да се справи с това. Обикновено горещите клавиши са 3 или по -малко бутона, напр. CTRL + ALT + DEL. В бъдеще ще се опитам да стартирам 4 гнезда за tcp, по един за всеки контролер, и след това от страна на сървъра да създам виртуален подложка за игри. Все още не съм имал време да видя как да го направя между родителството, работата и изрязването на картонени кутии.
Стъпка 3: Бъдещето
Това беше просто Доказателство за концепция. В бъдеще кодът трябва да бъде по -добър. Бих искал да кодирам връзката като Bluetooth HID устройство, но bluez5 в Linux е малко време за работа - затова отидох с TCP сокет + Python. Също така - нека си признаем - контролерът изглежда като по дяволите. С повече време бих инвестирал малко повече енергия в по -внимателно рязане. След това бих сложил повече опори -страните на кутията започват леко да се изкривяват. За това какво е и колко струва обаче, това нещо изглежда достатъчно добре. Ще продължа да се занимавам с него, докато гледаме филми вечер.
Препоръчано:
Пощенска платка за 2 играча: 3 стъпки

PCB с понг за 2 играчи: В това ръководство можете да изградите преносима игра за понг с 2 играчи. Този дизайн е създаден около код, публикуван на GitHub от Onur Avun. Хареса ми създаването на този проект, надявам се да ви хареса да го изградите
Подмяна на корпуса на безжичен Xbox 360 контролер: 15 стъпки (със снимки)

Подмяна на черупката на безжичен Xbox 360 контролер: Ръководство стъпка по стъпка за подмяна на черупката на Xbox 360 контролер на нова обвивка. Този урок може да се използва, за да помогне на студентите да имат основни познания за хардуера, електрическото/компютърното инженерство и принципите на компютърните науки чрез видео гейм
Безжичен робот Arduino, използващ безжичен модул HC12: 7 стъпки

Безжичен робот Arduino, използващ безжичен модул HC12: Здравейте, добре дошли отново. В предишната си публикация обясних какво е H мостова верига, интегрална схема на драйвер на двигател L293D, интегрирана интегрална схема на драйвер на двигател L293D за управление на двигатели с висок ток и как можете да проектирате и направите своя собствена платка за двигател на двигател L293D
Конкурентна игра срещу времето за 2 играча: 4 стъпки

Конкурентна игра срещу времето за 2 играча: Ще ви трябват: 1. Digignt Basys 3, FPGA Board (или всяка друга FPGA,) 2. Сравнително актуална версия на Vivado или друга VHDL среда3. Компютър, който може да изпълнява споменатата програма
Проникнете безжичен звънец на вратата в безжичен алармен превключвател или превключвател за включване/изключване: 4 стъпки

Хакнете безжичен звънец на вратата в безжичен алармен превключвател или превключвател за включване/изключване: Наскоро изградих алармена система и я инсталирах в къщата си. Използвах магнитни превключватели на вратите и ги свързах по тавана. Прозорците бяха друга история и трудното окабеляване не беше опция. Имах нужда от безжично решение и това е