2025 Автор: John Day | [email protected]. Последнее изменение: 2025-01-13 06:58
В этом руководстве мы создаем робота Arcbotics Sparki, которым можно управлять с помощью 3D-жестов. Приятной особенностью этого проекта является то, что для управления роботом не требуется никаких дополнительных устройств, таких как смартфон или перчатка. Просто проведите рукой над электродом (чувствительная область 95 x 60 мм). Комплект разработчика MGC3130 Hillstar от Microchip используется для систем распознавания трехмерных жестов.
Шаг 1. Необходимые компоненты
- Arcbotics Sparki, робот на базе Arduino. Другие роботы на базе Arduino также будут работать.
- MGC3130 Hillstar Development Kit от Microchip, другие платы для 3D-жестов, такие как Hover original или Hover 2.0 From Hover Labs, или Flick! тоже должно работать.
- Несколько деталей Knex (не так много, как на картинке)
- Скотч
- Провода перемычки
Шаг 2: Сборка
Набор жестов Hillstar 3D состоит из трех плат:
- Модуль MGC3130. это основной блок управления жестами Hillstar, с одной стороны он соединяется с электродом, а с другой стороны - с питанием и интерфейсом I2C.
- Четырехслойный электрод сравнения с чувствительной областью 85x60 мм, в нижней части этой пластины находится разъем для подключения платы MGC3130.
- Плата моста 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: наслаждайтесь
Список команд:
- Проведите вверх - двигайтесь вперед
- Проведите назад - остановите все движения
- Проведите влево - поверните налево
- Проведите вправо - поверните направо
- Нажмите сверху - поверните датчик на 90 градусов по часовой стрелке
- Нажмите на дно - поверните датчик на 90 градусов по часовой стрелке.
- Касание влево - закрытие захвата
- Нажать вправо - открыть захват