Оглавление:

Робот, управляемый жестами с использованием Arduino: 7 шагов
Робот, управляемый жестами с использованием Arduino: 7 шагов

Видео: Робот, управляемый жестами с использованием Arduino: 7 шагов

Видео: Робот, управляемый жестами с использованием Arduino: 7 шагов
Видео: Как Сделать Робота на Arduino UNO / How to Make a Robot on Arduino UNO 2024, Июль
Anonim
Робот, управляемый жестами с использованием Arduino
Робот, управляемый жестами с использованием Arduino

Роботы используются во многих секторах, таких как строительство, военная промышленность, производство, сборка и т. Д. Роботы могут быть автономными или полуавтономными. Автономные роботы не требуют вмешательства человека и могут действовать самостоятельно в зависимости от ситуации. Полуавтономные роботы работают в соответствии с инструкциями людей. Этим полуавтономным можно управлять с помощью пульта дистанционного управления, телефона, жестов и т. Д. Ранее мы создали несколько роботов на основе Интернета вещей, которыми можно управлять с веб-сервера.

В сегодняшней статье мы собираемся создать робота, управляемого жестами, с использованием Arduino, акселерометра MPU6050, пары приемопередатчиков nRF24L01 и модуля драйвера двигателя L293D. Мы разделим этого робота на две части. Один из них - передатчик, а другой - приемник. Секция передатчика состоит из Arduino Uno, акселерометра и гироскопа MPU6050 и nRF24L01, а секция приемника состоит из Arduino Uno, nRF24L01, двух двигателей постоянного тока и драйвера двигателя L293D. Передатчик будет действовать как дистанционное управление роботом, где робот будет двигаться в соответствии с жестами.

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

Необходимые компоненты
Необходимые компоненты
Необходимые компоненты
Необходимые компоненты
  • Ардуино Уно (2)
  • NRF24L01 (2)
  • Двигатель MPU6050DC (2)
  • Модуль драйвера двигателя L293D
  • Тесто

Акселерометр и гироскоп MPU6050 Модуль датчика MPU6050 представляет собой полную 6-осевую (3-осевой акселерометр и 3-осевой гироскоп) микро-электромеханическую систему. Модуль датчика MPU6050 также имеет встроенный датчик температуры. Он имеет шину I2C и интерфейс вспомогательной шины I2C для связи с микроконтроллерами и другими сенсорными устройствами, такими как 3-осевой магнитометр, датчик давления и т. Д. Модуль датчика MPU6050 используется для измерения ускорения, скорости, ориентации, смещения и некоторых других движений. -связанные параметры. Этот сенсорный модуль также имеет встроенный цифровой процессор движения, который может выполнять сложные вычисления.

Модуль приемопередатчика NRF24L01

nRF24L01 - однокристальный радиоприемопередатчик для всемирного диапазона ISM 2,4–2,5 ГГц. Приемопередатчик состоит из полностью интегрированного синтезатора частот, усилителя мощности, кварцевого генератора, демодулятора, модулятора и механизма протокола Enhanced ShockBurs. Выходная мощность, частотные каналы и настройка протокола легко программируются через интерфейс SPI. Диапазон рабочего напряжения этого модуля приемопередатчика составляет от 1,9 В до 3,6 В. Он имеет встроенные режимы отключения питания и ожидания, которые делают его энергосберегающим и легко реализуемым.

Шаг 2: Работа робота, управляемого жестами рук, с использованием Arduino

Работа робота, управляемого жестами рук, с использованием Arduino
Работа робота, управляемого жестами рук, с использованием Arduino
Работа робота, управляемого жестами рук, с использованием Arduino
Работа робота, управляемого жестами рук, с использованием Arduino

Чтобы понять, как работает эта машина управления жестами Arduino, давайте разделим этот проект на две части. Первая часть - это передатчик (пульт), в котором датчик акселерометра MPU6050 непрерывно отправляет сигналы приемнику (роботу) через Arduino и передатчик nRF.

Вторая часть - это часть приемника (машина-робот), в которой приемник nRF принимает переданные данные и отправляет их в Arduino, который затем обрабатывает их и соответствующим образом перемещает робота.

Датчик акселерометра MPU6050 считывает координаты X Y Z и отправляет координаты в Arduino. Для этого проекта нам нужны только координаты X и Y. Затем Arduino проверяет значения координат и отправляет данные на передатчик nRF. Переданные данные принимаются приемником nRF. Получатель отправляет данные на Arduino на стороне получателя. Arduino передает данные в микросхему драйвера двигателя, и драйвер двигателя поворачивает двигатели в нужном направлении.

Шаг 3: принципиальная схема

Принципиальная электрическая схема
Принципиальная электрическая схема
Принципиальная электрическая схема
Принципиальная электрическая схема

Этот робот, управляемый жестами руки и использующий оборудование Arduino, разделен на две части.

  1. Передатчик
  2. Получатель

Шаг 4: Схема передатчика для автомобиля, управляемого жестами Arduino

Схема передатчика для автомобиля с управлением жестами Arduino
Схема передатчика для автомобиля с управлением жестами Arduino
Схема передатчика для автомобиля с управлением жестами Arduino
Схема передатчика для автомобиля с управлением жестами Arduino
Схема передатчика для автомобиля с управлением жестами Arduino
Схема передатчика для автомобиля с управлением жестами Arduino

Раздел передатчика этого проекта состоит из акселерометра и гироскопа MPU6050, nRF24L01Transceiver и Arduino Uno. Arduino непрерывно получает данные от MPU6050 и отправляет их на передатчик nRF. Радиочастотный передатчик передает данные в окружающую среду.

Шаг 5: Схема приемника для автомобиля, управляемого жестами Arduino

Схема приемника для автомобиля с управлением жестами Arduino
Схема приемника для автомобиля с управлением жестами Arduino
Схема приемника для автомобиля с управлением жестами Arduino
Схема приемника для автомобиля с управлением жестами Arduino
Схема приемника для автомобиля с управлением жестами Arduino
Схема приемника для автомобиля с управлением жестами Arduino

Секция приемника этого робота, управляемого жестами, состоит из Arduino Uno, трансивера nRF24L01, 2 двигателей постоянного тока и модуля драйвера двигателя. Приемник NRF24L01 принимает данные от передатчика и отправляет их в Arduino. Затем в соответствии с полученными сигналами Arduino перемещает двигатели постоянного тока.

Шаг 6: Пояснение к программе

Полный код робота, управляемого жестами и использующего Arduino, доступен здесь. Ниже мы объясняем программу построчно.

Боковая программа передатчика

В этой программе Arduino считывает данные с MPU6050 и отправляет их на передатчик nRF 24L01.

1. Запустите программу, добавив необходимые файлы библиотеки. Вы можете скачать файлы библиотеки по указанным ссылкам.

SPI.h

nRF24L01.h

Wire.h

MPU6050.h

2. Затем определите переменные для данных гироскопа и акселерометра MPU6050. Здесь будут использоваться только данные акселерометра.

3. Определите адреса радиоканала для контактов CN и CSN передатчиков связи и nRF.

4. Внутри функции void setup () запустите серийный монитор. А также инициализировать проводную и радиосвязь. radio.setDataRate используется для установки скорости передачи данных.

5. Считайте данные датчика MPU6050. Здесь мы используем только данные акселерометра направления X и Y.

6. Наконец, передайте данные датчика с помощью функции radio.write.

Программа на стороне получателя

1. Как обычно, запустите программу, включив необходимые файлы библиотеки.

2. Определите адреса радиоканала для контактов CN и CSN передатчиков связи и nRF.

3. Определите левый и правый контакты двигателя постоянного тока.

4. Теперь проверьте, есть ли радио. Если да, то прочтите данные.

5. Теперь сравните полученные данные и запустите двигатели в соответствии с условиями.

Шаг 7: Тестирование робота, управляемого жестами рук, с помощью Arduino

Когда оборудование будет готово, подключите Arduinos на стороне передатчика и приемника к ноутбуку и загрузите код. Затем переместите акселерометр MPU6050, чтобы управлять автомобилем-роботом.

Полную работу робота, управляемого жестами, можно посмотреть на видео.

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