usb hid Джойстик на atmega16

Вопросы настройки, программирования, прошивки микроконтроллеров и микросхем программируемой логики
Закрыто
Потрогал лапой паяльник
Аватара пользователя
Сообщения: 335
Зарегистрирован: Чт май 21, 2009 13:54:07
Откуда: Москва

Сообщение romazan »

Задумал я сварганить пульт для симулятора полётов X-plane. Нужно сделать джойстик с 16 осями и кнопками. Для реализации этого есть atmega16 и мультиплексор. Начал рыскать по инету, нашёл проект Mjoy16, но вот исходников нет. Вообщем нужна помощь в написании кода.
Последний раз редактировалось romazan Чт окт 28, 2010 10:18:52, всего редактировалось 1 раз.
Контактная информация:
Реклама
Мудрый кот
Аватара пользователя
Сообщения: 1867
Зарегистрирован: Ср янв 23, 2008 22:11:54
Откуда: Калининград

Сообщение GRAF »

Ищите исходники MJoy8, по ним можно свою прогу составить. Исходники на ассемблере.
Реклама
Потрогал лапой паяльник
Аватара пользователя
Сообщения: 335
Зарегистрирован: Чт май 21, 2009 13:54:07
Откуда: Москва

Сообщение romazan »

Вообщем разобрался немного с библиотекой V-USB, создал дескриптор устройства, понял как отправлять данные, НО в каком виде незнаю, тут получалось поуправлять осями Х и У, но мне надо Throttle
Контактная информация:
Нашел транзистор. Понюхал.
Аватара пользователя
Сообщения: 174
Зарегистрирован: Вт июл 31, 2007 20:32:30
Откуда: Киев, Украина

Сообщение Томатный »

Посмотри файло в аттаче, мб поможет. Разбирался два года назад: переделывал прошивку из статьи Сергея Рюмика про то как подключить старые джойстики Sega по USB.
В прошивке были ось X и Y, но работали как кнопки. я сделал их пропорциональными, добавил ещё ось Z, потом добавил ещё оси Rx и Ry итого 5 степеней свободы. Осилил только 8 кнопок, хотя планировал больше, но почему-то не вышло :(
Честно говоря даже не помню как разобрался так что даже врятли смогу помочь, хорошо что хотябы исходники нашел :)

Схемы нету, но из прошивки думаю станет ясно, что там нужно поменять, чтобы сделать свои изменения
Фотки: http://img808.imageshack.us/gal.php?g=73445649.jpg
Вложения
ATmega32-joystick.rar
V-USB ATmega32 Joystick
Source code for WinAVR
(91.63 КБ) 236 скачиваний
Контактная информация:
Реклама
Эиком - электронные компоненты и радиодетали
Потрогал лапой паяльник
Аватара пользователя
Сообщения: 335
Зарегистрирован: Чт май 21, 2009 13:54:07
Откуда: Москва

Сообщение romazan »

Да в том-то и прикол, что как управлять основными осями понятно, но есть такая ось Trothle, вот как ей. ума не приложу
Изображение
Контактная информация:
Реклама
Вымогатель припоя
Сообщения: 532
Зарегистрирован: Вт фев 09, 2010 17:52:26

Сообщение codenamehawk »

GRAF писал(а):Ищите исходники MJoy8, по ним можно свою прогу составить. Исходники на ассемблере.
Исходники asm для меги8 есть.
Реклама
Нашел транзистор. Понюхал.
Аватара пользователя
Сообщения: 174
Зарегистрирован: Вт июл 31, 2007 20:32:30
Откуда: Киев, Украина

Сообщение Томатный »

romazan писал(а):Да в том-то и прикол, что как управлять основными осями понятно, но есть такая ось Trothle, вот как ей. ума не приложу
я видимо не так понял, я думал именно с исходниками трабл - не получилось степени свободы добавить.
Трофл - сцепление, тут значения от нуля до предела, а не с центром как у оси X например
То же самое с газом и тормозом. просто используйте другие оси: X,Y,Z,Rx,Ry,Rz - это уже 6ть, остальные не знаю, нужно искать.
Кстати можно также сделать два логических джойстика в одном девайсе и это даст уже 12 степеней
Контактная информация:
Прорезались зубы
Сообщения: 231
Зарегистрирован: Пт ноя 16, 2007 13:52:44
Откуда: Рига, Латвия

Сообщение Pe3ucTop »

Сделать что-бы от 0-до-255 не так сложно, наизусть не помню - но тип передаваемых данных и макс/мин значения - всё задаётся в дескрипторе..
Попробуйте просто поменять :
0x25, 0x7f, // LOGICAL_MAXIMUM (127)
0x15, 0x81, // LOGICAL_MINIMUM (-127)
# На
# 0x25, 0x7f, // LOGICAL_MAXIMUM (127)
# 0x15, 0x00, // LOGICAL_MINIMUM (0)

Поглядел и подумал, не надо, исправьте то что вы передаёте - не 0, а -127... А это уже не в дескрипторе..
Хотя нашел вариант:
0x15, 0x00, // LOGICAL_MINIMUM (0)
0x26, 0xff, 0x00, // LOGICAL_MAXIMUM (255)
Друг Кота
Аватара пользователя
Сообщения: 7439
Зарегистрирован: Чт ноя 04, 2010 01:56:36
Откуда: г. Москва

Сообщение Satyr »

romazan писал(а):Вообщем разобрался немного с библиотекой V-USB
Делал несколько чтук на V-USB. Впринципе работает, но не особо стабильно. И с прерываниями надо быть очень осторожно.
Ну а главное, смысл какой ? сейчас at90usb162 стоит почти как атмега16. Памяти поменьше, но для джойстика должно хватить.
Зато аппаратный и беспроблемный USB контроллер. Под at90usb* есть отличная библиотека УСБ + куча примерров, включая джойстики - LUFA.
Потрогал лапой паяльник
Аватара пользователя
Сообщения: 335
Зарегистрирован: Чт май 21, 2009 13:54:07
Откуда: Москва

Сообщение romazan »

Короче просто создам стандартные оси и не буду больше "парить" мозг. Щас занят поиском 16 штук переменных одинаковых резисторов и черчу конструкцию рычагов газа.
Satyr писал(а): Делал несколько чтук на V-USB. Впринципе работает, но не особо стабильно. И с прерываниями надо быть очень осторожно.
Ну а главное, смысл какой ? сейчас at90usb162 стоит почти как атмега16. Памяти поменьше, но для джойстика должно хватить.
Зато аппаратный и беспроблемный USB контроллер. Под at90usb* есть отличная библиотека УСБ + куча примерров, включая джойстики - LUFA.
Я тоже общал внимание на этот проц, но есть одно НО: мне чтобы его купить надо пилить 100км до москвы или недели 3 ждать по почте, так что пока использую то что есть
Контактная информация:
Друг Кота
Аватара пользователя
Сообщения: 7439
Зарегистрирован: Чт ноя 04, 2010 01:56:36
Откуда: г. Москва

Сообщение Satyr »

Тогда лишь посоветую не наступать на мои грабли - кроилово с керамическим резанатором вместо кварца приводит V-USB девайс в части работоспособности в лоттерею -)))
Закрыто

Вернуться в «Микроконтроллеры и ПЛИС»