USB джойстик для квадрокоптерных симуляторов из старого пульта

Собрал на Arduino Pro Micro джойстик из старого пульта.
Моя прошивка тут: sourceforge.net/projects/rc-usb-joystick/files/
Пришлось помучиться с конструированием USB дескриптора. Джойстик поддерживает оси X, Y, Throttle, Rudder, 1 кнопку.
На 9600 выдает координаты в последовательный порт (для отладки).
Моя плата распознается как Arduino Leonardo, естественно надо сделать калибровку. Джойстик заработал в симуляторе HotProps. В FreeRider почему-то не реагирует на оси.

Использованы файлы из библиотеки (включены в проект и модифицированы): github.com/MHeironimus/ArduinoJoystickLibrary

  • 2095
Comments
Маныч

почему только квадрокоптерных?

Andrew1978

Папка “библиотеки” не содержит файлов…=(

Prikupets

Конечно, не ограничивается квадрокоптерными 😃

Каталог libraries создала среда Arduino, когда я установил Sketchbook locations. Наверное, она хотела мне что-то сказать этим, но я не понял и оставил его пустым 😃

Andrew1978

(включены в проект и модифицированы):
… подумал там должно быть это… а что модифицировать в библиотеках - они как я понял заточены под Мега32

вкурил… на фото показалось ПроМИНИ…перечитал дошло что ПроМИКРО.
ИНтересно, что для Леонардо скетч собирается, а для всех других плат нет…странно.

Дмитрием_меня_зовут

Блин, подумал что наоборот - Джойстик в качестве ручки управления коптером 😃,
а по сабжу - из любви к искусству оно конечно здорово, но врде есть просто переходники для управления в симах? У меня вон даже пульт Kyosho от Piper Cub работает.

Prikupets

Мне не хотелось изнашивать (и таскать с собой в поездки) реальный пульт. Переходник я отдал. Скетч работает под Leonardo, т.к. использует его встроенный настоящий USB (который не просто USB-COM).

gorbln

Для пущего понимания не хватает схемки. А так - хорошая реализация, и вторая жизнь для стареньких пультов, которые и выкинуть жалко, и к делу не приспособить.

Andrew1978

Егор, да какая там схемка то… перемнный резюк - три вывода - один на плюс, второй на минус, средний на микроконтроллер. Распиновка микроконтроллера в прошивке.

const int pinButton = 15;
const int pinX = A1;
const int pinY = A0;
const int pinThrottle = A2;
const int pinRudder = A3;

gorbln

Гы =) В программу не смотрел. Тогда вопросов нету =)

Prikupets

Да, кнопка - тоже переключатель. Крайние выводы на плюс и минус, средний (перекидной) - на pinButton.

Дмитрием меня зовут;bt143850

подумал что наоборот - Джойстик в качестве ручки управления коптером 😃,

Я пробовал в симуляторе летать на коптере с обычным джойстиком - абслютно не катит. Можно только висеть и медленно ползать по воздуху. С пультом же, все как у реального коптера.