Управление мотором через блютуз ардуино

Самая простая машинка на Arduino с дистанционным управлением со смартфона по Bluetooth. Лёгкая схема, простой скетч. Едет на двух электромоторах, питается от кроны. Рама, на которой всё держится, изготавливается из подручных материалов и ограничивается лишь фантазией.

Видео:Управление шаговыми моторами по Bluetooth при помощи Arduino и Android смартфона. Привод для камеры.Скачать

Управление шаговыми моторами по Bluetooth при помощи Arduino и Android смартфона. Привод для камеры.

Комплектующие

  1. Arduino Uno — https://bit.ly/2P3rCI5​
  2. драйвер моторов L298N — https://bit.ly/3dvbDMg​
  3. Bluetooth модуль HC-06 или HC-05 или подобный — https://bit.ly/3x4nhFX​
  4. моторы постоянного тока с редуктором и с колёсами — 4 шт — https://bit.ly/2P4e9Qr​
  5. провода папа-папа, мама-мама, папа-мама 10-30 см — https://bit.ly/3n3z0jl​
  6. аккумулятор 9В, я использовал с разъёмом micro-USB для зарядки — https://bit.ly/2QeFbF6​
  7. зажим для аккумулятора 9В — https://bit.ly/32rmwZi​
  8. тумблер — 1 шт — https://bit.ly/3artZfr

Для изготовления рамы машинки можно использовать разнообразные материалы:

  • листовой лёгкий материал, который легко обрабатывать — оргстекло, фанера, текстолит, оргалит и т.п.
  • третье колесо, которое будет опорным — оно должно уметь ехать во всех стороны (хорошо подходят мебельные колёсики);
  • крепёжные элементы — болты, гайки, шурупы.

Видео:🚗Bluetooth танк - powerbank своими рукамиСкачать

🚗Bluetooth танк - powerbank своими руками

Схема подключения

Управление мотором через блютуз ардуино

Питание платы берётся от «Кроны» и подаётся на Arduino через пины VIN и GND. Также подаётся отдельно на драйвер двигателей через порты +12V и GND.

Blutooth модуль HC-06 получает питание в 3,3 вольта от Arduino. Если подключить к 5 вольтам, то тоже работает нормально. Выход RX модуля подключается к TX на Arduino, а TX — в RX, то есть наоборот.

На драйвере двигателей нужно снять две боковые перемычки — Enable. Пины под ними позволят нам управлять скоростью вращения двигателей. И эти пины подключаются к Arduino обязательно к ШИМ-портам (обозначенные знаком

Питание моторов подаётся на Input драйвера от Arduino с портов 2 и 4, 6 и 7. А сами моторы подключаются к Output A и Output B драйвера.

Управление мотором через блютуз ардуино

Если после сборки и прошивки, вы подаёте на машинку сигнал двигаться вперёд, а оба колеса при этом вращаются в разных направления, то нужно поменять местами провода на одном из моторов в выходе Output.

Управление мотором через блютуз ардуино

Если при движении вперёд машинка едет назад, то нужно поменять местами провода Output обоих двигателей (хотя, кто знает, где у ней перед, а где зад…).

Управление мотором через блютуз ардуино

Если при повороте налево, машинка едет направо, то нужно поменять местами Output A и Output B.

Управление мотором через блютуз ардуино

Если подключить всё по схеме, то скетч переделывать не нужно будет.

Видео:Управление двумя униполярными шаговыми моторами по Bluetooth на базе Arduino nano. Проекты Arduino.Скачать

Управление двумя униполярными шаговыми моторами по Bluetooth на базе Arduino nano. Проекты Arduino.

Скетч

Перед прошивкой обаятельно отключите питание у Blutooth модуля. Для этого надо просто отсоединить один из его проводов питания.

В скетче прописанные необходимые поясняющие комментарии.

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

Со смартфона приложение по Bluetooth посылает сигналы в виде латинских букв (W, S, E и т.д.). В зависимости от пришедшей команды, с помощью оператора if, вызываются комбинации тех или иных функции. Если вы будете использовать другое приложение, не то, которое я предоставлю ниже, то оно будет посылать другие команды, другие буквы. Соответственно, придётся переписать их в скетче.

Например, когда по Bluetooth приходит ‘ W ‘ вызываются две функции rightWheelForward (); и leftWheelForward (); что заставит оба мотора крутится вперёд.

Читайте также: Самодельная металлическая лодка под мотор

А если приходит ‘E’, то вызываются функции rightWheelStop (); и leftWheelForward (); что заставит остановиться правый мотор и вращаться вперёд только левый, от чего машинка поведет вперёд вправо.

Есть три вида скорости, которые включаются, когда приходят команды ‘1’, ‘2’ и ‘3’. Скорость можно задавать от 0 до 250. На каждую и трёх команд в скетче прописаны скорости 120, 170 и 250, соответственно.

Если у вас уровень заряда аккумулятора уже на исходе, то при скорости 120 может не поехать или поехать, но не стабильно. Тогда лучше увеличить значение для первой скорости.

Скорость приходит в виде переменной motorSpeed в функцию analogWrite() и запускает двигатель с заданными оборотами.

Видео:Уроки Arduino - управление бесколлекторным моторомСкачать

Уроки Arduino - управление бесколлекторным мотором

Приложение

Так как я не владею навыком написания приложение под Anroid, то для создания пульта управления использовать уже известный у многих начинающих разработчиков инструмент визуального программирования — App inventor.

Что-то подсмотрел у других в интернете, что доработал, и получилось такое простое приложение.

Управление мотором через блютуз ардуино

Сначала нужно включить машинку и сделать сопряжение по Bluetooth со смартфоном. Пароль модуля 0000 или 1234. После этого откройте приложение и нажмите «Подключиться к машинке». Подключитесь к модулю HC-06. Светодиод на нём должен перестать мигать.

Если сразу начать нажимать на стрелки направлений движения, то не поедет. В первую очередь нужно нажать на одну из трёх скоростей, а уже потом на стрелки направления. Тогда поедет.

И, так как я не публиковал это приложение в Google Play, смартфон может ругаться на его безопасность. Но можно смело устанавливать. В нём всё работает безопасно.

Видео:Уроки Arduino. Управление моторами с библиотекой GyverMotorСкачать

Уроки Arduino. Управление моторами с библиотекой GyverMotor

Сборка

Можно купить готовое шасси для машинки сразу вместе с моторами и колёсами. Останется только установить электронику и всё подключить.

Но намного интереснее создать это самому. Для изготовления подойдёт любой листовой материал, который вам будет легко обрабатывать, и который достаточно лёгкий. Например, оргалит, текстолит, фанера. Я выбрал оргстекло, что сделало мою машинку даже очень похожей на шасси из магазина.

Из инструментов могут понадобиться:

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

Получилось дёшево и сердито. А главное работает.

  • Управление мотором через блютуз ардуино
  • Управление мотором через блютуз ардуино

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

В магазинном наборе для крепления моторов используются специальный кронштейны, к которым сам мотор прикручивается болтами диаметром 3 мм. Но болтов нужного диаметра и длины у меня не оказалось, хоть и можно было изготовить аналогичный кронштейн. Поэтому пришлось изощряться и использоваться даже детали детского конструктора, чтобы надёжно прикрепить моторы. На видео крепление моторов рассмотрено лучше.

Платы в идеале лучше прикручивать короткими болтами с диаметром 3 мм. Но и таких у меня не оказалось. Поэтому пришлось делать в оргстекле отверстия 2 мм и прикручивать платы саморезами. Держится вполне нормально.

У модуля Bluetooth особая проблема крепления — там отверстий для крепления нет вообще. Пришлось прижимать плату к раме другой деталью из оргстекла. Тут главное не сжать слишком сильно, чтобы не повредить.

Читайте также: Мотор вентилятора для печек

Управление мотором через блютуз ардуино

Аккумулятор крепится аналогично Bluetooth модулю, только снизу.

И обязательно прикручиваем мебельное поворотное колесо, которое станет опорным, и не будет приводным. Следите за тем, чтобы вся конструкция была в горизонтальном положении, когда стоит на всех трёх колёсах.

Видео:Управление шаговым двигателем на Arduino через bluetooth. Умные шторы.Скачать

Управление шаговым двигателем на Arduino через bluetooth. Умные шторы.

Видео

Видео:Блютуз модуль HC-06 и АрдуиноСкачать

Блютуз модуль HC-06 и Ардуино

Роботизированная машина на Arduino, управляемая по Bluetooth

В этом проекте мы рассмотрим создание роботизированной машины на основе платы Arduino Uno, управляемой по Bluetooth. Для этих целей мы будем использовать модуль Bluetooth HC-05 и приложение для операционной системы Android.

Управление мотором через блютуз ардуино

Видео:Управление моторами с ArduinoСкачать

Управление моторами с Arduino

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

  1. Плата Arduino Uno (купить на AliExpress).
  2. Bluetooth модуль HC-05 (купить на AliExpress).
  3. Драйвер двигателей L293D (купить на AliExpress).
  4. Двигатели постоянного тока.
  5. Батарейки на 6 и 9 Вольт.
  6. Соединитель батарей.
  7. Игрушечная машина.

Видео:ПОДКЛЮЧАЕМ ШАГОВЫЙ ДВИГАТЕЛЬ К ARDUINO [Уроки Ардуино #14]Скачать

ПОДКЛЮЧАЕМ ШАГОВЫЙ ДВИГАТЕЛЬ К ARDUINO [Уроки Ардуино #14]

Общие принципы управления машиной по Bluetooth

Разрабатываемая нами машина будет управляться по протоколу Bluetooth с помощью приложения, установленного на мобильном телефоне с операционной системой Android. Для управления машиной нужно будет всего лишь нажимать кнопки в этом приложении. То есть телефон с Android будет выступать в роли передающего устройства, а Bluetooth модуль, расположенный на машине – в качестве приемного устройства, выполняющего все команды, поступающие с телефона (движение вперед, назад, направо, налево, остановка).

Bluetooth модуль структурно состоит из двух блоков: модуль последовательного интерфейса (для последовательной передачи данных) и адаптер Bluetooth. Модуль последовательного интерфейса предназначен для конвертации данных Bluetooth в данные для передачи по последовательному порту.

После приобретения модуля Bluetooth в магазине вам нет никакой необходимости изменять его настройки – он полностью готов к работе. По умолчанию скорость передачи данных у него составляет 9600 бод/с. Вам просто необходимо подсоединить его контакты rx и tx к микроконтроллеру и подать питающее напряжение постоянного тока 5 В.

Bluetooth модуль может работать в двух режимах: главный режим (master mode) и подчинённый режим (slave mode). Любой из этих режимов можно установить с помощью соответствующих АТ команд. Далее приведены некоторые из АТ команд.

Первым делом при работе с данным модулем необходимо войти в AT режим со скоростью передачи 38400 бод/с при помощи нажатия кнопки EN на Bluetooth модуле или с помощью подачи сигнала высокого уровня на контакт EN. Примечание: все команды должны заканчиваться \r\n (0x0d и 0x0a) или нажатием клавиши ENTER на клавиатуре.

После того как вы передадите на модуль AT команду модуль ответит вам OK (после ее выполнения).

AT → Test Command
AT+ROLE=0 → Slave Mode select (выбор подчиненного режима)
AT+ROLE=1 → Master Mode select (выбор главного режима)
AT+NAME=xyz → Set Bluetooth Name (установка Bluetooth имени)
AT+PSWD=xyz → Set Password (установка пароля)
AT+UART= , , → set Baud rate (установка бодовой скорости)
Eg. AT+UART=9600,0,0

Распиновка Bluetooth модуля:
1. STATE → Open (открыто)
2. Rx → Serial receiving pin (контакт приема данных)
3. Tx → Serial transmitting pin (контакт передачи данных)
4. GND → ground (земля)
5. Vcc → +5volt dc (+5 В постоянного тока)
6. EN → to enter in AT mode (вход в AT режим)

Видео:Блютуз модуль HM-10 и Ардуино. Управление с телефонаСкачать

Блютуз модуль HM-10 и Ардуино. Управление с телефона

Принципы работы разрабатываемого устройства

В этом проекте мы использовали игрушечную машину для демонстрации работы устройства. Игрушечная машина должны быть с радиоуправлением и рулевым механизмом, позволяющим поворачивать машину вправо и влево. После покупки данной машины мы заменили ее радиочастотную часть на нашу схему с Arduino. Машина имеет два двигателя постоянного тока. Двигатель, расположенный впереди машины, используется для поворота машины вправо или влево. Двигатель, расположенный сзади машины, используется для движения машины назад или вперед. Bluetooth модуль используется для приема команд от телефона на Android, а плата Arduino Uno используется для управления всей системой. Структурная схема работы устройства приведена на следующем рисунке.

Читайте также: Лодочный мотор лмр 6

Управление мотором через блютуз ардуино

Разрабатываемая нами роботизированная машина на Arduino, управляемая по Bluetooth, подчиняется командам, формируемым приложением на телефоне с операционной системой Android. Поэтому первым делом нам необходимо скачать подобное приложение из Google play. Можно использовать любое Bluetooth приложение, которое поддерживает передачу данных. Пара примеров подобных приложений, с которыми наше устройство точно будет работать корректно:

  • Bluetooth Spp pro;
  • Bluetooth controller.

После установки подобного приложения вам необходимо открыть его и выбрать желаемое Bluetooth устройство. Затем сконфигурировать клавиши. Для примера в этом проекте мы использовали приложение Bluetooth controller. Последовательность действий в этом случае будет следующая:

  1. Скачать и установить Bluetooth Controller.
  2. Включить Bluetooth в настройках телефона.
  3. Открыть приложение Bluetooth controller.
  4. Нажать scan.
  5. Выбрать желаемое Bluetooth устройство.
  6. Установить клавиши – для этого необходимо нажать кнопку ‘set button’ и установить клавиши согласно приведенному рисунку.
  7. После установки клавиш нажать ok.

Управление мотором через блютуз ардуино

Когда мы будем нажимать кнопку движения вперед в приложении Bluetooth controller, то машина начнет двигаться вперед и будет двигаться в этом направлении пока не поступит следующая команда.

Когда мы будем нажимать кнопку движения назад в приложении Bluetooth controller, то машина начнет двигаться в обратном направлении (назад) и будет двигаться в этом направлении пока не поступит следующая команда.

Когда мы будем нажимать кнопку движения влево в приложении Bluetooth controller, машина начнет поворачивать влево и будет делать это до поступления очередной команды. В этом случае передний двигатель машины повернет ее передние колеса влево, а задний двигатель будет двигать машину прямо.

Когда мы будем нажимать кнопку движения вправо в приложении Bluetooth controller, машина начнет поворачивать вправо и будет делать это до поступления очередной команды. В этом случае передний двигатель машины повернет ее передние колеса вправо, а задний двигатель будет двигать машину прямо.

После нажатия кнопки остановки в приложении Bluetooth controller машина остановится.

Видео:блютуз bluetooth модуль hc-05, hc-06 Подключение к ардуино,Скачать

блютуз bluetooth модуль hc-05, hc-06 Подключение к ардуино,

Работа схемы

Схема устройства представлена на следующем рисунке.

Управление мотором через блютуз ардуино

Драйвер мотора используется для управления двигателями машины. Его контакты 2, 7, 10 и 15 подсоединены к цифровым контактам Arduino 12, 11, 10 и 9 соответственно. Один из двигателей подключен к выходным контактам драйвера мотора 3 и 6, а другой – к контактам 11 и 14. Батарейка 6 Вольт также используется для питания драйвера мотора – а через него для питания двигателей. Контакты rx и tx Bluetooth модуля непосредственно подключены к контактам tx и rx платы Arduino. Батарейка 9 Вольт используется для подачи питания на контакт Arduino Vin.

Видео:Управление Arduino через BluetoothСкачать

Управление Arduino через Bluetooth

Исходный код программы

В программе первым делом необходимо инициализировать выходные контакты для подключения двигателей (через драйвер мотора).

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


    🎬 Видео

    Управление Освещением по Bluetooth (ARDUINO) и смартфон на АндроидеСкачать

    Управление Освещением по Bluetooth (ARDUINO) и смартфон на Андроиде

    Arduino - дистанционное управление яркостью света и сервоприводом на nRF24L01Скачать

    Arduino - дистанционное управление яркостью света и сервоприводом на nRF24L01

    Управление реле с компьютера при помощи Arduino и bluetoothСкачать

    Управление реле с компьютера при помощи Arduino и bluetooth

    Bluetooth HC 06 и ардуино. Приложение андроид для управления Реле с телефонаСкачать

    Bluetooth HC 06 и ардуино.  Приложение андроид для управления Реле с телефона

    Блютуз модуль HC-06. Полное управлениеСкачать

    Блютуз модуль HC-06. Полное управление

    управление мотором при помощи Arduino, bluetooth модуля, и двух релеСкачать

    управление мотором при помощи Arduino, bluetooth модуля, и двух реле

    HC-06 настройка Bluetooth модуля, а также Android приложения для управления проектами по Bluetooth.Скачать

    HC-06 настройка Bluetooth модуля, а также Android приложения для управления проектами по Bluetooth.

    Подключение и настройка nRF24L01 к Arduino (модуль беспроводной связи)Скачать

    Подключение и настройка nRF24L01 к Arduino (модуль беспроводной связи)
Поделиться или сохранить к себе:
Технарь знаток