Spisu treści:

Bezprzewodowy kontroler gier rodzinnych dla 4 graczy: 3 kroki
Bezprzewodowy kontroler gier rodzinnych dla 4 graczy: 3 kroki

Wideo: Bezprzewodowy kontroler gier rodzinnych dla 4 graczy: 3 kroki

Wideo: Bezprzewodowy kontroler gier rodzinnych dla 4 graczy: 3 kroki
Wideo: PlayStation Access Controller | prezentacja i test! 2024, Listopad
Anonim
Bezprzewodowy kontroler gier rodzinnych dla 4 graczy
Bezprzewodowy kontroler gier rodzinnych dla 4 graczy
Bezprzewodowy kontroler gier rodzinnych dla 4 graczy
Bezprzewodowy kontroler gier rodzinnych dla 4 graczy
Bezprzewodowy kontroler gier rodzinnych dla 4 graczy
Bezprzewodowy kontroler gier rodzinnych dla 4 graczy

Jest to bezprzewodowy kontroler w stylu arcade, na którym mogą grać jednocześnie 4 osoby. Jest bezprzewodowa, więc nie musisz przywiązywać komputera do kontrolera używanego przez 5-latki. Ciągle spadają i nie chcę, żeby zniszczyły wszystkie moje zabawki, gdy nieuchronnie potkną się na drucie. Niedawno kupiliśmy nowy monitor komputerowy, który był w super wytrzymałym pudełku z naprawdę gęstym styropianem w środku. Jak coś z sitcomu, nieustannie kłóciłem się z żoną o zachowanie pudełka. Dla mnie wydawało się to błaganiem, by przemienić się w coś, podczas gdy dla niej były to brzydkie śmieci. Następnie, niespodziewanie, Instructables przeprowadzili konkurs szybkości oparty na tekturze. I tak po południu spór został rozstrzygnięty i narodził się ten projekt.

Wykorzystaliśmy drobiazgi, które mieliśmy w domu, aby ożywić projekt. Pomysł polegał na tym, aby wykorzystać to, co już siedzieliśmy, do zrobienia czegoś fajnego - na szczęście mieliśmy zestaw arkadowych przycisków i kupione wieki temu malinowe pi, aby zrobić arkadową szafkę. Do cięcia użyliśmy piły i mojego sprawdzonego starego scyzoryka.

Kieszonkowe dzieci

1. Pudełko kartonowe2. Styropian lub inny gęsty wypełniacz 3. Przyciski Arcade z Ali Express lub Amazon 4. Raspberry Pi 3B+ 5. Jakiś inny komputer + ekran. 6. Nóż lub coś do wycinania otworów w kartonie 7. Taśma maskująca8. Farba w sprayu

Krok 1: Budowa

Konstrukcja
Konstrukcja
Konstrukcja
Konstrukcja
Konstrukcja
Konstrukcja

Szybko narysowaliśmy szkic tego, jak chcieliśmy, żeby to wyglądało, a następnie przy użyciu noża i piły do drewna przycięliśmy karton i styropian do odpowiedniego rozmiaru. Oznaczyliśmy karton dobrym układem przycisków/joysticków i ostrożnie wycinaliśmy otwory nożem. To było świetne ćwiczenie z podstaw matematyki dla dzieci. Po wycięciu kartonu pomalowaliśmy go, a następnie umieściliśmy wszystkie guziki na miejscu. Najciekawszą rzeczą, jaką zrobiliśmy, było przyklejenie trzech warstw kartonu na górze kontrolera, aby nadać mu większą sztywność. To sprawiło, że było to nieco trudne do przecięcia, ale doskonale sprawdziło się, aby blat był prawie tak solidny jak drewno.

Raspberry Pi 3B+ ma cztery porty USB. Mamy rodzinę czterech i czterech zestawów arkadowych przycisków! To było przeznaczenie.

Krok 2: Programowanie

Programowanie
Programowanie
Programowanie
Programowanie
Programowanie
Programowanie
Programowanie
Programowanie

Kod tego projektu jest prosty i zawiera błędy. To wszystko znajdziesz tutaj:

github.com/melvyniandrag/SuperTuxJunkKart 4 kontrolery są podłączone przez USB do raspberry pi. Na Raspberry pi działa mały skrypt Pythona. Użyłem biblioteki wejść Pythona, aby uzyskać sygnały z przycisków i joysticków. Program następnie przekształca sygnał na krótki kod ASCII i wysyła go przez gniazdo TCP przez Wi-Fi do komputera z uruchomioną grą (nazywam to serwerem gry). Na przykład, gdy gracz 0 porusza joystickiem w lewo, znaki „0XL” są wysyłane przez gniazdo TCP do serwera gry. Do testów uruchomiłem SuperTuxKart na moim ThinkPadzie. Mała aplikacja serwerowa działa na ThinkPadzie i nasłuchuje na gnieździe TCP. Kody pochodzące z raspberry pi przez Wi-Fi są tłumaczone na naciśnięcia przycisków na klawiaturze za pośrednictwem biblioteki pyautogui. Tak więc, gdy gracz 0 na kartonowym kontrolerze przesunie joystick w lewo, a kontroler wyemituje „OXL”, serwer uruchamiający grę myśli, że gracz nacisnął przycisk „1” na klawiaturze. Gra musi być skonfigurowana tak, aby rozpoznawała te naciśnięcia klawiatury, jak pokazano na ekranie opcji tutaj. Ta gra działa dobrze z jednym lub dwoma graczami, ale gdy 4 osoby grają agresywnie w SuperTuxKart, serwer zaczyna tracić niektóre dane z kontrolera. Nie jestem pewien, czy to błąd:1. Po stronie klienta (kontrolera)2. Po stronie serwera (thinkpad)3. Wbudowana funkcjonalność Linuksa. Może mój laptop z Ubuntu nie rozpoznaje dużej liczby jednoczesnych naciśnięć klawiszy. Więc jeśli gracze 0, 1 i 2 kierują się w górę iw lewo, oznacza to, że 2 * 3 = 6 przycisków jest naciskanych jednocześnie. Nie jestem pewien, czy mój komputer (lub jakikolwiek inny) jest do tego przystosowany. Zwykle klawisze skrótów to 3 lub mniej przycisków, np. CTRL + ALT + DEL. W przyszłości spróbuję uruchomić 4 gniazda tcp, po jednym dla każdego kontrolera, a następnie po stronie serwera stworzyć wirtualny gamepad. Nie miałem jeszcze czasu, aby zobaczyć, jak to zrobić między rodzicielstwem, pracą i krojeniem kartonów.

Krok 3: Przyszłość

To był prosty Proof of Concept. W przyszłości kod musi być lepszy. Chciałbym zakodować połączenie jako urządzenie bluetooth HID, ale bluez5 pod Linuksem to trochę za dużo czasu do pracy - dlatego poszedłem z gniazdem TCP + Python. Także - spójrzmy prawdzie w oczy - kontroler wygląda jak cholera. Mając więcej czasu, zainwestowałbym trochę więcej energii w bardziej ostrożne cięcie. Potem dodałbym więcej podpór - boki pudełka zaczynają się trochę wypaczać. Jak na to, co to jest i ile kosztuje, ta rzecz wygląda wystarczająco dobrze. Będę dalej majstrował przy tym, gdy wieczorem oglądamy filmy.

Zalecana: