Arduino mega 2560 bluetooth

Модуль 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);
Читайте также:  Windows 10 aac bluetooth codec

Какой порт использовать, а следовательно к каким контактам следует подключать модуль, необходимо указать в панели настроек подключения модуля. Следует так же иметь в виду, что для плат 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 со смартфона; автономное движение робомобиля с объездом препятствий.

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

Комплект: рама, моторы, колёса, крепления (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 и управлять с помощью наклонов смартфона.

Читайте также:  Acer switch 10 have bluetooth

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

Источник

The Easiest Way Installing A Bluetooth Interface On The Arduino Due And Mega 2560

Arduino Due With Microchip RN41XV Bluetooth Module

Whenever it comes to setting up new applications, I usually come back to the Arduino Due, while the Mega 2560 is a close second choice. This next new project was an SAE J1939 (a CAN Bus based higher layer protocol) to Bluetooth interface. The idea was to connect an ARM-Processor-based hardware to a vehicle network and relay a pre-defined data set to an Android tablet for further processing. The Arduino platform is not necessarily the perfect solution for automotive applications (think limited temperature range, limited power supply range, no protection against environmental factors such as vibration, etc.), but it is the best choice when it comes to quick prototyping.

I had run into some issues with the Bluetooth connection on our SAE J1939 / OBD-II Electronic Logging Device With Bluetooth , which forced me to re-think the approach. Using the Arduino platform for prototyping and tests enforces a simple approach to any project (think KISS = Keep It Simple Stupid!).

One part of the KISS approach was using the Microchip RN41XV Bluetooth module . The module can be accessed per UART connection, which enables the developer using standard serial communication without having to deal with complex protocol stacks. In case of the Arduino Due, I used the RX1/TX1 (Serial1) connection.

Microchip RN41XV Bluetooth module

The RN41XV and RN42XV are small form factor, low-power Bluetooth radio modules offering plug-in compatibility for the widely used 2 x 10 (2-mm) socket typically used by 802.15.4 radio modules.

Based on the popular 2 x 10 (2-mm) socket footprint often found in embedded applications, the Roving Networks’ RN41XV and RN42XV modules provide Bluetooth connectivity in legacy and existing designs that may have been based upon the 802.15.4 standard.

The RN41XV Class 1 Bluetooth module is based on the RN41, and the RN42XV Class 2 Bluetooth module is based on the RN42. These modules are simple to design in and are fully certified, making them a complete embedded Bluetooth solution. The RN42 is functionally compatible with the RN41.

The Class 1 RN41 module has a range up to 100 meters (~300 feet). The Class 2 RN42 module has a range up to 20 meters (~60 feet).

The connection between the Arduino Due or Mega 2560 to the RN41VX Bluetooth module requires 4 wires (see above photo; the pin dimensions of the RN41XV did not match my standard bread board, so I soldered directly to the pins).

Читайте также:  How to work with bluetooth

Microchip RN41XV & RN42XV DIMENSIONS

The image to the left shows the RN41XV module. The important pins are:

1 VDD_3V3 — Connect to 3.3V on the Arduino

2 TXD — Connect to RX1 on the Arduino

3 RXD — Connect to TX1 on the Arduino

10 GND — Connect to GND on the Arduino

Two additional signals (RTS — Request to Send, CTS — Clear to Send) are available but are not supported by the Arduino, so leave them open.

The next step, after powering up the Arduino, is to pairing the Bluetooth device with your PC or Mac. For more information, see:

In my case, I used a Windows 10 machine. Please be aware that a Bluetooth device requires two COM ports, one for receiving and one for transmitting data. The Windows Device Manager will show you a list of COM ports and even which are Bluetooth, but there is no further information which port is for reception or transmission. It is also important to know that you will need to access only one of the two COM ports for bi-directional data exchange, and, to make things worse, Windows will not tell you which one.

In a next step, use a terminal program such as CoolTerm (highly recommended!), RealTerm, or TeraTerm to connect to either one of the Bluetooth COM ports and find out which one is the one you need. The LED on the RN41VX module will stop blinking as soon as a connection is established.

Also use the terminal program to send and receive data to the Arduino. I have included a screen shot of the test program below. The code is so simple that it wasn’t even worth proving a download link.

The sketch displays the data it receives from the PC and echoes it back to the terminal program.

Last, but not least, for more information on Bluetooth see Bluetooth Basics .

https://www.amazon.com/gp/product/1491949511?ie=UTF8&tag=coppemedia-20&camp=1789&linkCode=xm2&creativeASIN=1491949511

Getting Started with Bluetooth Low Energy: Tools and Techniques for Low-Power Networking

With Bluetooth Low Energy (BLE), smart devices are about to become even smarter.

This practical guide demonstrates how this exciting wireless technology helps developers build mobile apps that share data with external hardware, and how hardware engineers can gain easy and reliable access to mobile operating systems.

This book provides a solid, high-level overview of how devices use BLE to communicate with each other.

You will learn useful low-cost tools for developing and testing BLE-enabled mobile apps and embedded firmware and get examples using various development platforms, including iOs and Android for app developers and embedded platforms for product designers and hardware engineers.

  • Understand how data is organized and transferred by BLE devices
  • Explore BLE concepts, key limitations, and network topology
  • Dig into the protocol stack to grasp how and why BLE operates
  • Learn how BLE devices discover each other and establish secure connections
  • Set up the tools and infrastructure for BLE application development
  • Get examples for connecting BLE to iPhones, iPads, Android devices, and sensors
  • Develop code for a simple device that transmits heart rate data to a mobile device

Источник

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