USB-джойстик на AVR

Как и многим технарям, мне часто отдают(на растерзание) старую/неисправную/ненужную технику. Абсолютное большинство этих предметов попадают в «бермудский угол»(коробка с запчастями/ломом в углу) или летят в мусорный бак, но бывает и так, что попадаются девайсы, которым просто необходимо подарить вторую жизнь.

Когда у меня оказался джойстик от «Дэнди»(NES), первым делом я попытался подключить его к параллельному порту(LPT) ПК, но тут, меня подстерегал неприятный сюрприз — черная клякса(кристалл микросхемы, залитый эпоксидкой) оказалась неисправной. Этот проект был отправлен  в «долгий ящик»…….

Пару дней назад, запустив эмулятор NES, я понял, что чего-то не хватает. Поиски были продолжены, и решение было найдено: http://www.raphnet.net/electronique/usb_game12/index_en.php автор этой странички предлагает, схему 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. Джойстиком можно пользоваться не только в эмуляторах старых игровых приставок, но и в современных играх для которых хватит кнопок.

screenshot

Но я поиграю в игры для которых Китайцы и сделали этот джойстик, приятного приступа ностальгии.

Список радиоэлементов

Обозначение Тип Номинал Количество Примечание Магазин Мой блокнот
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