user

Авторизация

Добро пожаловать!

Регистрация

Graf

Технологии

Самодельный автомобиль Arduino Bluetooth, управляемый мобильным приложением

 В течение многих лет  роботы  были  популярной темой  среди студентов, хоббитов и мастеров  — любителей  . Если вы новичок и любите строить роботов, это, вероятно, будет первым проектом, который вы сделаете после изучения основ, поэтому мы решили создать роботизированную машину с беспроводным Bluetooth-управлением с использованием Arduino. Этой машиной-роботом можно управлять по беспроводной сети с помощью Bluetooth и приложения для Android, кроме того, мы разместили светодиоды RGB Neopixel спереди, сзади и снизу робота, чтобы он выглядел круто. Мы также создадим специальное приложение для Android с изобретателем приложения MIT .так что мы можем отправлять команды напрямую через Bluetooth и управлять движениями робота, а также управлять светодиодами на роботе. Вы можете просмотреть видео, приведенное внизу этой страницы, для получения полной информации о сборке.

Компоненты и инструменты, необходимые для сборки беспроводного Bluetooth-робота Arduino

  1. Ардуино УНО x 1
  2. Модуль HC05 x 1
  3. Драйвер двигателя L298N x 1
  4. NeoPixel LED x по мере необходимости
  5. Литий-ионный аккумулятор 18650 со схемой защиты x 1
  6. Двигатели BO с колесами x 4
  7. Перфорированная доска большая x 1
  8. Маленькая перфокарта x 1
  9. Тумблер x 1
  10. Гнездо постоянного тока x 1
  11. Пара разъемов Relimate x 1
  12. Мужской бергстрип x 1
  13. Бергстип женский x 2
  14. Одножильные провода различных цветов (по желанию)
  15. Доска для загара средней толщины (по желанию)
  16. Резак для бумаги, горячий клей, Feviquick, линейка, маркер, кусачки, отвертка

Сборка шасси для Bluetooth-робота на базе Arduino

 Шасси робота — это основа/основная часть бота, которая содержит все схемы бота. Итак, мы будем использовать солнечные доски, чтобы сделать надежное и прочное шасси.

 Эти плиты такие же прочные, как картон, но они легкие и экономичные. Нам потребуется половина полного листа для всей нашей конструкции.

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

 Вырежьте детали заданных размеров:

  1. Прямоугольный кусок 10,5 Х 13,5 см (2 шт)
  2. Полоски 7,5 х 2,3 см (2 шт.)
  3. Полоска 11,5 х 2,3 см (2 шт.)
  4. 4,3 х 2,3 см (1 шт.)
  5. 10,5 х 3,5 см (2 шт.)

 Это будет выглядеть так:

Подключение двигателей

 Теперь все четыре двигателя будут соединены таким образом, что они будут сформированы в две пары и каждая пара будет соединена параллельно друг другу. Точно так же правые двигатели подключены параллельно, как и левые.

Совет: Если вы подключите двигатель в соответствующем перекрестном направлении, он будет подключен параллельно. Пожалуйста, обратитесь к видео для получения дополнительной информации.

Крепление мотора к драйверу мотора

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

Приложение драйвера двигателя

 Я сделал отдельное аппаратное обеспечение для драйвера двигателя, которое обеспечит подключение к плате Arduino Uno.

Arduino UNO Protoshield

 Поскольку Arduino Protoshield можно использовать для прямого подключения IN1, IN2, IN3, IN4 моторного дайвера и других подключений, я попытался сделать свой собственный protoshield для бортовых подключений. Для подключения я использовал на плате разъемы «мама», «папа» и разъем relimate.

Схема автомобиля Arduino Bluetooth

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

 Работа этой схемы очень проста и понятна. Во-первых, у нас есть Arduino, которая работает как мозг схемы. Далее у нас есть модуль Bluetooth. Модуль Bluetooth подключен к контактам 13 и 10 платы Arduino, которую мы используем в качестве серийного номера программного обеспечения. Затем мы используем контакты 11, 12, 8 и 7 для подключения наших светодиодов WS2812B RGB. Наконец, мы используем контакты 9, 6, 5 и 4 для подключения микросхемы драйвера двигателя L298N, которая управляет четырьмя нашими двигателями. Наконец, для питания всего этого мы используем батарею на 9 В.

Код Arduino для робота, управляемого через Bluetooth

 Код для Arduino и робота на основе Bluetooth немного сложен, поэтому мы разделили весь код на три отдельных файла, чтобы мы могли быстро изменить что-то в коде, если это необходимо. Начнем с основного файла.

arduino_bluetooth_bot_main:

 Как мы все знаем, модуль Bluetooth использует последовательную связь для связи с Arduino, а поскольку Arduino имеет только один последовательный порт или порт TX и порт RX, нам нужно использовать библиотеку SoftwareSerial.h Arduino для связи с модулем Bluetooth. Таким образом, в функции void setup() мы начинаем аппаратный последовательный порт со скоростью 9600 бод для отладки и открываем программный последовательный порт со скоростью 38400 бод для связи с Bluetooth. Затем мы проверяем, работает ли модуль Bluetooth, отправив AT-команду на модуль Bluetooth. Если модуль Bluetooth возвращает команду OK, то, безусловно, модуль Bluetooth работает именно так, как предполагалось. Как только это было сделано, мы вызвали функцию LED_setup() , чтобы настроить светодиоды neo pixel, которые мы обсудим позже.

 Затем мы должны инициализировать три глобальные переменные, первая из которых называется rcd , и это переменная символьного типа, которая будет содержать данные, полученные от модуля Bluetooth. Затем мы определяем переменную целочисленного типа spd , в которой будут храниться данные о скорости автомобиля. Затем у нас есть переменная time_now  длинного типа, которую мы будем использовать для хранения данных о времени. Теперь код очень простой. Мы проверяем полученную переменную rcd и соответственно выполняем условие if. Мы продолжаем этот процесс для всех светодиодов RGB и движений робота. И это отмечает конец нашей функции цикла.

led_control:

 Внутри файла контроллера светодиодов мы настроили, объявили и определили контакты, к которым подключены светодиоды neopixel. Для управления неопикселями мы использовали библиотеку Adafruit_NeoPixel.

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

 Далее у нас есть еще четыре функции, которые управляют всеми светодиодами. Эти функции прикреплены к роботу и называются R_LED, L_LED, F_LED, B_LED соответственно.

 Это отмечает конец части кода led_control .

Движения:

 Далее у нас есть файлы перемещения. В этом конкретном файле мы определили функции для управления движением робота. В функции, показанной ниже, мы использовали функцию AnalogWrite(5, spd) и передали значение вывода и скорости, чтобы она могла генерировать сигнал ШИМ. После этого мы управляем микросхемой драйвера двигателя, которая, в свою очередь, приводит двигатель в действие.

 Это все, что касается части кода, и мы можем перейти к части приложения для Android.

Создание приложения для Android для нашего робота, управляемого через Bluetooth

 Создание приложения для Android было очень простым с изобретателем приложения. Во-первых, мы начали с разработки пользовательского интерфейса. Как вы можете видеть, в левой части изображения скриншот взят из веб-интерфейса изобретателя приложения MIT, а в правой части изображения — скриншот с телефона. Как только мы были удовлетворены графическим интерфейсом, мы приступили к логической части приложения.

 В логической части особо ничего нет. Мы используем стандартные методы изобретателя приложений для подключения к HC-05 Bluetooth, и после того, как соединение установлено, мы просто отправляем определенные команды для перемещения робота и управления светодиодами в роботе. Файл aia для приложения для Android предоставляется, вы можете скачать и отредактировать его на свое усмотрение. Скриншот логической части изобретателя приложения MIT приведен ниже:

 На этом процесс создания приложения завершен.

Bluetooth-управляемый робот — в действии

 Что касается тестовой части, мы заранее сделали схему и протестировали каждую часть по-разному, чтобы мы могли определить любые неисправности в нашей части. После того, как каждая часть была протестирована, мы приступили к сборке робота, сначала измерив, а затем разрезав доску для загара в соответствии с размерами. Когда все будет готово, бот будет выглядеть примерно так, как показано на рисунке ниже.

 На этом мы завершаем наш проект робота-автомобиля на базе Android и Bluetooth, управляемого через Bluetooth. Надеюсь, вам понравилось это читать, и вы узнали что-то полезное.

Весь программный код