HM-10 и Arduino

28-05-2020, 21:44 0 комментариев
Как подключить HM-10 к Ардуино, что это за модуль и в каких проектах обычно задействован - говорим сегодня в нашей информационной статье. Речь идет о Trema-модуле Bluetooth с низким энергопотреблением. Гаджет позволяет передавать ∕ принимать данные по беспроводному радиоканалу на определенных частотах: 2.4 - 2.5 ГГц.

Функциональность датчика не так уж и мала. Он может применяться в качестве автономного датчика, компактного устройства управления, линии передачи данных, а также использоваться в научных, медицинских, промышленных целях.

Существует 2 версии гаджетов:
По сути они мало чем отличаются, разве что первая версия имеет 26 контактов (вторая – 34).
Разберем базовые технические параметры:
  • напряжение: 3,3-5V;
  • стандарт: Smart;
  • ток при передаче: 0,2-8 мА;
  • выходная мощность RF: -23dbm, -6dbm, до +6 дБм;
  • чувствительность: -94 дБм;
  • дальность связи: до 100м (на открытой местности);
  • скорость передачи: 1 Мбит/сек;
  • Flash-память: 128 кБ;
  • вес: около 1 г.;
  • размеры: 50 × 15 × 7мм.
Основным достоинством датчика является то, что он функционирует не только на базе ОС Android, но и iOS (нужна программа LightBlue), macOS, Windows.
Из-за наличия стандартного соединения UART Блютуз-модуль легко стыкуется с Arduino. Управляется при помощи AT-команд (тем же путем) и команд хоста. Для этой цели можно запросто использовать смартфон.

Давайте подключим радио модуль HM-10 к Arduino. Схема будет выглядеть следующим образом:
Важная информация для настройки и первого входа: PIN-код по умолчанию: 000000, скорость 9600 бит/сек, 8 бит данных, 1 стоп бит, ведомое устройство.
Прописываем скетч для тестирования работоспособности сборки (и мигания светодиодом):
// SerialIn_SerialOut_HM-10_01
//
// Используется аппаратный интерфейс serial для общения компьютера хоста
// и AltSoftSerial, чтобы осуществилась связь с модулем Bluetooth.
//
// Все, что было введено в окне Serial Monitor, отправляется в подключенное
// устройство HM-10. Все, что было получено подключенным устройством HM-10,
// отображается в окне Serial Monitor. В HM-10 не передаются специальные
// символы завершения строки (/n/r).
//
// Соединения:
//
// BT VCC               - Arduino 5V
// BT GND               - Arduino GND
// Arduino D8 (SS RX)   - BT TX (без делителя напряжения)
//  Arduino D9 (SS TX)  - BT RX (через делитель напряжения 5v -> 3.3v)
//
#include < AltSoftSerial.h>
AltSoftSerial BTserial;
// https://www.pjrc.com/teensy/td_libs_AltSoftSerial.html
 
char c=' ';
boolean NL = true;
 
void setup() 
{
   Serial.begin(9600);
   Serial.print("Sketch:   ");   Serial.println(__FILE__);
   Serial.print("Uploaded: ");   Serial.println(__DATE__);
   Serial.println(" ");
   BTserial.begin(9600);  
   Serial.println("BTserial started at 9600");
}
 
void loop()
{
   // Чтение из модуля Bluetooth и отправка в Arduino Serial Monitor:
   if (BTserial.available())
   {
      c = BTserial.read();
      Serial.write(c);
   } 
 
   // Чтение из Serial Monitor и отправка в модуль Bluetooth:
   if (Serial.available())
   {
      c = Serial.read();
      // Символы CR и LF (/r и /n) не отправляются к HM-10 в качестве
      // окончания строки:
      if (c!=10 & c!=13 ) 
      {
         BTserial.write(c);
      }
      // Эхо пользовательского ввода в главное окно.
      // Если новая строка, то печатается символ ">".
      if (NL) { Serial.print("\r\n>");  NL = false; }
      Serial.write(c);
      if (c==10) { NL = true; }
   }
}
Как вы наверняка заметили, в прошивке задействован специализированный софт - библиотека AltSoftSerial. Ее можно найти и скачать на нашем сайте. Тут все просто!
Еще один момент - для того, чтобы подключить модуль в работу, следует обязательно инсталлировать утилиту-терминал Serial Bluetooth Terminal (доступен в Google Play). С его помощью можно будет отсылать АТ-команды для управления устройством и выполнения поставленных пользователем задач.
На этом прощаемся с вами! До новых встреч!
Поделись в социальных сетях:
О авторе
Калугин Антон

Программист микроконтроллеров с 8-ми летним стажем, работал в таких компаниях как IBM, ASUS, Microsoft.

В комментариях с радостью отвечу на ваши вопросы.

Все статьи автора
Похожие новости

Подключение Bluetooth модуля ZS-040 к Ардуино...

Сегодня поговорим о том, как воплотить в жизнь подключение FPM10A к Arduino, что это за модуль, где используется, каковы параметры его работы и т.д. Речь идет...

Подключение Bluetooth модулей HC-05 и HC-06 к Arduino...

Наша задача на сегодня - разобрать подключение MH-Z19 к Ардуино, а также базовые характеристики и практичность применения PIR датчика углекислого газа. В...

Сборка STM32 и LCD1602 часто используется электронщиками в современных проектах. В принципе, это не удивительно, ведь текстовые ЖК-дисплеи с I2C-адаптером...

Оставить комментарий