Как и многим технарям, мне часто отдают(на растерзание) старую/неисправную/ненужную технику. Абсолютное большинство этих предметов попадают в "бермудский угол"(коробка с запчастями/ломом в углу) или летят в мусорный бак, но бывает и так, что попадаются девайсы, которым просто необходимо подарить вторую жизнь.
Когда у меня оказался джойстик от "Дэнди"(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. Джойстиком можно пользоваться не только в эмуляторах старых игровых приставок, но и в современных играх для которых хватит кнопок.
Но я поиграю в игры для которых Китайцы и сделали этот джойстик, приятного приступа ностальгии.
Список радиоэлементов
Обозначение | Тип | Номинал | Количество | Примечание | Магазин | Мой блокнот |
---|---|---|---|---|---|---|
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 | Поиск в магазине Отрон | ||
Скачать список элементов (PDF)
Прикрепленные файлы:
- gamepad_article.zip (1296 Кб)
Комментарии (32) | Я собрал (0) | Подписаться
Для добавления Вашей сборки необходима регистрация
[Автор]
[Автор]
Денди - NES.emu free
Сега - MD.emu (настоящий 16 битный движок!)
PS1 - PSXe (максимально оптимизирован)
Остальное - когда-нибудь на десерт.
atmega8a-au подойдёт для проекта?
[Автор]
Единственное, хочу предупредить тех, кто ее на вооружение возьмёт (особенно новичков) - резисторы R1 и R2 местами на плате перепутаны. Смотрите схему.
[Автор]
И как это можно реализовать?
Появилась идея собрать свитч-панель для авиасимулятора.
[Автор]
http://www.mictronics.de/projects/avr-usb-joystick/
или
http://home.base.be/verlejan/Mjoy16E.html
Может подскажет кто, куда и как подсовывать эти файлы .c и .h, чтобы получить заветный .hex
Буду искренне благодарен! Я запутался!
[Автор]
Собрал hex под WinAVR - всё оказалось не так уж и страшно.
Инсталлируем, запускаем Programmer's Notrpad, открываем все файлы скачанные с исходником (и вложенной(ых) папки(ок), можно даже с текстовиками - лишнего компилятор не возьмёт), вносим правки, ничего не закрывая, переходим к файлу "Makefile" или "main.c", сверху тыцкаем "Tools" (инструменты) - "Make All"(собрать всё). Готово! Идем в папку с исходником. Там лежит main.hex.
Уже проверил прошивку - всё отлично работает.
Вот собрал это чудо, хочу чтобы в винде это устройство определялось как геймпад. что надо сделать?
Всё супер, доволен как слон.
Вот платка и схема в lay6 и spl7, переделывал под свой сеговский джойстик, может кому пригодится.
Подробнее: прошивал mega8 по COM порту (программатор Громова), к нему же и программа зашивки UniProf - всё сработало и прекрасно зашилось, сумма и сверки совпадают, то есть прошивка из здешнего HEXa залилась на мегу, а далее припаял кнопки и сунул в USB. Не работает. В чём может быть проблема?
[Автор]
Смысл такой - собрал программатор тот, что через ком-порт, поставил прогу (винда 7 64), подключил атмегу8 через этот программатор - всё заработало, то есть прога-прошивальшик распознала микруху, ну и залила туда тот "хекс", что был в архиве (в конце этой страницы), в котором ничего не менял, вот как есть. Правда там ещё две папки есть, я так и не понял зачем они. Собственно, весь анамнез. А вот когда подключил мегу уже как устройство, то винда пишет, что устройство не опознано, ну и ошибку 43.
[Автор]
http://cxem.net/beginner/beginner92.php
Читайте, разбирайтесь, только не торопитесь, если не так прошьете, то можете заблокировать контроллер.
[Автор]
[Автор]
http://www.mictronics.de/projects/avr-usb-joystick/
или
http://home.base.be/verlejan/Mjoy16E.html
еше много разных есть.