Первый реализованный вариант — управление платформой и видеокамерой с помощью беспроводного геймпада Defender Scorpion RS3
Приемник геймпада подключен к плате Arduino через USB_Host_Shield
Плата расширения USB Host Shield 2.0 позволяет Arduino выступать Arduino в роли родительского USB-устройства для множества имеющейся USB-периферии. С В настоящее время платой USB Host Shield 2.0 поддерживаются следующие классы устройств щит:
HID -устройства, такие как клавиатуры, мыши, джойстики и др.;
игровые устройства -: Sony PS3, Nintendo Wii, Xbox360;
USB преобразователи -: FTDI, PL-2303, ACM, а также некоторые аппараты и GPS- приемники;
Android -устройства;
цифровые фотоаппараты -: Canon (EOS, PowersShot), Nikon.
С этой платой открывается масса новых возможностей для создания интересных устройств. Для программирования USB Host Shield используется специальная библиотека, скачать которую можно со страницы – https://github.com/felis/USB_Host_Shield_2.0. Спецификацию и примеры использования этой библиотеки можно найти на сайте Circuits@Home – http://www.circuitsathome.com/arduino_usb_host_shield_projects.
В библиотеке имеется пример для беспроводного джойстика PS3, C геймпадом Defender Scorpion RS3 пример сразу не заработал. После правки самого примера и правки заголовочного файла PS3Enums.h, входящего в библиотеку, джойстик стал работать приемлемо, возникла проблема только с установкой светодиодов на джойстике (периодически зависал), но мне это не особенно нужно, поэтому от управления светодиодами отказался.
Cкетч на Arduino отслеживает состояние кнопок и джойстиков и выполняет
— отправку команд на irobot_create;
— отправку ir-кодов на видеокамеру;
— управление шаговым двигателем для перемещения камеры по оси z.
Назначение кнопок и джойстиков
Кнопка Start/10 — для перевода irobot_create в режим full — полное управление
Кнопка Select/9 — для перевода irobot_create в пассивный режим
правый джойстик — управление движением irobot_create (скорость движения пропорциональна отклонению)
левый джойстик — зарезервировано (возможно под управление камерой)
R1 и R2 — управление шаговым двигателем (камера вверх-вниз)
L1 — сделать фото
L2 — включить/выключить камеру
джойстик цифровой
влево — zoom-,
вправо — zoom+
Кнопка 1 (треугольник) — зарезервировано
Кнопка 2 (круг) — зарезервировано
Кнопка 3 — зарезервировано
Кнопка 4 (квадрат) — зарезервировано
Скетч на Arduino — скачать
Полученную папку USB_Host копировать в /libraries
Выбирать и заливать пример библиотеки PS3USB1 — там находится скетч
В скетче нет остановок шагового двигателя по концевикам (планировал дописать после покупки ремня)
Видео последнее показать не получится,но видео месячной давности, где только управление с джойстика можно посмотреть ниже
Уже 2 дня robot_create поломан (запала кнопка, все разобрал, заменил и не работает)- пока нее разобрался в чем дело
Когда починю — ????
Поэтому часть 3
Удаленное управление для видеокамеры Sony, находящейся на мобильной платформе irobot_create. Часть 3. Управление с помощью планшета с обратной передачей видео.
будет гораздо позже (есть пока только
скетч для Arduino почти готовый;
Anroid программа процентов на 90 готовая;
на походе EasyCAP USB 2.0.;
и поломанная сплатформа)
И видео месячной давности