Пульт дистанционного управления дроном на Arduino

Содержание

В данной статье мы рассмотрим создание на основе платы Arduino и двух джойстиков пульта дистанционного управления (RC controller), который будет работать на частоте 2,4 ГГц.

Данный пульт дистанционного управления (ДУ) автор проекта в дальнейшем планирует использовать для управления квадрокоптером (дроном), но также его можно использовать для управления любыми другими механизмами, в которых необходимо перемещение управляемого элемента в двух плоскостях.

Внешний вид пульта дистанционного управления дроном на Arduino

Рассматриваемый пульт ДУ состоит из двух джойстиков, один из которых используется для указания направления перемещения (дрона), а второй – для движения (дрона) вверх или вниз. Более подробно о подключении джойстика к плате Arduino можно прочитать в этой статье.

Необходимые компоненты

  1. Плата Arduino Nano (купить на AliExpress).
  2. Джойстик – 2 шт. (купить на AliExpress).
  3. Радиочастотный модуль nRF24L01 (купить на AliExpress).
  4. Соединительные провода "мама — мама".
  5. Винты.
  6. Батарейка 9V.

Сборка пульта дистанционного управления

При конструировании данного пульта ДУ автор проекта был вдохновлен внешним видом джойстика для игровой приставки PS4.

Внешний вид джойстика для игровой приставки PS4

Конечно, у автора получился пульт с виду "попроще" чем джойстик от PS4 и кнопок он имеет поменьше, но, тем не менее, он работает. Первый дизайн пульта ДУ:

Первый дизайн пульта ДУ (вид спереди)

Первый дизайн пульта ДУ (вид сзади)

Со второй попытки автор проекта решил придать внешний вид своему творению, который сделает его более похожим на хороший игровой контроллер:

Второй дизайн пульта ДУ (вид спереди)

Порядок сборки пульта ДУ

Первым делом необходимо напечатать компоненты пульта ДУ на 3D принтере: основную часть, отсек для батарейки и отсек для платы Arduino Nano.

Скачать STL файлы для печати этих компонентов на 3D принтере можно по следующим ссылкам:

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

Сборка пульта (часть 1)

Сборка пульта (часть 2)

Затем необходимо скрепить все напечатанные компоненты проекта между собой. Автор проекта для этого использовал винты M3x20. Вначале прикрепите с помощью винтов к основной части отсек для Arduino, а затем прикрепите отсек для батарейки.

Скрепление компонентов пульта с помощью винтов

Схема проекта

Схема пульта дистанционного управления на основе платы Arduino представлена на следующем рисунке.

Схема пульта дистанционного управления на основе платы Arduino

Исходный код программы (скетча)

Вначале кода программы мы подключаем заголовочные файлы необходимых нам библиотек – SPI.h, Mirf.h, nRF24L01.h и MirfHardwareSpiDriver.h.

Далее, в функции void setup мы инициализируем необходимые контакты и переменные. Затем в функции void loop() мы считываем значения с джойстиков и передаем их по радиоканалу с помощью модуля NRF24l01.


Источник: microkontroller.ru