- Що таке модуль 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 (система на кристалі). Прошивка та дизайн модуля зроблені та управляються 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 Мбіт з низьким споживанням енергії / низької потужності. Поряд з цим 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, можна знайти за цим посиланням.
Сьогодні ми будемо взаємодіяти модуль HM-10 BLE з Arduino Uno для бездротового управління світлодіодом за допомогою протоколу Bluetooth. Команди увімкнення / вимкнення надсилатимуться за допомогою смартфона.
Потрібні компоненти
Обладнання:
- Arduino UNO
- Модуль Bluetooth HM10
- Резистори (1 кОм, 470 Ом)
- Провід перемички
Програмне забезпечення:
- IDE Arduino
- Контролер Bluetooth Arduino (модуль HM-10) для Android
- Смарт-телефон Android
Кругова діаграма
Схема підключення Arduino та модуля Bluetooth HM-10 дуже проста, як показано нижче.
Перед початком проекту переконайтеся, що ваш модуль HM-10 є справжнім модулем HM-10. Доступні широко китайські клоновані модулі HM-10. Щоб визначити різницю між оригінальним та клонованим модулем HM-10, просто подивіться на наявність кристалічного генератора 32 КГц на платі HM-10. Якщо Crystal Oscillator присутній, це справжній модуль HM-10, і вам не потрібно міняти мікропрограму. Але якщо ви не можете побачити Кришталевий генератор замість нього, то це клонований модуль HM10, і вам потрібно змінити мікропрограму клонованого модуля HM-10. Не змінюючи прошивку HM-10, ви не зможете отримати доступ до модуля HM-10 за допомогою команд AT, а також не можете поєднати його зі смартфонами. Тут ми також використовуємо модуль клонування, тому ми прошили його прошивку перед підключенням до Ardruino. Для того, щоб змінити прошивку модуля Cloned 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 для контролера Bluetooth Arduino (модуль HM-10):
- Завантажте програму з магазину Google Play.
- Домашня сторінка програми буде виглядати нижче, де ви можете знайти такі функції, як підключення пристрою, піктограма пошуку, піктограма видалення, стан пристрою, надсилання тексту, додавання шаблону тощо. Почніть з пошуку пристрою, натиснувши піктограму пошуку або натиснувши до трьох крапок у верхньому правому куті та виберіть підключити пристрій .
- Усі доступні пристрої будуть показані на екрані. Виберіть правильний модуль 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, ВИХІД); // вбудований світлодіод digitalWrite (13, LOW); // вимкнути світлодіод
Почніть слухати порт HM10 і читати рядок, поки HM10 не стане доступним і не надішле дані. Збережіть дані у рядку.
HM10.listen (); // прослуховуємо порт HM10 при цьому (HM10.available ()> 0) {// якщо HM10 надсилає щось, то читаємо appData = HM10.read (); inData = Рядок (appData); // зберігаємо дані у рядковому форматі Serial.write (appData); }
Для налагодження HM10 командами AT просто напишіть наведений нижче рядок коду, який надішле рядок до HM10.
if (Serial.available ()) {// Прочитати введення користувача, якщо доступно. затримка (10); HM10.write (Serial.read ()); }
Якщо отриманий рядок має значення "F", надрукуйте повідомлення на послідовному моніторі та вимкніть світлодіод, інакше, якщо отриманий рядок має значення "N", тоді надрукуйте повідомлення на послідовному моніторі та блимає світлодіоді із затримкою в 500 мс.
if (inData == "F") { Serial.println ("LED OFF"); digitalWrite (13, LOW); // вимкнути світлодіодну затримку (500); } if (inData == "N") { Serial.println ("Світлодіод увімкнено"); digitalWrite (13, HIGH); // вимкнути світлодіодну затримку (500); digitalWrite (13, LOW); // вимкнути світлодіодну затримку (500); }
На цьому закінчено повний посібник з управління світлодіодами за допомогою модуля Arduino та BLE HM10 Blutooth 4.0. Знову ж пам’ятайте, що якщо у вас справжній модуль HM10, то вам не потрібно прошивати його прошивку, його можна використовувати відразу. Але якщо ви використовуєте клонований модуль HM-10, тоді прошийте мікропрограму на клонованому модулі HM10 BLE. Якщо у вас є якісь сумніви чи пропозиції, будь ласка, коментуйте нижче або пишіть на наш форум.