Mam zamiar zrealizować nowy projekt związany z moim kokpitem. Do tego celu potrzebuję kontroler gier. Pomyślałem o MegaJoy kolegi Piotra. Tak powstał kontroler przedstawiony w tym wątku. Kontroler ma sterować 2 haty, joystick, potencjometry oraz przyciski.
Poprosiłem kolegę Piotra 3.14ter aby zrobił dla mnie na bazie MegaJoy uproszczony skrypt na ProMicro. Skrypt pod nazwą Joy2 jest tak pomyślany, że nie wymaga od użytkownika ingerencji w programie (plug and play). Po tym wstępie chciałbym opisać działanie Joy2 na przykładzie mojego kontrolera. Na schemacie ideowym są pokazane elementy oraz ich połączenia. Schemat jest bardzo prosty i łatwy do zrealizowania. ProMicro steruje dwa rejestry MCP 23017 sygnałami SDA, zegarem SCL i przerwaniem INT. Wyjścia rejestrów są wyprowadzone na łączówki ozn. Ł0-Ł4 10 pin.
Sygnały Joy2 są widziane w Windows w kontrolerach gier.
Wyprowadzenia sygnałów:
Łączówka Ł0:
A0 - oś X, A1 - oś Y, A2 - oś Z, A3 - obr. Z, A6 - obr. X, A7 - obr. Y
Łączówka Ł1:
A0 - 1, A1 - 2, A2 - 3, A3 - 4, A4 - 5, A5 - 6, A6 - 7, A7 - 8
Łączówka Ł2:
B0 - 9, B1 - 10 , B2 - 11, B3 - 12 ,B4 - 13, B5 - 14, B6 - 15, B7 - 16
Łączówka Ł3:
B0 - 17, B1 - 18, B2 - 19, B3 - 20 ,B4 - 21, B5 - 22, B6 - 23, B7 - 24
Łączówka Ł4:
A0 - Up1, A1 - R1, A2 - Dn1, A3 - L1, A4 - Up2, A5 - R2, A6 - Dn2, A7 - L2
Sygnały cyfrowe 1-24 możemy łączyć z przyciskami, przełącznikami lub enkoderami. Nie potrzeba stosować diod tak jak w matrycach.
Sygnały analogowe są filtrowane. Osie X oraz Y mają włączone deadzone pozostałe nie mają. Można je włączać lub wyłączać, jest to opisane w języku polskim w skrypcie.
Sprawdziłem działanie skryptu Joy2 z przyciskami, potencjometrami oraz joystickiem. Jest to pokazane na zdjęciu. Realizując mój docelowy projekt sprawdzę kontroler z układami wykonawczymi już w symulatorze. Na tym etapie działa poprawnie tak jak to opisałem. Można zrealizować kontroler w inny sposób umieszczając ProMicro w od dzielnej obudowie a rejestry połączyć z uP za pomocą złącza 5 stykowego PS/2.
Na załączonych zdjęciach jest schemat ideowy, kontroler w obudowie oraz układ do testowania. Pod tym linkiem jest skrypt
http://www.prdevices.pl/rozne/forum/joy2.inoSchemat ideowy.

Kontroler na druku uniwersalnym.
Gotowy prototyp.

Układ do testowania.
