радиоуправление с usb-джойстика
- Войдите на сайт для отправки комментариев
Собственно, решил попробовать помучать ардуину. Тем более что более-менее решился на проект. Да и интересно стало. Однако уперся в не совсем ясность подбора комлпектующих.
Задача: управление коптером с USB-джойстика по радиоканалу XBee.
Собственно, база, это джойстик + ардуино + usb шилд + xbee шилд + xbee
Коптер, соотвественно, это ардуино + xbee шилд + датчики
Вроде все верно? Однако возникли вопросы:
1. Для подключения USB устройств НУЖНО ставить USB-шилд, или можно через USB разъем на самой ардуине?
2. Для заливки скетча нужен вроде как переходник?
3. Каждый XBee нужно отдельно от ардуины прошить, и для этого нужен USB-переходник?
В общем, помогите разобратся что я пропустил.
(пока заказаны и ожидаемы ардуино уно + усб шилд , чтобы потренироваться с джойстиком. Однако СПСР 4ый день не может привезти из СПб в ... СПб)
1. Для подключения USB устройств НУЖНО ставить USB-шилд, или можно через USB разъем на самой ардуине?
Смотря что за джойстик и от чего. Если он виндой опознается как "стандартный USB джойстик" - то ответ "да, нужен шилд" (если не раскурочивать его самого и не искать внутри интерфейсы до USB, которых может и не быть). Но там еще нужно будет разбиратся как прочитать с него что-нибудь.
2. Для заливки скетча нужен вроде как переходник?
Для уны? Нет. Дле чего же по вашему у нее на борту уже есть USB разъем? Как раз, в первую очередь, для заливки скетчей.
1. Дуину через USB разъем можно подключить только к USB хосту, для подключения устройств нужен хост, а значит нужен USB-шилд.
2. Вы о чем? Для этого и есть USB разъем на дуине.
3. Нужно прошивать, но сделать это можно самой дуиной.
Первая причина, по которой у вас ничего не выйдет - это отсутствие драйвера гемпада для дуины (хотя могу и ошибаться, может и есть таковой). Нужно просто разбирать гемпад и подключаться к кнопкам и аналогам.
Вторая причина, это запаздывание данных при работе с модулями xBee.
так... с скетчами понятно. с прошивкой/настройкой xBee не очень. По пойманному как-то зайду, вроде бы нужно вначале все xBee модули прошить/настроить, а после - можно хоть напрямую цеплять на ардуину, не используя шилд. С другой стороны - есть 2х xBee шилды, в которые можно будет сразу воткнуть и радиомодуль и GPS.
Разбирать-то как раз и не хочу. ибо джой - Saitek FLY5. И хотелось бы задействовать весь набор возможностей девайса. геймпад не дает увы необходимого набора.
В основном, основывался на этом гайде. Собсвенно поэтому и заказывался минимум, чтобы понять что и как получать с джойстика. Гайды по разбору потрохов - видел, но пока сразу ломать как-то не хочется :)
По поводу драйверов оказался не прав, потому как уже есть готовая либа.
По поводу xBee, я не проверял их работу в режиме API, а точнее не проверял быстродействие, но адекватного радиоуправления в АТ режиме вы не добьетесь.
Я согласен с Максимом что выбор xbee в качестве "управления" - не очень хорош. Он может подойти для чего-то высокоуровневых команд типа "лети на базу", "держи высоту 200" и т.п. И для организации "обратного канала" (телеметрия и т.п.)
А вот "рулить в живую" я бы рекомендовал через стандартные авимодельные приемники/передатчики. Во первых тогда вы не утеряете возможность рулить обычными пультами, в самом коптере будет все будет "стандартно". А "наземная ардуина" будет просто еще одним "пультом радио-управления". Из себя команды на моторры она будет выплевывать через обычный PWM или библиотеку Servo.
Ну почему же, можно и без пульта обойтись, у меня, например, получилось добиться очень четкого управления на nRF24L01+.
А вот "рулить в живую" я бы рекомендовал через стандартные авимодельные приемники/передатчики. Во первых тогда вы не утеряете возможность рулить обычными пультами, в самом коптере будет все будет "стандартно"...
"стандартно" для остальных. А меня лично очень сильно раздражает невозможность четко выполнить маневр "смотри на точку": т.е. кружение по радиусу, с сохранением высоты, ибо для этого нужно задавать движение в сторону правым стиком, а левым одновременно поворот вокруг оси с сохранием высоты. На джое это делается одной рукой легким наклоном плюс поворотом самой ручки относительно оси. К тому же даже 6ти канальная система стоит ну просто неприличных денег, а если учесть что в джое 4 оси, 5 оперативных кнопок, колесо, + 7 дополнительных кнопок... Имхо выбор очевиден. Да и в симуляторах (нормальных авиа-симуляторах и прочих леталках) опыт остается )
А вот "рулить в живую" я бы рекомендовал через стандартные авимодельные приемники/передатчики. Во первых тогда вы не утеряете возможность рулить обычными пультами, в самом коптере будет все будет "стандартно"...
"стандартно" для остальных. А меня лично очень сильно раздражает невозможность четко выполнить маневр "смотри на точку": т.е. кружение по радиусу, с сохранением высоты, ибо для этого нужно задавать движение в сторону правым стиком, а левым одновременно поворот вокруг оси с сохранием высоты. На джое это делается одной рукой легким наклоном плюс поворотом самой ручки относительно оси. К тому же даже 6ти канальная система стоит ну просто неприличных денег, а если учесть что в джое 4 оси, 5 оперативных кнопок, колесо, + 7 дополнительных кнопок... Имхо выбор очевиден. Да и в симуляторах (нормальных авиа-симуляторах и прочих леталках) опыт остается )
Вы не поняли. Я не призываю вас переходит на использование "обычных пультов" (просто эта возможность сохранится). Хотите рулить джоем - рулите. Речь шла о том какого типа передатчик/приемник будет стоять между ардуиной и коптером. А,если не брать сам пульт, а только "передатчик/приемник", то возможно и цены будет выглядить "немного приличней".
Вот про что-то какое я говорил http://www.frsky-rc.com/ShowProducts.asp?id=114 (не именно этот, а "этот тип передачиков". думаю и бюджетной что-то можно что-то поискать).
ага. теперь понял. вопрос, именно касающийся передатчик/приемник я несколько поверхностно изучил. Во всяком случае не удалось с наскока найти описание возможности подключения таких радиомодулей к ардуинам. Да и вообще - сами модули пока не ясны. да и впрочем - и ардуины в самом начале %)
Уна с шилдом пришли. как оказалось, заказанное в СРЕДУ в СПБ-магазине, почему-то было отгружено с МСК-склада, в четверг поступило в СПБ,... однако в четверг и пятницу курьера мотало черт-знает-где. И доставили наконец-то в понедельник (сегодня). И ведь не слоупочта...
куча линков так или иначе имеющие отношение к теме
подключение с разборкой джойстика
усб джойстик (на библиотеке усб шилд 2.0)
ардуино и рс-передатчик
х-бее и конфигуратор
усб спецификация
идеал - логитеш джой + лсд экран + рс-передатчик
по сути же, что выходит.
часть примеров джойстика построены на версии 0022 (1.0) с старыми библиотеками усб хост шилд. примеры довольно просты и понятны....но которые часто выдают ошибки с переменными.
другая часть, более обновленная, работающая на новой версии ИДЕ 1.03, с библиотекой 2.0..... черт ногу сломит. Ошибки случаются, но мелочные. но понять - ну никак не выходит воообще (в последний раз с программированием дело имел лет 10 назад).
битва перешла в разряд окопных отношений.
Если кому интересно. парсинг дескриптора усб устройства - Отлично делать USBlyser. Заставит рассказать устройству о себе все, вся и вообще.
По сути проекта: один из парсеров дескриптора из библиотеки USB Shield 2.0 был слегка переделан, с целью вытаскивания из джойстика нужной информации. Джой - Cyborg FLY5.
дескриптор:
Код лежит тут: http://www.diresnake.com/uav/usbhid.zip (картинка дескриптора, проект под IDE 1.03 с библиотекой USB Shield 2.0)
результат вывода:
Выводит в порт X, Y, поворот вокруг Z, данные по двойной ручке РУД и кнопки.... кроме HatSwitch. его поймать и где ловить - так и не удалось второй день. Если кто глянет и намекнет хоть где копать...