● Проект 31: Беспроводная связь. Модуль Bluetooth HC-05

Опубликовано: 23.04.2018
В этом эксперименте рассмотрим работу модуля Bluetooth HC-05, позволяющего плате Arduino установить беспроводную связь и обмениваться данными с другими устройствами по протоколу Bluetooth.

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

контроллер Arduino UNO R3;
плата для прототипирования;
модуль Bluetooth HC-05;
провода папа-папа.
• телефон или планшет с OS Android.

Bluetooth (с англ. – «голубой зуб») – одна из технологий беспроводной передачи данных. Спецификация была разработана в 1998 г. компанией Ericsson, а позднее оформлена группой Bluetooth Special Interest Group (SIG), официально зарегистрированной 20 мая 1999 г. Bluetooth позволяет объединять в локальные сети любую технику: от мобильного телефона и компьютера до холодильника. При этом одним из немаловажных параметров новой технологии являются низкая стоимость устройства связи (в пределах 20 долларов), его небольшие размеры (ведь речь идет о мобильных устройствах) и, что немаловажно, совместимость, простота встраивания в различные устройства. Мы будем использовать недорогой модуль HC-05. В нем используется чип BC417 плюс Flash-память и выводы GPIO.

Чип поддерживает спецификацию Bluetooth v2.0 + EDR, AT-команды, может работать в режиме Master или Slave, поддерживает скорость обмена от 2400 до 1 382 400. Напряжение питание модуля составляет 3,3 В, ток потребления ~50 мА, что позволяет питать его от вывода Arduino +3,3 В. Для программирования модуля c помощью AT-команд необходимо на вывод PIO11 подать +3,3 В. Подключим модуль к плате Arduino и рассмотрим простейшие AT-команды. Схема подключения показана на рис. 31.1.
Схема подключения модуля HC-05 к плате Arduino
Рис. 31.1. Схема подключения модуля HC-05 к плате Arduino

Теперь на плату Arduino загрузим скетч, показанный в листинге 31.1.

#include <SoftwareSerial.h>
SoftwareSerial mySerial(2, 3); // указываем пины RX и TX
void setup()
{
pinMode(2,INPUT);
pinMode(3,OUTPUT);
Serial.begin(38400);
mySerial.begin(9600);
}
void loop()
{
if (mySerial.available())
{
int c = mySerial.read(); // читаем из software-порта
Serial.write(c); // пишем в hardware-порт
}
if (Serial.available())
{
int c = Serial.read(); // читаем из hardware-порта
mySerial.write(c); // пишем в software-порт
}
}
}

Порядок подключения:

1. Подключаем модуль HC-05 к плате Arduino по схеме на рис. 31.1. Отключаем провод, ведущий к выводу 34 модуля (PIO11), от 3,3 В.
2. Загружаем на плату Arduino скетч из листинга 31.1.
3. Светодиод на плате должен быстро мигать. Если не мигает или мигает иначе, отключаем питание модуля от 3,3 В, затем снова подключаем питание.
4. Подключаем провод, ведущий к выводу 34 модуля (PIO11), к 3,3 В.
5. Открываем монитор последовательного порта Arduino и набираем AT-команды из табл. 31.1. Смотрим результат выполнения команд (рис. 31.2).

Таблица 31.1


Следующий шаг – двунаправленная передача данных между телефоном с OS Android и платой Arduino c модулем HC-05. Отсоединим контакт 34 Bluetooth-модуля от 3,3 В. Загрузим и установим на телефон из Play Market приложение Bluetooth Terminal (https://play.google.com/store/apps/details?id=Qwerty.BluetoothTerminal&hl=ru).
Запустим программу и установим соединение с нашим модулем (см.рис. 31.2). Передаем Arduino и получаем (через монитор последовательного порта) из Arduino сообщения (см. рис. 31.3).

Установка связи с модулем HC-05
                                                   Рис. 31.2. Установка связи с модулем HC-05

Обмен сообщениями между телефоном и платой Arduino

                            Рис. 31.3. Обмен сообщениями между телефоном и платой Arduino

Листинги программ скачать


Главное меню

Каталог

Полезные ссылки

Цена
от
до