- Что такое модуль HM10 BLE 4.0?
- Разница между HM10 и другим модулем Bluetooth
- Необходимые компоненты
- Принципиальная электрическая схема
- Контроллер Arduino Bluetooth (модуль HM-10) Приложение для Android
- Программирование Arduino UNO для управления светодиодом с помощью модуля Bluetooth HM-10
Bluetooth - одна из самых популярных и простых в использовании беспроводных технологий. За несколько лет было много обновлений стандарта Bluetooth, чтобы идти в ногу с текущими технологиями будущего и удовлетворять потребности пользователей. Начиная с версии Bluetooth 1.0 до версии Bluetooth 5.0, многое изменилось, включая более высокие скорости передачи данных, возможность использования для IoT с низким потреблением тока, улучшенную безопасность и т. Д. Для изучения связи Bluetooth доступно множество модулей, которые могут быть сопрягается с микроконтроллерами. Таким модулем Bluetooth является HM10, который основан на Bluetooth 4.0.
Что такое модуль HM10 BLE 4.0?
HM10 - это последовательный модуль BLE (Bluetooth-Low-Energy), который предназначен для использования в приложениях с низким энергопотреблением и может работать долго даже с батареей размером с монету. HM10 является модулем Bluetooth 4.0 на основе Texas Instruments CC2540 или CC2541 BLE системы SoC (система на кристалле). Прошивка и дизайн модуля производятся и управляются компанией Jinan Huamao Technology. Модуль поставляется со слоем последовательного порта / UART, что позволяет устройству взаимодействовать с различными микроконтроллерами. HM10 идеально подходит для создания простых соединений и использования его с iBeacon или в качестве него.
HM10 стал очень популярным модулем Bluetooth 4.0 BLE. HM10 - это только модуль на базе Bluetooth 4.0, поэтому он не будет соединяться с модулем Bluetooth 2 / 2.1, таким как HC-05, HC-06 и другими модулями Bluetooth. HM10 управляется с помощью AT-команд, отправляемых через последовательное соединение UART. HM-10 - это модуль Bluetooth Low Energy (BLE), чтобы узнать больше о BLE, перейдите по ссылке. Также узнайте, как модуль nRF24L01 можно использовать в качестве модуля BLE с Arduino.
Разница между HM10 и другим модулем Bluetooth
Основное отличие HM10 - это версия Bluetooth. HM10 - это модуль Bluetooth 4.0, поэтому он поддерживает все функции Bluetooth версии 4.0, такие как скорость, пропускная способность и диапазон. HM10 предлагает скорость передачи данных до 24 Мбит с низким потреблением энергии / низкой мощности. Наряду с этим HM10 предлагает диапазон расстояний до 100 метров на открытом пространстве. По сравнению с другими модулями Bluetooth, такими как HC-05, который является модулем на базе Bluetooth 2.0, HM10 определенно работает лучше, чем HC-05. HC-05 предлагает всего 3 Мбит / с по сравнению с HM10, что намного меньше.
Bluetooth-модули HC-05 и HC-06 по-прежнему очень популярны среди производителей и любителей, поскольку они дешевы и просты в использовании. Мы также сделали много проектов с использованием HC-05/06 и сопрягли их со многими другими микроконтроллерами:
- Модуль Bluetooth, взаимодействующий с ESP8266: управление светодиодом
- Взаимодействие Bluetooth HC-05 с STM32F103C8 Blue Pill: контрольный светодиод
- Взаимодействие модуля Bluetooth HC-05 с микроконтроллером AVR
- Взаимодействие модуля Bluetooth HC-06 с микроконтроллером PIC
- Светодиоды с голосовым управлением с использованием Arduino и Bluetooth
- Голосовое управление подсветкой с использованием Raspberry Pi
Все проекты, связанные с Bluetooth, можно найти по этой ссылке.
Сегодня мы подключим модуль BLE HM-10 к Arduino Uno для беспроводного управления светодиодом по протоколу Bluetooth. Команды включения / выключения будут отправлены смартфоном.
Необходимые компоненты
Оборудование:
- Arduino UNO
- Модуль Bluetooth HM10
- Резисторы (1 кОм, 470 Ом)
- Перемычки
Программного обеспечения:
- IDE Arduino
- Контроллер Arduino Bluetooth (модуль HM-10) Android-приложение
- Смартфон Android
Принципиальная электрическая схема
Принципиальная схема подключения Arduino и модуля Bluetooth HM-10 очень проста, как показано ниже.
Перед началом проекта убедитесь, что ваш модуль HM-10 является подлинным модулем HM-10. Доступны широко китайские клонированные модули HM-10. Чтобы определить разницу между подлинным и клонированным модулем HM-10, просто посмотрите на наличие кристаллического генератора 32 кГц на плате HM-10. Если присутствует кварцевый осциллятор, то это настоящий модуль HM-10, и вам не нужно менять прошивку. Но если вы не видите на его месте кварцевый осциллятор, то это клонированный модуль HM10, и вам необходимо изменить прошивку клонированного модуля HM-10.. Без изменения прошивки HM-10 вы не сможете ни получить доступ к модулю HM-10 с помощью AT-команд, ни подключить его к смартфонам. Здесь мы также используем модуль клонирования, поэтому мы обновили его прошивку перед подключением к Ardruino. Чтобы изменить прошивку модуля клонированного HM-10, просто следуйте нашему руководству по изменению или прошивке прошивки модуля клонирования HM-10.
Контроллер Arduino Bluetooth (модуль HM-10) Приложение для Android
Контроллер Arduino Bluetooth (модуль HM-10) - это приложение для Android, которое бесплатно доступно в магазине Google Play. Это приложение имеет простой и легкий интерфейс для модуля HM-10 BLE. Во время тестирования он смог быстро найти HM-10 и мгновенно соединился с HM-10. В приложении есть классная функция, например, вы можете создать кнопку и настроить ее с помощью собственного имени и функций. Здесь мы узнаем, как создать две кнопки в этом приложении контроллера Bluetooth для включения и выключения светодиода, подключенного к Arduino.
Как настроить Android-приложение Arduino Bluetooth Controller (модуль HM-10):
- Загрузите приложение из Google Play Store.
- Домашняя страница приложения будет выглядеть, как показано ниже, где вы можете найти такие функции, как подключение устройства, значок поиска, значок удаления, состояние устройства, отправка текста, добавление шаблона и т. Д. Начните с поиска устройства, щелкнув значок поиска или нажав к трем точкам в правом верхнем углу и выберите « Подключить устройство» .
- Все доступные устройства будут показаны на экране. Выберите правильный модуль HM-10.
- Теперь HM-10 будет успешно подключен, и вы сможете увидеть статус HM-10 в верхней части экрана.
- Теперь вы можете напрямую отправить текст или строку, написав текст в текстовом разделе и нажав стрелку для отправки, или вы можете создать собственный шаблон.
- Чтобы создать собственный шаблон для экономии времени. Щелкните значок « + » в правом верхнем углу и заполните данные. « Имя » - это имя кнопки, поле « Текст » - для текста или строки, которые будут отправлены на HM-10, а « Описание » - это просто описание кнопки, как кнопка будет работать.
- Во-первых, создайте кнопку для включения светодиода и придайте ей зеленый цвет. Кнопка отправит букву «N» на HM-10, который включит светодиод, подключенный к Arduino. Аналогичным образом создайте кнопку для выключения светодиода и придайте ей красный цвет.. Кнопка отправит букву «F» на HM-10, который погаснет светодиод, подключенный к Arduino.
- Теперь вы можете увидеть две кнопки, созданные чуть ниже текстового поля. Теперь, если вы хотите управлять светодиодом, просто нажмите на кнопки.
На этом завершается настройка приложения Android для управления модулем HM-10. Теперь мы начнем с программирования Arduino Uno, чтобы получить персонажей из приложения для Android.
Программирование Arduino UNO для управления светодиодом с помощью модуля Bluetooth HM-10
Как всегда, полную программу с демонстрационным видео можно найти в конце этого урока. Программирование Arduino UNO для этого проекта не требует больших усилий или какой-либо библиотеки. Вы можете использовать последовательные аппаратные и программные библиотеки. Если вы используете программный последовательный порт, просто включите программную последовательную библиотеку, иначе продолжайте аппаратный последовательный порт. В этом проекте мы используем SoftwareSerial. Итак, начните с включения последовательной библиотеки программного обеспечения. Контакты Rx и Tx подключены к 2 и 3 контактам Arduino.
#включают
Две переменные используются для хранения данных, полученных от HM10 и приложения для Android.
char appData; Строка inData = "";
Просто запустите аппаратный и программный последовательный порт на скорости 9600 бод и распечатайте несколько отладочных операторов. Вывод светодиода установлен как выходной и изначально выключен.
Serial.begin (9600); Serial.println ("Серийный номер HM10 стартовал с 9600"); HM10.begin (9600); // устанавливаем серийный номер HM10 на скорость 9600 бод pinMode (13, OUTPUT); // встроенный светодиод digitalWrite (13, LOW); // выключаем светодиод
Начните прослушивание порта HM10 и считайте строку, пока HM10 не станет доступен и не отправит данные. Сохраните данные в виде строки.
HM10.listen (); // прослушивание порта HM10 while (HM10.available ()> 0) {// если HM10 что-то отправляет, то читать appData = HM10.read (); inData = String (appData); // сохраняем данные в строковом формате Serial.write (appData); }
Для отладки HM10 с помощью AT-команд просто напишите приведенную ниже строку кода, которая отправит строку в HM10.
if (Serial.available ()) {// Прочитать ввод пользователя, если он доступен. задержка (10); HM10.write (Serial.read ()); }
Если полученная строка - «F», то распечатайте сообщение на последовательном мониторе и выключите светодиод, иначе, если полученная строка - «N», затем распечатайте сообщение на последовательном мониторе и мигающем светодиоде с задержкой 500 мс.
if (inData == "F") { Serial.println ("Светодиод выключен"); digitalWrite (13, НИЗКИЙ); // выключаем задержку светодиода (500); } if (inData == "N") { Serial.println ("Светодиод горит"); digitalWrite (13, ВЫСОКИЙ); // выключаем задержку светодиода (500); digitalWrite (13, НИЗКИЙ); // выключаем задержку светодиода (500); }
На этом заканчивается полное руководство по управлению светодиодом с помощью модуля Arduino и BLE HM10 Blutooth 4.0. Еще раз помните, что если у вас настоящий модуль HM10, вам не нужно перепрограммировать его прошивку, его можно использовать сразу. Но если вы используете клонированный модуль HM-10, прошейте прошивку на клонированном модуле HM10 BLE. Если у вас есть сомнения или предложения, прокомментируйте их ниже или напишите на нашем форуме.