- Какво представлява модулът HM10 BLE 4.0?
- Разлика между HM10 и други Bluetooth модули
- Необходими компоненти
- Електрическа схема
- Приложение за Android на Arduino Bluetooth Controller (HM-10 Module)
- Програмиране на 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 (System на Chip). Фърмуерът и дизайнът на модула са направени и управлявани от 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 модул с ниска енергия (BLE), за да научите повече за BLE, последвайте връзката. Също така научете как модул nRF24L01 може да се използва като BLE модул с Arduino.
Разлика между HM10 и други Bluetooth модули
Основната разлика, която HM10 притежава, е Bluetooth версията. HM10 е модул Bluetooth 4.0, така че се предлага с всички функции на Bluetooth версия 4.0 като скорост, производителност и обхват. Най- HM10 оферти на данни със скорост до 24 Mbps с ниска консумация на енергия / ниска консумация на енергия. Заедно с това HM10 предлага разстояние от 100 метра в открито пространство. В сравнение с други Bluetooth модули като HC-05, който е базиран на Bluetooth 2.0 модул, HM10 със сигурност се представя по-добре от HC-05. HC-05 предлага само 3 Mbps в сравнение с HM10, което е доста по-малко.
Bluetooth модулите HC-05 и HC-06 все още са много популярни сред производителите и любителите, тъй като са евтини и лесни за интерфейс. Също така направихме много проекти с помощта на HC-05/06 и ги свързахме с много други микроконтролери:
- Взаимодействие на Bluetooth модул с ESP8266: Управление на светодиод
- Взаимодействие на Bluetooth HC-05 със STM32F103C8 Blue Pill: Контролиращ LED
- Взаимодействие на HC-05 Bluetooth модул с AVR микроконтролер
- Взаимодействие на Bluetooth модул HC-06 с PIC микроконтролер
- Гласово контролирани светодиоди, използващи Arduino и Bluetooth
- Гласово контролирани светлини с помощта на Raspberry Pi
Всички проекти, свързани с Bluetooth, можете да намерите на тази връзка.
Днес ще свържем модула HM-10 BLE с Arduino Uno, за да управляваме безжично LED чрез Bluetooth протокол. Командите за включване / изключване ще бъдат изпратени от смартфон.
Необходими компоненти
Хардуер:
- Arduino UNO
- Bluetooth модул HM10
- Резистори (1 kΩ, 470 Ω)
- Джъмперни проводници
Софтуер:
- IDE на Arduino
- Bluetooth контролер Arduino (модул HM-10) за Android
- Android смартфон
Електрическа схема
Схемата за свързване на Arduino и Bluetooth модула HM-10 е много проста, както е показано по-долу.
Преди да започнете с проекта, уверете се, че вашият модул HM-10 е истински модул HM-10. Налични са широко китайски клонирани модули HM-10. За да идентифицирате разликата между оригинален и клониран модул HM-10, просто погледнете наличието на кристален осцилатор от 32KHz на платката HM-10. Ако Crystal Oscillator присъства, това е истински модул HM-10 и не е необходимо да сменяте фърмуера. Но ако не можете да видите Crystal Oscillator вместо него, това е Cloned HM10 модул и трябва да смените фърмуера на Cloned HM-10 Module. Без да променяте фърмуера на HM-10, нямате достъп нито до модула HM-10 с AT команди, нито можете да го сдвоите със смартфони. Тук също използваме клониращия модул, така че мигахме неговия фърмуер, преди да го свържем с Ardruino. За да промените фърмуера на клониран модул HM-10, просто следвайте нашия урок за това как да промените или мига фърмуера на модула Clone HM-10
Приложение за Android на Arduino Bluetooth Controller (HM-10 Module)
Bluetooth контролерът Arduino (модул HM-10) е приложение за Android, което се предлага безплатно в Google Play Store. Това приложение има лесен и опростен интерфейс за HM-10 BLE модул. Докато тестваше, той успя бързо да намери HM-10 и се свърза веднага с HM-10. Приложението има страхотна функция, като можете да създадете бутон и да го персонализирате с персонализирано име и функции. Тук ще разгледаме как да създадем два бутона в това приложение за Bluetooth контролер за включване и изключване на светодиода, свързан с Arduino.
Как да настроите приложението за Android Arduino Bluetooth Controller (HM-10 Module) за Android:
- Изтеглете приложението от Google Play Store.
- Началната страница на приложението ще изглежда по-долу, където можете да намерите функции като свързване на устройство, икона за търсене, изтриване на икона, състояние на устройството, изпращане на текст, добавяне на шаблон и др. Започнете с търсене на устройството, като щракнете върху иконата за търсене или щракнете до три точки в горния десен ъгъл и изберете свързване на устройство .
- Всички налични устройства ще бъдат показани на екрана. Изберете правилния модул HM-10.
- Сега HM-10 ще бъде успешно свързан и ще можете да видите състоянието на HM-10 в горната част на екрана.
- Сега можете директно да изпратите текст или низ, като напишете в текстовия раздел и натиснете стрелка за изпращане, или можете да създадете персонализиран шаблон.
- За да създадете персонализиран шаблон, за да спестите време. Кликнете върху иконата “ + ” в горния десен ъгъл и попълнете подробностите. „ Името “ е име на бутона, полето „ Текст “ е за текстове или низ, които ще бъдат изпратени до HM-10, а „ Описание “ е само описанието на бутона, че как ще функционира бутонът.
- Първо, създайте бутон за включване на светодиода и му придайте зелен цвят. Бутонът ще изпрати писмо „N“ до HM-10, което ще включи светодиода, свързан към Arduino. По същия начин създайте бутон за LED OFF и му придайте червен цвят.. Бутонът ще изпрати писмо „F“ до HM-10, което ще изключи светодиода, свързан към Arduino.
- Сега можете да видите двата бутона, създадени точно под текстовото поле. Сега, ако искате да контролирате светодиода, просто кликнете върху бутоните.
Това завършва настройката на приложението за Android за управление на модула HM-10. Сега ще започнем с програмирането Arduino Uno, за да получим героите от Android App.
Програмиране на Arduino UNO за управление на светодиода с помощта на Bluetooth модул HM-10
Както винаги пълната програма с демонстрационно видео може да бъде намерена в края на този урок. Програмирането на Arduino UNO за този проект нито изисква много усилия, нито библиотека. Можете да използвате хардуерна серийна и софтуерна серийна библиотека. Ако използвате сериен софтуер, просто включете серийна библиотека на софтуера, иначе продължете с хардуерен сериен. В този проект използваме SoftwareSerial. Затова започнете с включването на серийна библиотека на софтуера. Пиновете Rx и Tx са свързани на 2 и 3 щифта на Arduino.
#include
Двете променливи се използват за съхраняване на данните, получени от HM10 и приложението за Android.
char appData; Низ inData = "";
Просто стартирайте хардуерния и софтуерния сериал на скорост 9600 бода и отпечатайте някои изявления за отстраняване на грешки. Светодиодният щифт е зададен като изход и първоначално е изключен.
Serial.begin (9600); Serial.println ("HM10 сериен стартира в 9600"); HM10.begin (9600); // задаване на HM10 сериен при 9600 скорости на предаване pinMode (13, OUTPUT); // вграден LED digitalWrite (13, LOW); // изключване на светодиода
Започнете да слушате порта HM10 и четете низа, докато HM10 е наличен и изпрати данните. Запазете данните в низ.
HM10.listen (); // слушаме порта HM10 докато (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 ms.
if (inData == "F") { Serial.println ("LED OFF"); digitalWrite (13, LOW); // изключване на LED закъснение (500); } if (inData == "N") { Serial.println ("LED ON"); digitalWrite (13, HIGH); // изключване на LED закъснение (500); digitalWrite (13, LOW); // изключване на LED закъснение (500); }
Това завършва пълния урок за това как да управлявате LED с помощта на Arduino и BLE HM10 Blutooth 4.0 модул. Отново не забравяйте, че ако имате оригинален модул HM10, не е необходимо да мигате фърмуера му, той може да се използва веднага. Но ако използвате клониран модул HM-10, мигайте фърмуера на клонирания модул HM10 BLE. Ако имате някакви съмнения или предложения, моля, коментирайте по-долу или пишете на нашия форум.