Оглавление:
- Шаг 1. Подключение ESP8266 к точке доступа Ar Drone 2.0
- Шаг 2. Связь с AR. Дрон выполняется с использованием AT-команд
- Шаг 3. Подключение дисплея Nokia 5110 к плате ESP8266
- Шаг 4. Получение навигационных данных и их отображение на дисплее Nokia5110
- Шаг 5: Отправка команд взлета и посадки
- Шаг 6: Подключение MPU6050 для управления Ardrone 2.0
- Шаг 7: Управление квадрокоптером с помощью MPU6050
Видео: Блок управления квадрокоптером ArDrone 2.0 на модуле MPU6050 и ESP8266: 7 шагов
2024 Автор: John Day | [email protected]. Последнее изменение: 2024-01-30 11:48
Размеры, цена и наличие Wi-Fi позволяют сделать бюджетный блок управления квадрокоптером ArDrone 2.0 на модуле ESP8266 (цены на AliExpress, Gearbest). Для управления будем использовать модуль Gy-521 на микросхеме MPU6050 (гироскоп, акселерометр).
Попугай AR. Дрон - это радиоуправляемый квадрокоптер, то есть вертолет с четырьмя несущими винтами, размещенными на удаленных диагональных лучах. AR. Сам дрон работает под управлением операционной системы Linux, и почти любой смартфон или планшет с сенсорным экраном Android или iOS может выступать в качестве пульта дистанционного управления для квадрокоптера. Дистанция стабильного управления по Wi-Fi составляет от 25 до 100 метров и зависит от помещения и погодных условий, если полеты проходят на улице.
Шаг 1. Подключение ESP8266 к точке доступа Ar Drone 2.0
При включении AR. Drone создает точку доступа SSIS «ardrone_XX_XX». Подключение без пароля.
Попробуем подключиться к точке доступа Ar. Dron с помощью AT-команд. Подключите карту ESP8266 к com-порту компьютера через адаптер питания UART USB 3.3 В.
Откройте Arduino IDE, монитор последовательного порта и отправьте AT-команды на плату ESP (квадрокоптер должен быть включен)
Шаг 2. Связь с AR. Дрон выполняется с использованием AT-команд
Команды отправляются в AR. Drone в виде пакетов UDP или TCP;
Один пакет UDP должен содержать как минимум одну полную команду или несколько; Если пакет содержит более одной команды, для разделения команд используется символ 0x0A.
Строки кодируются как 8-битные символы ASCII;
Максимальная длина команды - 1024 символа;
Между командами существует задержка 30 мс.
Команда состоит из
AT * [имя команды] = [порядковый номер команды в виде строки] [, аргумент 1, аргумент 2…]
Список основных AT-команд для управления AR. Дрон:
AT * REF - используется для взлета, посадки, сброса и аварийной остановки;
AT * PCMD - эта команда используется для управления AR. Движение дрона;
AT * FTRIM - в горизонтальной плоскости;
AT * CONFIG-настройка AR. Параметры дрона;
AT * LED-установка светодиодной анимации на AR. Дрон;
AT * ANIM - установка анимации полета на AR. Дрон.
AT * COMWDG-команда сброса сторожевого таймера - отправляем постоянно на квадрокоптер.
Для связи используются следующие порты:
Порт 5556-UDP-отправка команд в AR. Дрон;
Порт 5554-UDP-прием пакетов данных от AR. Дрон;
Порт 5555 - поток ответов на видеопакеты от AR. Дрон;
Пакеты порта 5559-TCP для критических данных, которые нельзя потерять, обычно для настройки.
Клиент отключается от порта UDP через 2 секунды после отправки последней команды !!! - следовательно, вы должны постоянно посылать команды, если необходимо - AT * COMWDG.
Рассмотрите возможность получения навигационных данных от ARDrone (порт 5554-UDP). Пакет навигационных данных в демонстрационном режиме имеет длину 500 байт. Если что-то пойдет не так, дрон может отправить 32- и 24-байтовый пакет. Если размер пакета составляет 24 байта, это означает, что порт 5554 находится в режиме BOOTSTRAP, и вам необходимо повторно подключиться к порту, чтобы переключить его в демонстрационный режим. ARDrone может передавать данные навигации клиенту в двух формах:
сокращенно (или демонстрационный), размером 500 байт. полный.
Чтобы получить демонстрационные данные, сначала отправьте четыре байта 0x01, 0x00, 0x00, 0x00 на порт 5554, а затем отправьте команду на порт 5556
AT * CONFIG = "+ (seq ++) +", / "general: navdata_demo \", / "TRUE \", где seq - порядковый номер команды.
Структура пакета навигационных данных. В начале пакета есть 4 именованных значения:
32-битный заголовок пакета: флаги состояния вертолета 32 бита;
порядковый номер последней команды, посланной вертолету клиентом 32 бита;
флаг видения 32 бита. Далее - опция navdata Заголовок: 20-23.
Параметр navdata имеет следующие поля:
АККУМУЛЯТОР = 24; заряд аккумулятора в процентах;
PITCH = 28; угол наклона по продольной оси;
РОЛЛ = 32; угол наклона относительно поперечной оси;
YAW = 36; угол поворота относительно вертикальной оси;
ВЫСОТА = 40; рост;
VX = 44; скорость по оси x;
VY = 48; скорость оси y;
VZ = 52; скорость по оси z.
Шаг 3. Подключение дисплея Nokia 5110 к плате ESP8266
Подключите дисплей Nokia 5110 к модулю ESP8266 и выведите на него некоторые навигационные данные и на монитор последовательного порта.
Шаг 4. Получение навигационных данных и их отображение на дисплее Nokia5110
Загрузите (эскиз ardrone_esp8266_01. Ino) и наблюдайте за выводом навигационных данных на последовательный порт и экран дисплея.
Шаг 5: Отправка команд взлета и посадки
Теперь добавим в наш проект взлет и посадку квадрокоптера командами с пульта. Для взлета нужно отправить команду
AT * REF = [Порядковый номер], 290718208
Для посадки
AT * REF = [Порядковый номер], 290717696
Перед взлетом необходимо отправить команду на горизонтальную калибровку, иначе Ar Drone не сможет стабилизироваться во время полета.
AT * F TRIM = [Порядковый номер]
Загрузите скетч ardrone_esp8266_02.ino () на плату ESP8266, включите квадрокоптер Ar Drone 2.0 и проверьте работу кнопки. При нажатии-взлет, при следующем нажатии - посадка и т. Д.
Шаг 6: Подключение MPU6050 для управления Ardrone 2.0
Датчики для определения положения в пространстве используются для управления квадрокоптерами. Микросхема MPU6050 содержит как акселерометр, так и гироскоп на борту, а также датчик температуры. MPU6050 является основным элементом модуля Gy-531 (рис. 15.44). Помимо этой микросхемы, плата модуля содержит необходимую обвязку MPU6050, в том числе подтягивающие резисторы интерфейса I2C, а также стабилизатор напряжения 3,3 В с небольшим перепадом напряжения (при питании от 3,3 В вывод стабилизатор будет 3 ровно вольта) с конденсаторами фильтра.
Подключение к микроконтроллеру по протоколу I2C.
Шаг 7: Управление квадрокоптером с помощью MPU6050
Использование акселерометра и гироскопа позволяет определять отклонения по осям x и y, причем отклонения «превращаются» в команды для перемещения квадрокоптера по соответствующим осям. Перевод показаний, полученных с датчика, на угол отклонения.
Команда для отправки на Ar Drone для управления полетом
AT * REF = [порядковый номер], [битовое поле флага], [Roll], [Pitch], [Gaz], [Yaw]
Значения Roll и Pitch в диапазоне от -1 до 1 взяты из таблицы const int float , индекс соответствует углу отклонения, рассчитанному по данным датчика mu6050.
Загрузите скетч ardrone_esp8266_03.ino на плату ESP8266, включите квадрокоптер ar Drone 2.0 и проверьте работу пульта.
Рекомендуемые:
Блок управления масштабированием: 5 шагов (с изображениями)
Блок управления масштабированием: ГЛАВНЫЕ НОВОСТИ (апрель 2021 г.): Я давно хотел создать вариант с Bluetooth, и теперь у меня есть технология! Следуйте за мной, если вы хотите услышать об этом, когда он будет опубликован, надеюсь, через несколько недель. Он будет использовать такую же коробку и ту же кнопку
Восстановление или обновление прошивки на модуле ESP8266 (ESP-01) с помощью Arduino UNO: 7 шагов
Восстановление или обновление прошивки на модуле ESP8266 (ESP-01) с использованием Arduino UNO: модуль ESP-01, который я использовал, изначально поставлялся со старой прошивкой AI Thinker, что ограничивает его возможности, поскольку многие полезные AT-команды не поддерживаются. Как правило, рекомендуется обновить прошивку для исправления ошибок, а также в зависимости от
Как запустить бесщеточный двигатель постоянного тока с квадрокоптером для дрона с помощью контроллера скорости бесщеточного двигателя HW30A и серво-тестера: 3 шага
Как запустить бесщеточный двигатель постоянного тока квадрокоптера Drone Quadcopter с помощью контроллера скорости бесщеточного двигателя HW30A и тестера сервомотора: Описание: Это устройство называется тестером серводвигателя, который можно использовать для запуска серводвигателя путем простого подключения серводвигателя и источника питания к нему. Устройство также можно использовать в качестве генератора сигналов для электрического регулятора скорости (ESC), тогда вы можете
Получение LoRa (SX1278 / XL1278-SMT), работающего через SPI на модуле материнской платы WeMos D1 ESP-12F ESP8277 с OLED: 7 шагов
Получение LoRa (SX1278 / XL1278-SMT), работающего через SPI на модуле материнской платы WeMos D1 ESP-12F ESP8277 с OLED: На это у меня ушла неделя - кажется, никто до меня не догадался - так что я надеюсь, что это спасет вас Некоторое время! Неловко названный "Модуль материнской платы WeMos D1 ESP-12F ESP8266 с 0,96-дюймовым OLED-экраном" плата разработки за 11 долларов
Превратите блок питания ATX в обычный блок питания постоянного тока !: 9 шагов (с изображениями)
Преобразуйте блок питания ATX в обычный блок питания постоянного тока! Источник питания постоянного тока может быть труднодоступным и дорогим. С функциями, которые более или менее подходят для того, что вам нужно. В этом руководстве я покажу вам, как преобразовать блок питания компьютера в обычный блок питания постоянного тока с напряжением 12, 5 и 3,3 В