Главная » Arduino
Призовой фонд
на октябрь 2020 г.
1. 1500 руб
Сайт Паяльник
2. Тестер компонентов MG328
Сайт Паяльник
3. 150 руб.
От пользователей


Плата Digispark Kickstarter на основе микроконтроллера ATTINY85

Управление 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

Raspberry Pi 2
Raspberry Pi 2
USB осциллограф DSO-2090 Ручной фен 450 Вт с регулировкой температуры
вверх