Koder klawiatury do gry MAME Arcade: 6 kroków

Koder klawiatury do gry MAME Arcade: 6 kroków

Spisu treści:

Anonim

Tutaj pokażę ci, jak zrobić koder dla arcade MAME (lub podobnego) ze starej klawiatury USB, którą najprawdopodobniej będziesz układał w tym stosie rzeczy, których nigdy nie użyjesz (mam 3)

Niedawno stworzyłem i opublikowałem instruktaż na domowej maszynie zręcznościowej, używając mózgu raspberry pi. Miałem kilka pytań dotyczących używanego kodera klawiatury. Początkowo planowałem napisać program, który uruchamiałby się z listą gier do wyboru, a użytkownik używałby joysticka i przycisków do przełączania się między listami i wybierania gry.

Okazało się to o wiele trudniejsze, niż sądziłem, głównie ze względu na fakt, że koder klawiatury, który kupiłem, nie wypluł niczego, co mógłbym łatwo odczytać w Linuksie. Postanowiłem więc „zbudować” koder.

Kieszonkowe dzieci:

Krok 1: czego potrzebujesz

Stara klawiatura USB

Wiele różnych kolorowych przewodów

Lutownica i lut (opcjonalnie wyjaśnię później)

Niektóre papiery ścierne (150grit lub wyższe są idealne, ale używaj tego, co masz)

Multimetr (opcjonalny, ale wysoce zalecany, ponownie wyjaśni później)

Ogólne narzędzia (śrubokręt, nożyce do drutu, nożyczki itp.)

Krok 2: Co to jest koder

Wewnątrz każdej klawiatury znajdzie się mały obwód (enkoder), który pobiera naciśnięcia klawiszy, zamienia go w sygnał, który komputer rozumie, a następnie strzela do przewodu, aby komputer mógł go użyć. Robi to za pomocą konfiguracji typu macierzy. Sposób, w jaki myślę o tym typie konfiguracji, polega na tym, że ma on wiele podstaw (niezależnych od siebie) i wiele wysokich (które również są niezależne od siebie), są połączone ze sobą w sposób, który wytwarza wiele różnych kombinacji. Zaletą jest to, że nie potrzebujesz wielu I / O, aby mieć dużą tablicę (powiedzmy coś w rodzaju wszystkich klawiszy na klawiaturze) przełączników. Jest to prawdopodobnie niedokładny opis tego, jak to działa, ale pomaga mi owinąć głowę i zrozumieć.

Krok 3: Dotarcie do Encodera

Będziesz musiał zdemontować klawiaturę, usuwając każdą znalezioną śrubę. Czasem zatrzaski zatrzaskowe elektroniki, jeśli tak, podważ je delikatnie śrubokrętem, dopóki nie rozłączysz. Koder znajduje się zwykle w prawym górnym rogu (lub wszędzie tam, gdzie są światła dla czapek itp.).

Krok 4: Mapowanie potrzebnych kluczy

Ok, to jest miejsce, w którym zalecam użycie multimetru, ponieważ robienie tego wzrokiem może być cholernie niemożliwe (nie niemożliwe, ale naprawdę naprawdę bardzo denerwujące) można też użyć baterii, przewodów i światła, ale multimetr sprawia, że ​​życie Naprawdę proste.

Wewnątrz klawiatury zauważysz również, że są dwa kawałki plastikowej folii, które wyglądają jak PCB oddzielone innym kawałkiem filmu (zazwyczaj przyklejone do jednego z pozostałych).

Powinny być na nim kropki i linie, a będziesz musiał określić, które kropki odpowiadają danym klawiszom. najłatwiejszym sposobem na to jest policzenie. Tak więc klawisz A na mojej klawiaturze 4 w dół, 2 w poprzek (ESC jest 1, 1). zdobądź pozycję kluczy, a następnie policz kropki.

Następnie użyj multimetru, aby dowiedzieć się, gdzie te klucze łączyły się ze stykami. Ustaw multimetr na tryb przewodności (ustaw sygnał dźwiękowy, jeśli możesz) umieść na zaciskach kropki (powiedzmy dla klawisza A) i uruchom drugi terminal wzdłuż styków, aż rozlegnie się sygnał dźwiękowy lub potwierdzi przewodność. Zanotuj, z którymi są kontaktami. Oznaczyłem moje 1 - 13 i A - N i po prostu je zapisałem. pomaga również oznaczyć klucze markerem, abyś ich nie zapomniał.

Krok 5: Przygotowanie enkodera

Czasem na metalowej powierzchni płytki drukowanej są czarne materiały przewodzące. Należy to ostrożnie usunąć papierem ściernym. Gdy metal zostanie odsłonięty, oczyść go najlepiej ręcznikiem papierowym. Powinieneś iść dalej i cynować je z małą ilością lutu. Będziesz wtedy musiał przygotować swoje przewody w ten sam sposób, tzn. Rozebrać je, a następnie cynować

umieść cynowany drut na wierzchu ocynowanego kontaktu i delikatnie naciśnij na nim lutownicę, poczekaj, aż lutowie się skropi, wyjmij żelazko i trzymaj drut tak stabilnie, jak tylko możesz, aż utwardzi się ponownie.

Jeśli nie jesteś pewny lutowania i nie chcesz tego robić, zawsze możesz użyć kleju przewodzącego (np. WireGel). Uważam jednak, że lutowanie będzie lepszą i szybszą opcją, ponieważ większość klejów kontaktowych musi się utwardzać przez noc.

Krok 6: Gotowy produkt

Prawdopodobnie wygrałem trochę za burtę z kablami, ale planuję uruchomić kilka przycisków i kontrolek. naprawdę potrzebujesz tylko przewodów do przycisków, których zamierzasz użyć.

W przypadku mame w górę, w dół, w lewo w prawo do sterowania kierunkowego, Z, X, C, V mogą być używane do przycisków i Tab, dzięki czemu można przejść do opcji (możesz też umieścić przycisk dla kredytów)

Teraz wszystko, co musisz zrobić, to podłączyć go do swoich przycisków, jak zwykły koder. Aby uzyskać więcej informacji, zajrzyj tutaj w kroku 3.

2 ludzie zrobili ten projekt!

  • MarkS335 to zrobił!

  • Rovhell to zrobił!

Czy zrobiłeś ten projekt? Podziel się z nami!

Zalecenia

  • DIY Mini UPS do routera / modemu WiFi

  • Mid Century Modern Nixie Clock

  • Klasa dużych silników

  • Konkurs Fandomu

  • Party Challenge

  • Wyzwanie IoT

29 Dyskusje

0

peachville

2 lata temu

Problem z programowaniem:

Potrzebowałem kilku wejść do programu Escape Room, który stworzyłem. Zbudowałem klawiaturę i dołączone kontakty dla liter od A do Z. Problem polega na tym, że jednoczesne naciśnięcia klawiszy muszą zostać zdekodowane … klawisze klawiatury nie odrzucają i dlatego czytanie kilku jednoczesnych naciśnięć klawiszy stanowi ogromny problem programistyczny.

Ostatecznie zakup kilku z półki MAME był najłatwiejszym rozwiązaniem. Każdy MAME zapewnia 12 przycisków, a Windows indywidualnie identyfikuje każdą jednostkę za pomocą hidusb.sys jako HID (Human Interface Device) z oznaczeniami literowymi: A, B, C itd. Wejścia odpytywania są wykonywane przez przypisanie wartości szesnastkowych każdemu EG: 1, 2, 4, 8, 16, 32, 64, 128, 256 itd. Dla każdego przycisku i dekodowanie wyniku. Jeśli wynikowe wejście dla MAME „C” wynosi 7, przyciski 1, 2 i 4 nawiązują obecnie kontakt z MAME „C”. EZ-peazzy

0

AnshumG

3 lata temu

Mam pytanie, chciałem wiedzieć, jak podłączyć mikroprzełączniki, jak mam A8 B5 dla A i A7 B5 dla W, więc czy rysuję wiele przewodów z B5?

0

THEBROTAKU

3 lata temu na wstępie

Hej, więc jestem całkiem nowy w elektronice i przepraszam, jeśli pytanie jest głupie

ale dokąd idzie przewód uziemiający? jestem szczerze nie pewien.

2 odpowiedzi 0

OrrinG THEBROTAKU

Odpowiedz 3 lata temu

W tej specyficznej konfiguracji nie ma uziemienia … IC w kontrolerze ma to. Zamiast tego szpilki są podzielone na sekcje po 13 po lewej stronie i 13 (czasami po 12) po prawej stronie. (w zależności od układu scalonego i klawiatury). Po prostu zdobądź konwencję nazewnictwa i trzymaj się jej. Wymieniłem wszystkie szpilki po lewej stronie „A” i „B” po prawej stronie. Teraz zlikwiduj dowolne „A” dowolnym „B” i zobacz, który przycisk jest wciśnięty. Miłym narzędziem jest www.keyboardtester.com. Podświetla klawisz po naciśnięciu, więc zsuń wszystkie przewody, które patrzą na ekran i zobacz, które przyciski są oznaczone kolorem zielonym. Jeśli jest zielony, kombinacja działa, jeśli jest biała, wtedy coś nie nawiązało kontaktu … Więc w moim przypadku "A8" + "B10" = w górę … itd …

0

secretgspot THEBROTAKU

Odpowiedz 3 lata temu

na ziemię, myślę …

0

secretgspot

3 lata temu

nie ma plastikowych części klawiatury, tylko rzeczywisty kabel pcb i usb, czy istnieje sposób na określenie, który punkt jest który?

1 odpowiedź 0

Spartan 117 secretgspot

Odpowiedz 3 lata temu

prawdopodobnie możesz po prostu wykonać funkcję „czytaj” i zacząć skracać jeden ślad do drugiego

0

AnEngineersView

3 lata temu na wstępie

Uznałem to za niezniszczalne i uznałem je za pomocne, ponieważ zapewnia mi to pomysł, że to rozwiązanie. Powiedziałbym, że nie chciałbym mieć żadnego, co można by osiągnąć za pomocą oprogramowania do emulatora klawiatury arduino, jak pokazano tutaj http: //hackaday.com/2012/06/29/turning-an-arduino -…

… po prostu chciałem, żeby inni wiedzieli o innych możliwościach. Mam nadzieję, że ktoś inny uzna te informacje za pomocne.

Twoje zdrowie!

1 odpowiedź 0

Spartan 117 AnEngineersView

Odpowiedz 3 lata temu na Introduction

Tak, sposób arduino HID to dobry sposób na to. Ale pomysł polegał na tym, żeby ulepszyć rzeczy, które kładziesz lub zdobyć za kilka dolarów. Dzięki za link również może pomóc niektórym osobom.

0

nwatson16

4 lata temu

Świetny pomysł i dobrze wyjaśniony!

0

DavideC3

4 lata temu na wstępie

Wspaniale !!! Świetna robota: D

0

gtoal

5 lat temu na wstępie

To świetne ponowne wykorzystanie starych klawiatur. Dla tych, którzy mają mniej czasu i więcej pieniędzy, istnieje kilka innych sposobów, aby uzyskać klawiaturę arcade dla emulatora: wypróbowany i zaufany iPac: http://www.ultimarc.com/ipac1.html (minusem - złącze PS2 - chociaż dla dls3491 to właściwie zaleta …); MakeyMakey http://www.makeymakey.com/ oraz wiele urządzeń Bluetooth z jonami, które często można znaleźć bardzo tanie http://www.ionaudio.com/products/details/icade (ignoruj ​​cenę 99 USD, rozejrzyj się za closeouts lub used nich. Chcesz tylko płytę kontrolera)

Są też nowsze chińskie kodery od 10 do 20 USD, których nie widziałem, ale wyglądam na to, czego potrzebuję - http://www.google.com/#q=NO+Delay+USB+Encoder+PC+to+ Joystick + Arcade + MAME i tbm = sklep lub

www.google.com/#q=Xin+Mo+Arcade+to+USB+controller+2+player+MAME+Multicade+Keyboard+Encoder&tbm=shop

0

dls3491

5 lat temu na wstępie

Dzięki Mam zamiar używać go na komputerze, który ma złącze ps / 2

0

dls3491

5 lat temu na wstępie

czy wiesz, czy to zadziała z klawiaturą ps / 2?

1 odpowiedź 0

Spartan 117 dls3491

Odpowiedz 5 lat temu na Wprowadzenie

Powinien to zrobić, nie widzę powodu, dla którego by tego nie zrobił. Oczywiście musisz użyć adaptera, jeśli chcesz go używać przez USB, ale poza tym powinno być dobrze.

0

SensusVitae42

5 lat temu na wstępie

Cześć Spartan - Widzę, że jedna z plastikowych filmów ma tylko 8 linii, czy to oznacza, że ​​możesz używać tylko 8 różnych kluczy?

W instrukcji MAME zauważam, że używasz tylko 8 klawiszy / przycisków / liter.

Czy to jest poprawne?

Dzięki

1 odpowiedź 0

Spartan 117 SensusVitae42

Odpowiedz 5 lat temu na Wprowadzenie

Nie, możesz użyć więcej niż 8, możesz użyć tyle, ile jest wejść na klawiaturze.

Użyłem tylko 8 przycisków do gry (w górę, w dół, w lewo, w prawo, b1, b2, b3, b4), ale teraz są na niej przyciski do startu, monety / kredytu i kiedy przestanę być leniwy i ustawiam drugi zestaw kontrolki dla innego gracza będą również zawierały przyciski dla 1 gracza i 2 graczy.

Ta strona działa lepiej niż ja, wyjaśniając, jak działa matryca.

pcbheaven.com/wikipages/How_Key_Matrices_Works/

Mam nadzieję, że to pomogło, jeśli potrzebujesz więcej informacji tylko o mnie

0

octopuscabbage

5 lat temu w kroku 4

Zaczekaj, dlaczego tak to zrobiłeś, a nie po prostu podłącz to wszystko, otwórz dokument ze słowem i dowiedz się, co każdy z map został także zmapowany?

2 odpowiedzi 0

octopuscabbage octopuscabbage

Odpowiedz 5 lat temu na Step 4

Czy to dlatego, że niektóre dane wejściowe nie są poprawne, więc musisz zmapować je na poprawne dane wejściowe?

0

Spartan 117 octopuscabbage

Odpowiedz 5 lat temu na Step 4

Prawie nie ma sensu używać słowa doc, aby na przykład dowiedzieć się, gdzie znajduje się lewy górny róg i ctrl. możesz użyć cmd lub terminalu itp. i komendy odczytu (lub odpowiednika), ale jest to dużo zamieszania. Nie musisz też lutować tyle drutu, ile zrobiłem, szczerze mówiąc, poszedłem trochę wyżej, więc prawdopodobnie najlepiej jest mieć cały stos kluczy, które będziesz używać i po prostu przylutować te potrzebne. Twoje zdrowie.