USB-джойстик на AVR
Як і багатьом технарям, мені часто віддають (на розтерзання) стару/непрацюючу/непотрібну техніку. Абсолютна більшість цих предметів потрапляє в "бермудський трикутник" (коробка з запчастинами/ламками в кутку) або летить у смітник, але буває й так, що попадаються девайси, яким просто необхідно подарувати друге життя.
Коли в мене опинився джойстик від "Денді" (NES), першим ділом я спробував підключити його до паралельного порту (LPT) ПК, але тут мене підстерігав неприємний сюрприз - чорна пляма (кристал мікросхеми, залитий епоксидкою) виявилася несправною. Цей проект був відправлений в "долгий ящик".......
Декілька днів тому, запустивши емулятор NES, я зрозумів, що чогось не вистачає. Пошуки були продовжені, і рішення було знайдено: автор цієї сторінки пропонує, схему USB джойстика на 12 кнопок.
Чудово, подумав я, цю схему можна використовувати для будь-якого "згорілого" джойстика, з кількістю кнопок менше 12-ти. Першим ділом я перепрограмував atmeg'у:
avrdude -c usbtiny -p m8 -e -V -U flash:w:usb_game12-1.0.hex avrdude -c usbtiny -p m8 -U lfuse:w:0x9f:m -U hfuse:w:0xc9:m
Для прошивки я використовував програматор USBtiny та програму avrdude. Далі я взявся за разводку плати, разводка плати виконана в програмі Sprint-Layout.
Плата розведена під мікросхему в корпусі DIP-28 та радіоелементи для стандартного (черездірочного) монтажу. Потім друкована плата була виготовлена за фоторезистивною технологією, обрізана, просверлена і зібрана (запаяна).
Потім, я взяв дремель з відрізним диском і почав підготовку джойстика для установки плати.
Відрізавши ніжку, я змінив диск на бор, перерізав доріжки і зняв шар маски з місць майбутньої пайки.
Потім, я перевірив все в останній раз і припаяв дроти між двома платами.
Ну і фінальна збірка.
І результат старань.
Джойстик готовий до роботи, під ОС Linux/Windows XP/Vista/7 установка драйверів не потрібна. Пристрій було перевірено в роботі під ОС Debian Linux та Windows XP. Джойстиком можна користуватися не лише в емуляторах старих ігрових приставок, але й у сучасних іграх, для яких вистачить кнопок.
Але я пограю в ігри, для яких Китайці й зробили цей джойстик, приємного приступу ностальгії.
Список радіоелементів
Обозначення | Тип | Номінал | Кількість | Примітка | ||
---|---|---|---|---|---|---|
U2 | МК AVR 8-біт |
ATmega8-16PU
|
1 | |||
D2, D3 | Стабілітрон |
1N4729A
|
2 | |||
C1 | Конденсатор | 1 мкФ | 1 | |||
C2, C3 | Конденсатор | 27 пФ | 2 | |||
R1 | Резистор |
1.5 кОм
|
1 | |||
R2, R3 | Резистор |
68 Ом
|
2 | |||
Y1 | Кварцовий резонатор | 12 МГц | 1 | |||
Прикреплені файли:
- gamepad_article.zip (1296 Кб)