Оглавление:

Создание робота, управляемого жестами: 4 шага (с изображениями)
Создание робота, управляемого жестами: 4 шага (с изображениями)

Видео: Создание робота, управляемого жестами: 4 шага (с изображениями)

Видео: Создание робота, управляемого жестами: 4 шага (с изображениями)
Видео: Простой робот с камерой | Orange pi | Raspberry pi | OpenCV 2024, Июль
Anonim
Image
Image

В этом руководстве мы создаем робота Arcbotics Sparki, которым можно управлять с помощью 3D-жестов. Приятной особенностью этого проекта является то, что для управления роботом не требуется никаких дополнительных устройств, таких как смартфон или перчатка. Просто проведите рукой над электродом (чувствительная область 95 x 60 мм). Комплект разработчика MGC3130 Hillstar от Microchip используется для систем распознавания трехмерных жестов.

Шаг 1. Необходимые компоненты

Необходимые компоненты
Необходимые компоненты
Необходимые компоненты
Необходимые компоненты
Необходимые компоненты
Необходимые компоненты
  1. Arcbotics Sparki, робот на базе Arduino. Другие роботы на базе Arduino также будут работать.
  2. MGC3130 Hillstar Development Kit от Microchip, другие платы для 3D-жестов, такие как Hover original или Hover 2.0 From Hover Labs, или Flick! тоже должно работать.
  3. Несколько деталей Knex (не так много, как на картинке)
  4. Скотч
  5. Провода перемычки

Шаг 2: Сборка

сборка
сборка
сборка
сборка
сборка
сборка

Набор жестов Hillstar 3D состоит из трех плат:

  1. Модуль MGC3130. это основной блок управления жестами Hillstar, с одной стороны он соединяется с электродом, а с другой стороны - с питанием и интерфейсом I2C.
  2. Четырехслойный электрод сравнения с чувствительной областью 85x60 мм, в нижней части этой пластины находится разъем для подключения платы MGC3130.
  3. Плата моста I2C-USB. С помощью этой платы модуль MGC3130 можно легко подключить к ПК через USB.

Плата моста I2C-USB не требуется, поскольку мы подключаем I2C модуля MGC3130 напрямую к портам ввода-вывода робота, как показано на схематической диаграмме выше.

Для поддержки платы электродов сравнения была изготовлена небольшая тележка Knex. Доска прикрепляется к тележке с помощью изоленты, а готовая тележка прикрепляется к роботу с помощью Ty-wrap. Наконец, модуль MGC3130 подключается к портам ввода-вывода робота с помощью перемычек.

Шаг 3: Код

Код
Код

Программное обеспечение основано на библиотеке Hover от Hover Labs и может быть найдено на Github (https://github.com/jspark311/hover_arduino).

Ниже представлен эскиз Arduino, который можно загрузить на Sparki.

Доступна специальная IDE Sparki, называемая SparkiDuino, но я предпочитаю использовать только стандартную IDE Arduino и установить библиотеку Sparki Arduino, которую можно загрузить со страницы загрузок: https://arcbotics.com/downloads Это не так просто как SparkiDuino, и у него нет собственного установщика драйверов (установщик драйвера Sparki также находится на странице загрузок), но он использует все те же примеры и код библиотеки, и это проще в сочетании с другими библиотеками, такими как Hover в этом кейс.

#include // подключаем библиотеку Sparki

#include #include // Объявления контактов для Hover int ts = 0; int reset = 1; Hover hover = Hover (); байтовое событие; Строка output_string = ""; bool driving_forward = false; void setup () {задержка (4000); sparki.clearLCD (); sparki.println («Инициализация наведения… пожалуйста, подождите.»); sparki.updateLCD (); hover.begin (ts, сбросить); sparki.clearLCD (); sparki.println («Готовы к жестам!»); sparki.updateLCD (); } void loop (void) {// Проверяем, готов ли наведение курсора к отправке событий жеста или касания if (hover.getStatus (ts) == 0) {// Получить событие через i2c и распечатать его event = hover.getEvent (); // Этот раздел можно закомментировать, если вы не хотите видеть событие в текстовом формате output_string = hover.getEventString (event); если (output_string! = "") {sparki.print (событие); sparki.println ("=" + output_string); sparki.updateLCD (); } переключатель (событие) {case 40: driving_forward = true; перерыв; case 80: sparki.moveBackward (); перерыв; case 36: sparki.moveLeft (); задержка (500); sparki.moveStop (); перерыв; case 34: sparki.moveRight (); задержка (500); sparki.moveStop (); перерыв; case 72: sparki.gripperOpen (); перерыв; case 66: sparki.gripperClose (); перерыв; корпус 68: искровой резервуар (80); перерыв; корпус 65: искровый резервуар (-80); перерыв; случай 48: driving_forward = false; sparki.gripperStop (); Sparki.servo (0); перерыв; } если (driving_forward) {sparki.moveForward (); } else {sparki.moveStop (); } // Сбрасываем Hover для следующего события hover.setRelease (ts); }}

Шаг 4: наслаждайтесь

Image
Image

Список команд:

  • Проведите вверх - двигайтесь вперед
  • Проведите назад - остановите все движения
  • Проведите влево - поверните налево
  • Проведите вправо - поверните направо
  • Нажмите сверху - поверните датчик на 90 градусов по часовой стрелке
  • Нажмите на дно - поверните датчик на 90 градусов по часовой стрелке.
  • Касание влево - закрытие захвата
  • Нажать вправо - открыть захват

Рекомендуемые: