Urządzenie interfejsu HID - kontroler gier

Projekt zaliczeniowy to urządzenie korzystające ze standardowego interfejsu USB HID. Układ został "opakowany" w formę kontrolera o nazwie "arcade stick", inspirowaną panelami kontrolnymi automatów do gier.

Układ kontrolera

Urządzenie oparte jest o mikrokontroler ATMega321. Zasilany jest on kablem USB przylutowanym do płytki (napięcie ok. 5V). Aby obniżyć napięcie na szynach danych USB do oczekiwanego poziomu (od 2 do 3,6V dla poziomu wysokiego) wykorzystane zostały diody Zenera 3V6. Ponadto obsługa USB wymaga precyzyjnego zegara systemowego, dlatego układ używa zewnętrznego kwarcu 16MHz. Osiem przycisków oraz dwa analogowe joysticki (oparte na potencjometrach) zostały przyłączone kablami.

Płytka z bliska.
Plątanina kabli wewnątrz obudowy.
Obudowa.
W użyciu.

Schemat

Płytka zawiera więcej wyprowadzeń na przyciski niż ostatecznie wykorzystano. Gniazdo USB na schemacie ma znaczenie tylko symboliczne.

Oprogramowanie

Kontroler z poziomu komputera. (Z dziwnego powodu windows doszukuje się nazwy urządzenia której nie ma (jest wyłączona w usbconfig.h))
Oprogramowanie opiera się na znakomitej bibliotece V-USB pozwalającej na całkowicie programową obsługę USB 1.1. Do obsługi po stronie komputera wystarczają standardowe sterowniki HID dostarczane z systemem operacyjnym, które używają tzw. deskryptora raportu HID dostarczanego przez urządzenie, aby zinterpretować przesyłane dane ("raporty").

Źródła programu (nie zawierają biblioteki V-USB)


1. To był ostrożny wybór, okazało się, że wystarczyłby ATMega8...