Промышленное производство
Промышленный Интернет вещей | Промышленные материалы | Техническое обслуживание и ремонт оборудования | Промышленное программирование |
home  MfgRobots >> Промышленное производство >  >> Manufacturing Technology >> Производственный процесс

Робот, управляемый жестами: проект на Arduino UNO без рук

Компоненты и материалы

Компонент Количество Примечание
Arduino UNO 1 Мозг передатчика (пульта)
Акселерометр SparkFun ADXL335 (трёхосевой) 1 Распознаёт жесты руки
RF-модуль 434 МГц (передатчик + приёмник) 1 комплект Беспроводная передача команд
Декодер HT12D 1 На приёмнике: преобразует принятый код в параллельные сигналы
Кодер HT12E 1 На передатчике: кодирует 4-битные данные для передачи
Драйвер двигателей L298 (Dual H-Bridge) 1 Управление двумя DC-моторами
Монтажная плата (Prototyping PCB) 1 Для пайки постоянной схемы
Линейный стабилизатор 7805 (5В) 2 Один для передатчика (от 9В), один для приёмника (от 12В)
DC-мотор (общий) 2 Два мотора для движения робота (левый/правый)

Программное обеспечение

О проекте

ОБНОВЛЕНИЕ: Обновлённая версия проекта доступна здесь.

Введение

Хотел управлять всем жестами рук! Сидеть в кресле и командовать техникой как босс. Получился DIY-робот, управляемый жестами руки. Звучит безумно, но на самом деле очень просто. Это улучшение моего прошлого проекта — RC-машинки на RF-модуле. Робот также состоит из двух частей: передатчик (пульт) и приёмник (робот). Схема приёмника та же, что и раньше, в передатчике небольшие изменения — нужно запрограммировать Arduino. Для распознавания жестов используется акселерометр. Начнём сборку!

Робот в действии

Смотрите видео демонстрации.

Что такое акселерометр (ADXL335)?

Робот, управляемый жестами: проект на Arduino UNO без рук

Акселерометр — устройство, измеряющее ускорение по трём осям (X, Y, Z). Почти все смартфоны имеют акселерометры (в играх вроде Temple Run персонаж движется при наклоне телефона за счёт акселерометра). Есть также гироскоп, но он нам не нужен.

Как работает распознавание жестов?

Робот, управляемый жестами: проект на Arduino UNO без рук

Мозг робота — Arduino Uno (ATmega32), загруженный кодом. Жесты руки считывает акселерометр ADXL335. Он выдаёт координаты X, Y, Z (Z не используется, нужны только X и Y). Arduino анализирует значения и отправляет 4-битный код в кодировщик HT12E. Кодер передаёт данные через RF-передатчик. Приёмник получает сигнал, декодер HT12D восстанавливает 4 бита и передаёт их драйверу двигателей L298. Драйвер решает, как вращать моторы для движения в нужном направлении.

Сборка блока питания

Нужно два блока питания: для передатчика (9В батарейка «Крона») и для приёмника (12В, так как моторы на 12В).

Робот, управляемый жестами: проект на Arduino UNO без рук

Соберите по схеме. Можно добавить светодиод через резистор 1 кОм для индикации питания.

Робот, управляемый жестами: проект на Arduino UNO без рук

ВАЖНО: Используйте радиатор для 7805, так как падение 7В (12–5) выделяет много тепла — без радиатора стабилизатор сгорит.

Сборка передатчика (пульта)

Передатчик состоит из акселерометра, Arduino, кодера HT12E и RF-передатчика. Акселерометр считывает жесты, передаёт данные Arduino, тот формирует 4-битный код для HT12E, который передаёт по радио.

ВНИМАНИЕ: Некоторые акселерометры работают от 3,3В и могут сгореть от 5В. Проверьте документацию поставщика!

Робот, управляемый жестами: проект на Arduino UNO без рук

Иллюстрация собранного передатчика:

Робот, управляемый жестами: проект на Arduino UNO без рук

Загрузка кода в Arduino

Обновлённый код доступен в репозитории проекта (см. раздел Code).

Сборка приёмника (робота)

Робот, управляемый жестами: проект на Arduino UNO без рук

Приёмник содержит: декодер HT12D, драйвер двигателей L293D (в тексте L298, но на схеме L293D — уточните по своему железу), RF-приёмник.

Соберите по схеме. На плате два светодиода: один — индикация питания приёмника, второй — индикация питания передатчика (светодиод рядом с HT12D должен гореть при включённом передатчике — это сигнал VT, валидной передачи). Если не горит — проверьте связи или RF-модули.

Подробнее о приёмнике читайте в этой статье.

Какие жесты распознаёт робот?

Пять жестов: вперёд, назад, влево, вправо, стоп. Фото жестов ниже.

Робот, управляемый жестами: проект на Arduino UNO без рук
Робот, управляемый жестами: проект на Arduino UNO без рук
Робот, управляемый жестами: проект на Arduino UNO без рук
Робот, управляемый жестами: проект на Arduino UNO без рук
Робот, управляемый жестами: проект на Arduino UNO без рук

Наслаждайтесь управлением роботом!

Уменьшение и сделать постоянным

Arduino UNO велик и неудобен на руке. Если захочется использовать его для другого проекта, придётся разбирать. Я нашёл решение — сделать автономный модуль на базе ATmega8 (или ATmega328) без Arduino-платы. Статья здесь учит, как «ужать» проект Arduino в отдельную микросхему.

Робот, управляемый жестами: проект на Arduino UNO без рук

Файлы топологии печатной платы (зеркальные и прямые) для самостоятельного изготовления:

Видео с переносом кода на ATmega8 и демонстрацией работы на светодиодах.

Мой блог с новыми проектами: robotechmaker.com. Вопросы — в комментариях там, я чаще проверяю туда.

Производственный процесс

  1. Создание Bluetooth-робота на Raspberry Pi с аудио-обратной связью
  2. Жестово-управляемый робот на Raspberry Pi
  3. Построение робота с голосовым управлением на Windows 10 IoT Core на Raspberry Pi 2
  4. Построение Wi-Fi-управляемого робота на Raspberry Pi с Python — пошаговое руководство
  5. ROObockey: Робот для уличного хоккея с точной прицельной системой
  6. Настольная RGB-лампа с управлением жестами – Интерактивное беспроводное освещение
  7. DIY USB-геймпад на Arduino: собственный высокопроизводительный контроллер
  8. Умная бутылка для воды на Arduino: мониторинг и напоминания в реальном времени
  9. Голосовой робот на Arduino Nano: Управление речью через Bluetooth
  10. Руководящие коллаборативные роботы вручную: Стандарты безопасности объяснены