Источник тут
Как сделать игровой джойстик на x65-x75 (на AVR микроконтроллере ATmega8L)
Что понадобится приобрести/скачать:
1) Микроконтроллер ATMega8L
2) Папа LPT
3) Резисторы 4шт по 150 Ом (это для программатора, впринцыпе можно и без них)
4) Резисторы 13шт по 1,5 кОм (для джойстика)
5) Папа lumberg со всеми пинами (с гарнитуры можно китайской взять)
6) Джойстик (можно старый добрый от Dandy)
7) Скачать программу CodeVisionAvr
8) Скачать прошивку для МК.
Приступаем:
1) Смотрим на все схемы
2) Собираем программатор
3) Подключаем МК.
4) Подключаем данное устройство к LTP порту
5) Подаем питание на МК, желательно сначала землю, а потом все остальное. Питание подавать на VCC (7 пин) 5 вольт.
6) Настраеваем прогу CodeVisionAvr:
Settings->Programer и выставить в нем "Kanda Systems STK200+/300", и правильный адрес LTP и нажмите ОК. Если прошивка заливается с ошибками, то увеличте delay multiplier.
II. Прошиваем:
Выбираем "Tools->Chip programmer", выставляем: Chip: ATmega8L, Сhip clock=1Mhz. Остальное не трогаем...
Затем, "File->Load Flash". Выбираем HEX файл. Чтобы залить в сам МК, выбираем "Program->Erase Chip". Дожидаемся завершения. Затем "Program->Flash"...
Если все было запаяно правильно, прошивка зальется и автоматически проверится на соответсвие с буфером. Если нет, то смотрим все ли правильно припаяно, и если что - перепаеваем.
7) Проверяем соответствия эмуляции кнопок телефона и пинов на МК:
9 / Левая софт клавиша
10 / Цифра 1
11 / Цифра 3
12 / Цифра 7
13 / Цифра 9
14 / Джойстик Вверх
15 / Джойстик Вниз
16 / Джойстик Вправо
17 / Джойстик Влево
18 / Джойстик Центр
19 / Правая софт клавиша
8) Отпаиваем МК от LPT программатора, берем джойстик и меняем в нем начинку согласно схеме. +5В на схеме это напряжение, оно подается от телефона, правда не 5V, а ~3,7-4,3V в зависимости от заряда аккумулятора, но этого хватает.
9) Если к выводам МК не подсоеденена кнопка джойстика, необходимо этот пин закоротить на землю, желательно через резистор ~100 Ом.
Вот и все, теперь подключаем к телефону и проверяем.
vanek писал что если использовать микроконтроллер помощнее, типа ATmega128 и далее, то можно хоть клаву внешнюю сделать.
Позже vanek добавил, что внешнюю клавиатуру сделать таки возможно.
©vanek, Grifon, Vados (создание FAQ, сам я джой еще не собирал)




