Bluetooth with arduino mega

Модуль Bluetooth HC-05(06)

Модуль связи HC-05 или HC-06 позволяет реализовать дистанционное управление микроконтроллерным устройством по Bluetooth. Реализована поддержка модуля всеми контроллерами Arduino. Исходный код графического интерфейса можно получить для сред разработки Arduino IDE или FLProg IDE.

Модуль представляет собой чип Bluetooth HC-05(06), распаянный на плате, содержащей DC-DC преобразователь напряжения питания и схему преобразования уровней сигналов RX и TX. Сам модуль HC-05(06) питается напряжением 3.3 вольта, но благодаря преобразователям, вы можете эту сборку подключить к устройству, работающему от напряжения 5 вольт.

Модуль имеет 4-е (иногда 6) контакта для подключения: два контакта для подачи питания: земля(GND) и +5 вольт, и два контакта интерфейса последовательного порта: RX и TX.

Напряжение питания: 5 В (может быть запитан от платы Arduino);

Подключение: Serial (UART), SoftwareSerial, скорость по умолчанию 9600 бит/сек.

Для использования модуля HC-05(06) выберите этот модуль в настройках конфигурации проекта.

Модуль подключается к плате микроконтроллера по последовательному интерфейсу. Можно на выбор использовать SoftwareSerial или аппаратный Serial. Вариант подключения модуля выбирается в панели настроек подключения модуля.

Подключение через Software Serial

Позволяет подключить модуль к произвольным контактам микроконтроллера. Какие контакты использовать, необходимо указать в панели настроек подключения модуля. Так же в панели настроек указывается скорость передачи данных для порта. Модуль HC-05(06) по умолчанию настроен на скорость 9600 бит/сек. Скорость работы модуля может быть изменена при помощи AT команд (требует специальных знаний), но если вы не изменяли скорость, установите значение по умолчанию, т.е. 9600 бит/сек.

Есть некоторые ограничения на использование контакта RX для плат Arduino. Ограничения связаны с поддержкой прерываний на соответствующих контактах микроконтроллера.

  • Arduino UNO и Nano для RX нельзя использовать контакт 13(LED);
  • Arduino Mega и Mega2560 для RX можно использовать только следующие контакты: 10, 11, 12, 13, 14, 15, 50, 51, 52, 53, A8(62), A9(63), A10(64), A11(65), A12(66), A13(67), A14(68), A15(69);
  • Arduino Leonardo и Micro для RX можно использовать только следующие контакты: 8, 9, 10, 11, 14, 15, 16;
Читайте также:  Моноблок леново включить блютуз

Так же при использовании SoftwareSerial вы должны принять следующие ограничения:

  • Нет возможности работы на больших скоростях передачи данных. Не рекомендуем использовать скорость соединения более 38400 бит/сек.
  • Некоторые библиотеки, которые так же используют прерывания, могут работать не корректно, или же их использование может сделать неработоспособным данный способ подключения. Например библиотека Servo будет подергивать сервоприводы.

Пример подключения модуля HC-05(06) для SoftwareSerial к контактам 2(RX) и 3(TX) на рисунке. Обратите внимание, что необходимо контакты подключить перекрестием, т.е. контакт Arduino 2(RX) к контакту TX модуля, и контакт 3(TX) к контакту RX модуля.

Подключение через Hardware Serial (аппаратный)

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

  • Arduino UNO и Nano: Serial (RX-0, TX-1);
  • Arduino MEGA и MEGA2560: Serial (RX-0, TX-1), Serial1 (RX-19 и TX-18), Serial2 (RX-17 и TX-16), Serial3 (RX-15 и TX-14);

Какой порт использовать, а следовательно к каким контактам следует подключать модуль, необходимо указать в панели настроек подключения модуля. Следует так же иметь в виду, что для плат Arduino порт Serial задействован для программирования микроконтроллера, и если вы приняли решение использовать этот порт, при программировании необходимо отсоединять модуль HC-05(06). Хорошим решением будет использовать на платах Arduino MEGA любой порт, отличный от Serial.

Так же в панели настроек указывается скорость передачи данных для порта. Модуль HC-05(06) по умолчанию настроен на скорость 9600 бит/сек. Скорость работы модуля может быть изменена при помощи AT команд (требует специальных знаний), но если вы не изменяли скорость, установите значение по умолчанию, т.е. 9600 бит/сек.

Пример подключения модуля HC-05(06) для аппаратного Serial к контактам 0(RX) и 1(TX) на рисунке. Обратите внимание, что необходимо контакты подключить перекрестием, т.е. контакт Arduino 0(RX) к контакту TX модуля, и контакт 1(TX) к контакту RX модуля.

Источник

Робомобиль на базе Arduino Mega 2560 с Bluetooth управлением и автономным движением с объездом препятствий

Представляю свой проект робомобиля на Arduino. На просторах интернета есть масса подобных статей, наткнувшись на одну из них решил реализовать увиденное со своими изменениями в конструкцию и функционал. Реализованы следующие возможности: управление робомобилем по Bluetooth со смартфона; автономное движение робомобиля с объездом препятствий.

Читайте также:  Dell d630 как включить блютуз

Для реализации нам понадобится:

Комплект: рама, моторы, колёса, крепления (Car Chassis Kit for Arduino — фото)
Arduino Mega 2560
Motor Control Shield for Arduino L293D
Сервопривод MG995
Ультразвуковой дальномер HC-SR04
Bluetooth модуль HC-05 JY-MCU
Active High Level Buzzer Alarm / Speaker Buzzer Module
Диоды для фар
Соединительные провода
Держатели для дальномера и Bluetooth модуля (делал сам)
Блок питания (я взял от кассового аппарата)
Приложение на Android для управления робомобилем по Bluetooth Arduino Bluetooth RC Car (фото, при подключении к Bluetooth модулю пин-код по умолчанию «1234»)

Подключение комплектующих

Моторы Motor Shield L293D Фары Arduino Mega 2560
П.Л. М3 П.Л. «-» на GND, «+» на Pin 22
П.П. М4 П.П. «-» на GND, «+» на Pin 24
З.Л. М1 З.Л. «-» на GND, «+» на Pin 34
З.П. М2 З.П. «-» на GND, «+» на Pin 35
Дальномер HC-SR04 Arduino Mega 2560 Bluetooth HC-05 Arduino Mega 2560 Buzzer Arduino Mega 2560
Vcc 5V VCC 5V SIG Pin A9
Trig Pin 31 GND GND VCC Pin A8
Echo Pin 30 TXD Pin 50 GND GND
Gnd GND RXD Pin 51
Сервопривод MG995 Motor Shield L293D
тройная клема SERVO_2 (центральный провод «+» откусываем и запитываем напрямую от «+» Motor Shield — фото; при управлении по Bluetooth — клему снимайте, чтобы серва не дёргалась)

Процесс сборки

К моторам припаиваем провода, обратите внимание, на всех нижних контактах у меня чёрные провода, на верхних — красные, не перепутайте полярность при подключении к Motor Shield.

Крепим сервопривод к верхней части рамы, моторы к нижней, собираем раму, ставим колёса. Устанавливаем Motor Shield сверху Arduino Mega и крепим на раму, подключаем всё по схеме выше, заливаем соответствующий скетч (в конце статьи) — наслаждаемся.

Управление по Bluetooth — устанавливаете приложение на свой смартфон, запускаете, подключаетесь (Connect) к Bluetooth модулю (при необходимости вводите пин-код); управлять можно классическим способом по стрелкам (Buttons), а так же в меню программы можно выбрать Accelerometer и управлять с помощью наклонов смартфона.

Читайте также:  Bluetooth wireless neckband headphones

Автономное движение с объездом препятствий — алгоритм следующий: дальномер измеряет расстояние впереди, если оно > 30 см (в скетче параметр const int vmindistance), то продолжаем двигаться вперед, если < 30 см, то: останавливаем моторы; крутим сервопривод на углы от 0° до 180° с шагом в 15° и измеряем расстояния на этих углах; заносим полученные значения в массив; поворачиваем сервопривод прямо на угол 90°; ищем в массиве позицию с максимальным значением данных; если это значение < 30 см, то едем назад, если >30 см, то проверяем какому углу поворота сервопривода оно соответствует и в зависимости от этого поворачиваем влево или вправо.

Источник

Interfacing Bluetooth Modules HC-05, HC-06, JY-MCU BT_BOARD v1.02 and v1.03 with Arduino Uno and Arduino Mega 2560

This tutorial guides you, how to interface Bluetooth module with Arduino UNO and Arduino Mega 2560. Interfacing HC-05, HC-06, JY-MCU v1.02 or v1.03 with Arduino Uno or Arduino Mega 2560 using two serial ports.

HC-05 Pinouts:

Bluetooth HC-05 pinouts

HC-05 & HC-06 have different pin numbers of LEDs only, power and Serial Communication pins are same.

JY-MCU Pinouts:

Bluetooth JY-MCU Pinouts

JY-MCU BT_BOARD v1.02 and v1.03 have same pinouts.

Connections:

Interfacing bluetooth HC-05 with Arduino, Connection Diagram

Interfacing bluetooth HC-05 with Arduino, Connection Diagram - bluetooth device in command mode

Interfacing bluetooth HC-05 with Arduino, Connection Diagram - JY-MCU

Connect Bluetooth Module JY-MCU BT_BOARD v1.02 and v1.03 with Arduino as:

Bluetooth JY-MCU Arduino Mega 2560 Arduino Uno
1 – Gnd GND GND
2 – Vcc +5v +5v
3 – RX TX1 TX
4 – TX RX1 RX

Connect HC-05 or HC-06 with Arduino as:

Bluetooth Arduino Mega 2560 Arduino Uno
1 – Gnd GND GND
2 – Vcc +3.3v +3.3v
3 – RX TX1 TX
4 – TX RX1 RX

Code for Arduino Mega:

void loop()
<
if(Serial1.available())
<
byte a=Serial1.read();
Serial.write(a);
>

if(Serial.available())
<
byte a=Serial.read();
Serial1.write(a);
>

Code for Arduino Uno:

As Arduino Uno has only one serial port. So we will connect Bluetooth Module with RX and TX pins of Arduino Uno. This code will continuously transmit text “GalaxySofts” and “http://www.galaxysofts.com” with a delay of 1 second.

Video on Interfacing Bluetooth Modules with Arduino Uno and Mega 2560:

Источник

Оцените статью
Adblock
detector