Bluetooth имеет такие преимущества, как простота в использовании, низкая стоимость, отсутствие проводов, высокая помехоустойчивость, и высокая область применения. Служит он для обмена данными между различными электронными устройствами. Это может быть управление различными датчиками или объектами, либо взаимосвязь двух элементов схемы: микроконтроллер-микроконтроллер. Очень часто можно встретить компьютерные мышки, наушники и принтеры, работающие через Bluetooth.
Для того чтобы обеспечить такой функцией плату Arduino и подобные ей существуют специальные Bluetooth модули. Самыми распространенными из них считаются устройства семейства HC.
В данной статье мы рассмотрим принцип работы и подключение таких модулей к Arduino на примере HC-05. Кстати, купить его и другие устройства для подобной передачи данных вы можете на нашем сайте – https://www.yourduino.ru/product/bluetooth-modul-hc-05
Модули семейства HC осуществляют передачу данных по радиосвязи с частотой в 2,4–2,48 ГГц. Дальность связи составляет до 10 метров, но в помещения этот показатель несколько меньше.
Питание данного модуля осуществлять желательно от 3,3 вольт (большее напряжение может привести к неприятным последствиям). Однако, учитывая тот факт, что на Arduino целесообразнее использовать питание от контактов в 5В, в последнее время на платах Bluetooth появилась вся необходимая связка для осуществления данного типа питания. Датчики из нашего магазина также ей оснащены. Поэтому можете смело подавать питание в 5 вольт на эти модули, ничего не опасаясь.
Проще всего будет подключить Bluetooth модуль с помощью четырех выводов. Это два пина для осуществления питания 5В и заземление (gnd), а также два управляющих вывода - TX и RX, которые подключаются по так называемому UART интерфейсу к свободным пинам, оснащенными данной функцией подключения. На плате Arduino такие контакты обозначаются соответствующе: TX и RX.
Причем стоить помнить, что для правильного подключения вывод TX на плате Bluetooth подключают к контакту RX на плате Arduino, и вывод RX нашего модуля к контакту TX.
Визуальная схема подключения есть на картинке ниже:
После того, как все подключили, подключайте вашу плату Arduino к компьютеру и скачивайте необходимый софт.
В нашем случае, это среда разработки Arduino IDE – там пишется весь необходимый программный код (скачать ее можно на официальном сайте Ардуино), а также программы для настройки непосредственно Bluetooth модуль – Терминалы. Например, можно использовать терминал TeraTerm или Termite.
Скачать их можно будет по этим ссылкам:
http://termite.software.informer.com/3.2/
http://wikiprograms.org/tera-term/
Там нужно будет настроить скорость обмена данными в 9600 бит в секунду, а также настроить символ перевода строки CR+LF.
Далее, подключаемся к COM-порту и проверяем соединение.
Для начала нужно найти и нажать на иконку Bluetooth на компьютере, а далее выбрать поиск Bluetooth устройств. В их числе нужно будет найти наш модуль, подключить его и посмотреть в его свойствах, к какому COM порту он подключен, как на картинке ниже:
Как правило, до установления соединения с Arduino модуль будет бесперебойно мигать встроенным светодиодом. Поэтому, нужно будет зайти в терминал и ввести команду AT. Bluetooth модуль должен подтвердить ее фразой ОК или подобной, а далее мы снова отправляем сообщение - AT+VERSION?
Далее он должен отправить вам взамен еще одно утвердительное предложение с названием версии.
После того, как вы подключили модуль Bluetooth , вы можете начать работу с ним.
Вот пример довольно простого кода:
int val;
int LED = 13;
void setup()
{
Serial.begin(9600);
pinMode(LED, OUTPUT);
}
void loop()
{
if (Serial.available()) {
val = Serial.read();
// При символе "1" включаем светодиод
if (val == '1') {
digitalWrite(LED, HIGH);
}
// При символе "2" выключаем светодиод
if ( val == '2') {
digitalWrite(LED, LOW);
}
}
}
С помощью данного скетча мы можем управлять светодиодом на расстоянии. Светодиод этот подключен к пину номер 13 – эо встроенный светодиод на плате Arduino. Для управления внешними светодиодами, необходимо их подключать к любым другим цифровым выводам на плате и, соответственно, указывать номер пина в скетче.
Далее мы устанавливаем скорость передачи данных в 9600 бод и сигнал со светодиода, как вход. Не забудьте эти же значения установить в терминале, включая скорость обмена данными и номер порта.
Вот так выглядит пример из терминала Termite:
В самом коде у нас прописывается цикл (в функции void loop), по которому в случае ввода в порт терминала определенного символа, у нас включается или выключается светодиод. То есть, при вводе значения ‘1’ подается высокий логический уровень на вывод со светодиодом, и он загорается, а при вводе в порт символа ‘2’ подается низкий логический уровень, и светодиод затухает. Вот и все.
Взяв за основу этот программный код, вы можете таким образом подстроить под управление по Bluetooth и другие программы и проекты.
А в следующей статье про Bluetooth модули вы научитесь управлять этими же проектами, но с помощью телефона – всего лишь парой нажатий по экрану.
Если вам была полезна данная статья, то не забудьте поделиться с друзьями и на своих страницах социальных сетей. А я с вами прощаюсь, желаю всем удачи и успешной компиляции!
Комментарии