радиоуправление с usb-джойстика

DireSnake
DireSnake аватар
Offline
Зарегистрирован: 15.01.2013

Собственно, решил попробовать помучать ардуину. Тем более что более-менее решился на проект. Да и интересно стало. Однако уперся в не совсем ясность подбора комлпектующих. 

Задача: управление коптером с USB-джойстика по радиоканалу XBee.

Собственно, база, это джойстик + ардуино + usb шилд + xbee шилд + xbee

Коптер, соотвественно, это ардуино + xbee шилд + датчики

Вроде все верно? Однако возникли вопросы:

1. Для подключения USB устройств НУЖНО ставить USB-шилд, или можно через USB разъем на самой ардуине?

2. Для заливки скетча нужен вроде как переходник?

3. Каждый XBee нужно отдельно от ардуины прошить, и для этого нужен USB-переходник?

В общем, помогите разобратся что я пропустил.

(пока заказаны и ожидаемы ардуино уно + усб шилд , чтобы потренироваться с джойстиком. Однако СПСР 4ый день не может привезти из СПб в ... СПб)

 

 

leshak
Offline
Зарегистрирован: 29.09.2011

DireSnake пишет:

1. Для подключения USB устройств НУЖНО ставить USB-шилд, или можно через USB разъем на самой ардуине?

Смотря что за джойстик и от чего. Если он виндой опознается как "стандартный USB джойстик" - то ответ "да, нужен шилд" (если не раскурочивать его самого и не искать внутри интерфейсы до USB, которых может и не быть). Но там еще нужно будет разбиратся как прочитать с него что-нибудь. 

DireSnake пишет:

2. Для заливки скетча нужен вроде как переходник?

Для уны? Нет. Дле чего же по вашему у нее на борту уже есть USB разъем? Как раз, в первую очередь, для заливки скетчей.

 

 

 

 

maksim
Offline
Зарегистрирован: 12.02.2012

1. Дуину через USB разъем можно подключить только к USB хосту, для подключения устройств нужен хост, а значит нужен USB-шилд.
2. Вы о чем? Для этого и есть 
USB разъем на дуине.
3. Нужно прошивать, но сделать это можно самой дуиной.

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

Вторая причина, это запаздывание данных при работе с модулями xBee.

maksim
Offline
Зарегистрирован: 12.02.2012

leshak пишет:
...раскурочивать его самого и не искать внутри интерфейсы до USB, которых может и не быть). Но там еще нужно будет разбиратся как прочитать с него что-нибудь. 
99% что нет никаких интерфейсов, все собранно на одной микрухе, кристалл, которой расположен на самой плате и залит компаундом.

DireSnake
DireSnake аватар
Offline
Зарегистрирован: 15.01.2013

так... с скетчами понятно. с прошивкой/настройкой xBee не очень. По пойманному как-то зайду, вроде бы нужно вначале все xBee модули прошить/настроить, а после - можно хоть напрямую цеплять на ардуину, не используя шилд. С другой стороны - есть 2х xBee шилды, в которые можно будет сразу воткнуть и радиомодуль и GPS.

Разбирать-то как раз и не хочу. ибо джой - Saitek FLY5. И хотелось бы задействовать весь набор возможностей девайса. геймпад не дает увы необходимого набора.

В основном, основывался на этом гайде. Собсвенно поэтому и заказывался минимум, чтобы понять что и как получать с джойстика. Гайды по разбору потрохов - видел, но пока сразу ломать как-то не хочется :)

 

maksim
Offline
Зарегистрирован: 12.02.2012

По поводу драйверов оказался не прав, потому как уже есть готовая либа.
По поводу xBee, я не проверял их работу в режиме API, а точнее не проверял быстродействие, но адекватного радиоуправления в АТ режиме вы не добьетесь.

leshak
Offline
Зарегистрирован: 29.09.2011

Я согласен с Максимом что выбор xbee в качестве "управления" - не очень хорош. Он может подойти для чего-то высокоуровневых команд  типа "лети на базу", "держи высоту 200" и т.п. И для организации "обратного канала" (телеметрия и т.п.)

А вот "рулить в живую" я бы рекомендовал через стандартные авимодельные приемники/передатчики. Во первых тогда вы не утеряете возможность рулить обычными пультами, в самом коптере будет все будет "стандартно". А "наземная ардуина" будет просто еще одним "пультом радио-управления". Из себя команды на моторры она будет выплевывать через обычный PWM или библиотеку Servo.

maksim
Offline
Зарегистрирован: 12.02.2012

Ну почему же, можно и без пульта обойтись, у меня, например, получилось добиться очень четкого управления на nRF24L01+.

DireSnake
DireSnake аватар
Offline
Зарегистрирован: 15.01.2013

leshak пишет:

А вот "рулить в живую" я бы рекомендовал через стандартные авимодельные приемники/передатчики. Во первых тогда вы не утеряете возможность рулить обычными пультами, в самом коптере будет все будет "стандартно"...

"стандартно" для остальных. А меня лично очень сильно раздражает невозможность четко выполнить маневр "смотри на точку": т.е. кружение по радиусу, с сохранением высоты, ибо для этого нужно задавать движение в сторону правым стиком, а левым одновременно поворот вокруг оси с сохранием высоты. На джое это делается одной рукой легким наклоном плюс поворотом самой ручки относительно оси. К тому же даже 6ти канальная система стоит ну просто неприличных денег, а если учесть что в джое 4 оси, 5 оперативных кнопок, колесо, + 7 дополнительных кнопок... Имхо выбор очевиден. Да и в симуляторах (нормальных авиа-симуляторах и прочих леталках) опыт остается )

 

leshak
Offline
Зарегистрирован: 29.09.2011

DireSnake пишет:

leshak пишет:

А вот "рулить в живую" я бы рекомендовал через стандартные авимодельные приемники/передатчики. Во первых тогда вы не утеряете возможность рулить обычными пультами, в самом коптере будет все будет "стандартно"...

"стандартно" для остальных. А меня лично очень сильно раздражает невозможность четко выполнить маневр "смотри на точку": т.е. кружение по радиусу, с сохранением высоты, ибо для этого нужно задавать движение в сторону правым стиком, а левым одновременно поворот вокруг оси с сохранием высоты. На джое это делается одной рукой легким наклоном плюс поворотом самой ручки относительно оси. К тому же даже 6ти канальная система стоит ну просто неприличных денег, а если учесть что в джое 4 оси, 5 оперативных кнопок, колесо, + 7 дополнительных кнопок... Имхо выбор очевиден. Да и в симуляторах (нормальных авиа-симуляторах и прочих леталках) опыт остается )

Вы не поняли. Я не призываю вас переходит на использование "обычных пультов" (просто эта возможность сохранится). Хотите рулить джоем - рулите. Речь шла о том какого типа передатчик/приемник будет стоять между ардуиной и коптером. А,если не брать сам пульт, а только "передатчик/приемник", то возможно и цены будет выглядить "немного приличней".

leshak
Offline
Зарегистрирован: 29.09.2011

Вот про что-то какое я говорил http://www.frsky-rc.com/ShowProducts.asp?id=114  (не именно этот, а "этот тип передачиков". думаю и бюджетной что-то можно что-то поискать). 

DireSnake
DireSnake аватар
Offline
Зарегистрирован: 15.01.2013

ага. теперь понял. вопрос, именно касающийся передатчик/приемник я несколько поверхностно изучил. Во всяком случае не удалось с наскока найти описание возможности подключения таких радиомодулей к ардуинам. Да и вообще - сами модули пока не ясны. да и впрочем - и ардуины в самом начале %) 

 

Уна с шилдом пришли. как оказалось, заказанное в СРЕДУ в СПБ-магазине, почему-то было отгружено с МСК-склада, в четверг поступило в СПБ,... однако в четверг и пятницу курьера мотало черт-знает-где. И доставили наконец-то в понедельник (сегодня).  И ведь не слоупочта... 

DireSnake
DireSnake аватар
Offline
Зарегистрирован: 15.01.2013

куча линков так или иначе имеющие отношение к теме

 

подключение с разборкой джойстика

усб джойстик (на библиотеке усб шилд 2.0)

ардуино и рс-передатчик

х-бее и конфигуратор

усб спецификация

идеал - логитеш джой + лсд экран + рс-передатчик

по сути же, что выходит. 

часть примеров джойстика построены на версии 0022 (1.0) с старыми библиотеками усб хост шилд. примеры довольно просты и понятны....но которые часто выдают ошибки с переменными. 

другая часть, более обновленная, работающая на новой версии ИДЕ 1.03,  с библиотекой 2.0..... черт ногу сломит. Ошибки случаются, но мелочные. но понять - ну никак не выходит воообще (в последний раз с программированием дело имел лет 10 назад).

битва перешла в разряд окопных отношений.

 

DireSnake
DireSnake аватар
Offline
Зарегистрирован: 15.01.2013

Если кому интересно. парсинг дескриптора усб устройства - Отлично делать USBlyser. Заставит рассказать устройству о себе все, вся и вообще. 
По сути проекта: один из парсеров дескриптора из библиотеки USB Shield 2.0 был слегка переделан, с целью вытаскивания из джойстика нужной информации. Джой - Cyborg FLY5.

дескриптор:

Код лежит тут: http://www.diresnake.com/uav/usbhid.zip (картинка дескриптора, проект под IDE 1.03 с библиотекой USB Shield 2.0)

результат вывода:

Buf: FF0108F8FF0F003C
X: 511	Y: 512	RorateZ: 128	Gear_L: 255	Gear_R: 255

Выводит в порт X, Y, поворот вокруг Z, данные по двойной ручке РУД и кнопки.... кроме HatSwitch. его поймать и где ловить - так и не удалось второй день. Если кто глянет и намекнет хоть где копать...