Arduino и Bluetooth на основе HC-05 для чайников
Беспроводной интерфейс Bluetooth является одним из самых популярных интерфейсов, которые любители программирования Arduino выбирают для связи их самодельного устройства с мобильным приложением. Связь, как правило, осуществляется с помощью подключаемых к Arduino Bluetooth-модулей HC-05 или HC-06, которые являются недорогими и широко распространенными.
В этом материале будет показано, как новичку в деле создания устройств на Arduino организовать связь по Bluetooth с мобильным гаджетом на базе ОС Android.
Для начала подключим модуль HC-05 и светодиод, которым будем управлять, к плате Arduino Uno. Соединение HC-05 производится в соответствии со следующей комбинацией выводов:
Arduino HC-05 RX (Pin 0) ——— TX TX (Pin 1) ——— RX 5V ——— VCC GND ——— GND
Обратите внимание, что линии RX (передача данных) и TX (прием данных) соединяются крест на крест. Минусовой вывод светодиода подключите к земле GND платы Arduino, а плюсовой к выводу 13 через токоограничивающий резистор с любым номиналом в диапазоне от 220 Ом до 1 КОм. В итоге схема соединения будет выглядеть следующим образом:
Модуль HC-05 получает и передает в Arduino данные через последовательный порт, поэтому с целью отладки программы можно открыть монитор последовательного порта и посмотреть, как принимаются данные.
В нашем случае программа на Android, которую можно скачать здесь, по нажатию кнопки на мобильном устройстве по Bluetooth будет передавать 1 или 0, что будет соответствовать командам включения или отключения светодиода, подключенного к выводу 13 платы Arduino Uno.
Перед тем как передавать команды для управления светодиодом, необходимо найти модуль HC-05 в своей Bluetooth-сети и соединиться с ним. Если требуется ввод пароля, то как правило, по умолчанию он представляет собой 1234 или 0000. Затем нужно установить приложение. После установки приложения на мобильное устройство, откройте его.
Нажмите «Paired devices» и выберите из списка ваш модуль.
После успешного соединения можете нажимать на кнопку ON для включения светодиода и OFF для его отключения. С помощью кнопки Disconnect можно отключить беспроводную связь между Bluetooth-модулем и мобильным устройством.
Ниже представлен код для Arduino, реализующий связь с модулем HC-05 с помощью последовательного порта и управление светодиодом на основании данных, полученных по последовательному порту.
char data = 0; // Переменная для хранения принятых данных
void setup()
{
Serial.begin(9600); // Устанавливаем скорость обмена данными
pinMode(13, OUTPUT); // Вывод 13 как выход
}
void loop()
{
if(Serial.available() > 0) // Если есть принятые данные
{
data = Serial.read(); // Принимаем эти данные и сохраняем в переменной
Serial.print(data); // Выводим данные в последовательный монитор
Serial.print("\n");
if(data == '1') // Если data равна 1
digitalWrite(13, HIGH); // Включаем светодиод
else if(data == '0') // Если data равна 0
digitalWrite(13, LOW); // Выключаем светодиод
}
}