Реклама ⓘ
Главная » Arduino
Призовой фонд
на апрель 2024 г.
1. 100 руб.
От пользователей

Реклама ⓘ

Управление iRobot Create с помощью беспроводного геймпада через Arduino

Робот iRobot Create - программируемый робот. В 2007 году разработан компанией iRobot на базе платформы робота пылесоса Roomba


Электронный интерфейс включает 7 pin mini-DIN и DB-25 разъемы для обмена данными, электронные датчики, световые индикаторы. Программный интерфейс позволяет управлять поведением робота. Он позволяет считывать информацию с сенсоров при помощи серии команд, включает команды режима, команды привода, звуковые команды, демонстрационные команды и команды опроса сенсоров. Эти команды можно посылать на последовательный порт робота с компьютера или микроконтроллера.На базе irobot_create у меня собран Turtlebot, но на данный момент необходимость использовать эту конструкцию в других целях (помощь в торжественном вручении цветов).

Необходимо управлять движением данной конструкции, а также отправка дополнительных команд на irobot_create с помощью джойстика.

Использую беспроводной  геймпад 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.

Программный интерфейс irobot_create позволяет манипулировать его поведением. Он считывает информацию с сенсоров при помощи серии команд, включает команды режима, команды привода, звуковые команды, демонстрационные команды и команды опроса сенсоров. Эти команды посылаются на последовательный порт irobot_create.

По ссылке http://www.irobot.com/filelibrary/pdfs/hrd/create/Create%20Open%20Interface_v2.pdf можно скачать описание открытого интерфейса.

Я подсоединял плату Arduino к 25-контактному разъему грузового отсека с помощью спаянного переходника.

  irobot_creater Arduino
 1    1 (Rx)   4
 2   2 (Tx)   3
 3   14 (GND)   GND
 4    8  (+5В)   Vin

Назначение кнопок геймпада:
Для управления движением использую правый джойстик геймпада
Кнопка Start/10 - для перевода irobot_create в режим full - полное управление
Кнопка Select/9 - для перевода irobot_create в пассивный режим 
R1 и R2 - для проигрывания мелодий irobot_create
L1, L2 - для установки светодиодов irobot_create
Кнопка 4 (квадрат) - выполнение скрипта движения по квадрату

Скетч на Arduino (подправленная библиотека Usb_Host) - пример PS3USB1.

Прикрепленные файлы:

Теги:

Опубликована: 0 0
Я собрал 0 2
x

Оценить статью

  • Техническая грамотность
  • Актуальность материала
  • Изложение материала
  • Полезность устройства
  • Повторяемость устройства
  • Орфография
0

Средний балл статьи: 5 Проголосовало: 2 чел.

Комментарии (0) | Я собрал (0) | Подписаться

Статью еще никто не комментировал. Вы можете стать первым.
Добавить комментарий
Имя:
E-mail:
не публикуется
Текст:
Защита от спама:
В чем измеряется электрическая мощность?
Файлы:
 
Для выбора нескольких файлов использйте CTRL

Arduino UNO
Arduino UNO
Модуль измерения тока на ACS712 (30А) DC-DC регулируемый преобразователь 1.5-37В 2А с индикатором
вверх