- Описание модуля bluetooth hc 06
- Android – передаем данные в arduino
- Android – прием и передача данных к arduino
- Bluetooth в arduino проектах
- Видео, демонстрирующее работу схемы
- Исходный код программы
- Объяснение программы для arduino
- Работа проекта
- Сравнение модулей bluetooth hc 05 и hc 06
- Схема проекта
- Заключение
Описание модуля bluetooth hc 06
Все существующие типы модулей Bluetooth имеют свои особенности, но схожи по принципу работы и действия. Одним из типов модулей является Bluetooth HC 06. Со стороны Arduino модуль выглядит как обычный последовательный интерфейс, поэтому он может сразу общаться с устройством на компьютере.
Основные функции модуля:
- Питание 3,3 В – 6 В;
- Максимальное входное напряжение 5 В;
- Максимальный ток 45 мА;
- Скорость передачи данных 1200-1382400 бод;
- Рабочие частоты 2,40 ГГц – 2,48 ГГц;
- Поддерживает спецификацию bluetooth версии 2. 1;
- Низкое энергопотребление;
- Высокая защита данных;
- Расстояние связи 30 м;
- Подключение к смартфону использует следующие данные – пароль “1234”, скорость передачи данных 9600, имя модуля NS-06.
В модуле есть следующие контакты:
- VCC , GND – плюс и минус питания;
- RX и TX – приемник и передатчик;
- MCU-INT – выход состояния;
- Clear (Reset) – сброс и перезагрузка модуля. Последние два контакта обычно не используются в работе, поэтому в настоящее время модули выпускаются без этих контактов.
Модули H C-06 используются только в качестве ведомых. он не может самостоятельно подключаться к другим устройствам Bluetooth. С помощью AT-команд можно изменить все настройки соединения, включая пароль и скорость передачи данных.
В комплект поставки модуля не входят провода для подключения.
Android – передаем данные в arduino
В качестве первой программы есть только две кнопки: “вкл.” и “выкл.”. При нажатии кнопки включения светодиода Bluetooth передает “1”, при нажатии кнопки выключения светодиода – “0”.
В файле манифеста необходимо ввести 2 строки разрешений для работы Bluetooth:
Главный код активации:.
Android – прием и передача данных к arduino
Но здесь нам пришлось повозиться. Обычно в Android для получения данных от устройства необходимо создать отдельный фоновый поток, чтобы не задерживать основную активность. Активация потока приводит к тому, что все данные будут получены в отдельном потоке.
Окно нашей основной деятельности будет украшено элементом TextView, который отображает данные, полученные от Arduino. Чтобы сделать Java-код основной деятельности читабельным, я его хорошо прокомментировал:
Bluetooth в arduino проектах
Многие проекты требуют дистанционного управления или передачи данных с телефона или другого устройства. Bluetooth – один из самых популярных и удобных способов обмена данными. Платы Arduino и компьютеры обмениваются данными с помощью интерфейсов UART (последовательный порт).
Модули на базе микросхемы BC417 являются самыми популярными. Эта серия называется HC. Модули HC-03 и HC-05 могут использоваться как для серверных, так и клиентских функций соединения и предлагают широкий набор AT-команд.
Для подключения к компьютеру необходимы модули Bluetooth, платы Arduino, соединительные провода и компьютер. Скетч для управления платой Arduino через смартфон и компьютер будет одинаковым, поскольку оба устройства подключаются к микроконтроллерам через UART.
Перед загрузкой скетча необходимо отключить модуль Bluetooth, иначе при обращении к Arduino появится ошибка. В качестве альтернативы можно установить приложение для Android, чтобы отправлять данные на модуль на смартфоне или планшете. Установите приложение и загрузите скетч на плату Arduino, затем подключите модуль к плате. Пример кода мигания светодиода:
int val; void setup() { Serial.begin(9600); pinMode(13, OUTPUT); // 13 пин – светодиод, объявляется как выход } void loop() { if (Serial.available()) // проверка поданных команд { val = Serial.read(); if (val == '1') {digitalWrite(13, HIGH);} // при 1 включается светодиод if (val == '0') {digitalWrite(13, LOW);} // при 0 выключается светодиод } }
Теперь необходимо настроить телефон для работы с модулем. Зайдите в настройки телефона и включите Bluetooth для установления соединения. После того как устройство будет найдено, необходимо ввести пароль. Обычно это либо “1234”, либо “0000”. После этого нужно зайти в приложение, нажать “Подключить Bluetooth”, затем выбрать устройство. Если сопряжение прошло успешно, светодиод на модуле начнет мигать медленнее, примерно раз в 2 секунды.
В этом скетче светодиод включается и выключается на основе цифр “1” и “0”. В дополнение к цифрам можно использовать буквы латинского алфавита, чувствительные к регистру.
Таким же образом для подключения к модулю можно использовать компьютер. Для этого к COM-порту подключаются различные программы. При запуске программы они запрашивают порт, скорость и тип соединения. В случае успешного подключения на экране появляется терминальное поле, в котором можно ввести с клавиатуры цифры или буквы, активирующие светодиод.
Видео, демонстрирующее работу схемы
1 473 просмотров
Исходный код программы
Пожалуйста, задавайте вопросы по тексту этой программы в комментариях. Я постараюсь ответить на них.
if (value == “turn off red LED”){
digitalWrite(2, LOW);
}
if (value == “turn off green LED”){
digitalWrite(3, LOW);
}
}
}
#include // библиотека последовательной связи, необходимая для включения последовательной связи с любыми двумя цифровыми контактами Arduino Ценность цепочки;. intTxD=11; intRxD=10; Официальная позиция; SoftwareSerialbluetooth(TxD,RxD); Отмена установки(){ pinMode(2,OUTPUT); pinMode(3,OUTPUT); Serial.begin(9600); // Инициализация последовательного обмена данными на скорости 9600 бод/с bluetooth.begin(9600); } voidloop(){ Serial.println(value); if(bluetooth.available()) { value=bluetooth.readString(); If(value==”все светодиоды горят”){ digitalWrite(2,HIGH); Цифровая запись(3,HIGH) ; } If (value== “Все светодиоды выключены”){ digitalWrite(2,LOW); digitalWrite(3,LOW); } if(value==”turn on Red LED”){ digitalWrite(2,HIGH); } If(value=”Включить зеленый светодиод”){ digitalWrite(3,HIGH); } If(value=”отключить красный светодиод”){ digitalWrite(2,LOW); } If(value=”выключить зеленый светодиод”) { digitalWrite(3,LOW); } } } |
Объяснение программы для arduino
В конце этой статьи мы приводим полный код программы. Ниже мы рассмотрим наиболее важные части.
Сначала необходимо определить в программе контакты Arduino, которые мы будем использовать для последовательного обмена данными (Rx и Tx).
Затем переведите второй и третий контакты (к ним подключены светодиоды) платы Arduino в режим выхода данных.
Следуя функции цикла, плата Arduino будет постоянно проверять данные, поступающие от модуля Bluetooth (который, в свою очередь, реагирует на голосовые команды), и управлять светодиодами на основе этой информации. В “Value” будут храниться все полученные команды.
Используя значение этой переменной, мы включим оба светодиода. Аналогичным образом мы будем включать и выключать светодиоды в нашей схеме при получении других голосовых команд. Видео в конце статьи объясняет эти процессы более подробно.
Работа проекта
1. Сборка схемы на рисунке 1. Перед загрузкой программного кода убедитесь, что контакты Rx и Tx отсоединены. Подключите их снова после загрузки программы.
Сравнение модулей bluetooth hc 05 и hc 06
На рынке наиболее популярными являются модули HC 05 и HC 6. Принцип работы этих модулей схож, оба модуля состоят из одного и того же чипа, но есть ряд различий. Прежде всего, следует помнить, что модуль HC 05 может быть настроен в двух различных конфигурациях.
Оба модуля собираются из двух спаянных плат. Помимо заводской платы с микросхемой, вторая необходима для самодельных устройств; она имеет ножки GPIO со стандартным шагом 2,54 мм и оснащена регулятором напряжения.
Кроме того, что модуль HC-05 стоит дороже, он имеет больше полезных рабочих функций.
Распиновка модуля HC-05 :
- EN – управление питанием;
- VCC – питание;
- GND;
- RX, TX;
- STATE – индикация;
- KEY – включает режим управления с помощью AT-команд. При KEY=0 – передача данных, при KEY=1 – AT-команды.
В HC-05 по умолчанию используется скорость передачи AT-команд 38400; в HC-06 по умолчанию используется скорость 9600. Для HC-05 в конце AT-команд должен стоять символ CRLF.
Основные особенности HC-05:
- Рабочая частота 2,4-2,48 ГГц;
- Мощность передачи 0,25-2,5 мВт;
- Дальность действия 10 м;
- Максимальная скорость передачи данных 115200 бод;
- Питание 3,3 В;
- Ток 30-40 мА;
- Рабочая температура от -25 C до 75 C.
Каждый модуль подключается к плате Arduino одинаковым образом.
Одним из вариантов является соединение модулей с помощью делителя. Представленный здесь вариант также будет работать на плате Arduino Uno.
Схема проекта
На следующем рисунке показана схема голосового управления светодиодом с помощью Arduino и Bluetooth. Отсоедините контакты Rx и Tx перед загрузкой программы на плату Arduino и снова подсоедините их после загрузки программы.
Заключение
Здесь мы рассмотрели некоторые из наиболее распространенных Bluetooth-модулей Arduino HC05 и HC06, а также варианты их подключения и работы с ними. Использование этих модулей не должно быть проблематичным – просто подключите его к выводам с помощью аппаратного или программного UART, а затем используйте традиционные библиотеки (Serial для выводов 0, 1, SoftwareSerial для остальных).
Соединение Bluetooth может значительно расширить возможности проектов Arduino по общению с другими устройствами. Состояние датчиков и параметры системы можно отслеживать без перезагрузки контроллера. Кроме того, с помощью Arduino можно легко создавать роботов и автомобили, которыми можно управлять со смартфона через bluetooth. Прочитав эту статью, вы должны быть в состоянии сделать свой первый проект.