- Ce este modulul HM10 BLE 4.0?
- Diferența dintre HM10 și alt modul Bluetooth
- Componente necesare
- Diagrama circuitului
- Aplicație Android Arduino Bluetooth Controller (Modul HM-10)
- Programarea Arduino UNO pentru controlul LED-ului folosind modulul HM-10 Bluetooth
Bluetooth este una dintre cele mai populare și ușor de utilizat tehnologie wireless. De-a lungul câtorva ani au existat multe actualizări ale standardului Bluetooth pentru a ține pasul cu tehnologia actuală în curs cu tehnologia viitoare și pentru a satisface nevoile utilizatorilor. Începând de la versiunea Bluetooth 1.0 până la versiunea Bluetooth 5.0, există multe lucruri schimbate, inclusiv rate de date mai mari, capacitatea de a fi utilizat pentru IoT cu consum redus de curent, securitate îmbunătățită etc. Pentru a învăța comunicarea Bluetooth există multe module disponibile care pot fi interfațat cu microcontrolere. Un astfel de modul Bluetooth este HM10 care se bazează pe Bluetooth 4.0.
Ce este modulul HM10 BLE 4.0?
HM10 este un modul serial BLE (Bluetooth-Low-Energy) care este destinat utilizării pentru aplicații cu consum redus de energie și poate dura mult chiar și cu o baterie de mărime monedă. HM10 este un modul Bluetooth 4.0 bazat pe Texas Instruments CC2540 sau CC2541 BLE System SoC (System on Chip). Firmware-ul și designul modulului sunt realizate și gestionate de Jinan Huamao Technology. Modulul vine cu strat serial / UART care face ca dispozitivul să poată interfața cu diferite microcontrolere. HM10 este ideal pentru crearea de conexiuni simple și utilizarea acestuia cu sau ca iBeacon.
HM10 a devenit un foarte popular modul Bluetooth 4.0 BLE. HM10 este doar un modul bazat pe Bluetooth 4.0, deci nu se va conecta cu modulul Bluetooth 2 / 2.1, cum ar fi HC-05, HC-06 și alte module Bluetooth. HM10 este controlat prin comenzi AT trimise prin conexiunea serial UART. HM-10 este un modul Bluetooth Low Energy (BLE), pentru a afla mai multe despre BLE, urmați linkul. Aflați, de asemenea, modul în care un modul nRF24L01 poate fi utilizat ca modul BLE cu Arduino.
Diferența dintre HM10 și alt modul Bluetooth
Diferența majoră pe care o posedă HM10 este versiunea Bluetooth. HM10 este modulul Bluetooth 4.0, deci vine cu toate caracteristicile versiunii Bluetooth 4.0, cum ar fi viteza, randamentul și autonomia. HM10 oferă o rată de date de până la 24 Mbps, cu un consum / consum redus de energie redus de energie. Odată cu aceasta, HM10 oferă o distanță de 100 de metri în spațiu deschis. Comparativ cu alte module Bluetooth, cum ar fi HC-05, care este un modul bazat pe Bluetooth 2.0, HM10 funcționează cu siguranță mai bine decât HC-05. HC-05 oferă doar 3 Mbps comparativ cu HM10, care este destul de puțin.
Modulul Bluetooth HC-05 și HC-06 sunt încă foarte populare printre producători și pasionați, deoarece sunt ieftine și ușor de interfațat. De asemenea, am realizat multe proiecte folosind HC-05/06 și le-am interfațat cu multe alte microcontrolere:
- Interfața modulului Bluetooth cu ESP8266: Controlul unui LED
- Interfață Bluetooth HC-05 cu pilula albastră STM32F103C8: LED de control
- Interfață modul HC-05 Bluetooth cu microcontroler AVR
- Interfațarea modulului Bluetooth HC-06 cu microcontrolerul PIC
- LED-uri controlate prin voce folosind Arduino și Bluetooth
- Lumini controlate prin voce folosind Raspberry Pi
Toate proiectele legate de Bluetooth pot fi găsite la acest link.
Astăzi vom interfața modulul HM-10 BLE cu Arduino Uno pentru a controla un LED fără fir folosind protocolul Bluetooth. Comenzile On / Off vor fi trimise de Smartphone.
Componente necesare
Hardware:
- Arduino UNO
- Modul Bluetooth HM10
- Rezistoare (1 kΩ, 470 Ω)
- Sârme jumper
Software:
- IDE Arduino
- Aplicație Android Arduino Bluetooth Controller (Modul HM-10)
- Telefon inteligent Android
Diagrama circuitului
Diagrama circuitului pentru conectarea modulului Bluetooth Arduino și HM-10 este foarte simplă așa cum se arată mai jos.
Înainte de a începe cu proiectul, asigurați-vă că modulul dvs. HM-10 este un modul HM-10 autentic. Sunt disponibile module HM-10 clonate pe scară largă din China. Pentru a identifica diferența dintre modulul HM-10 autentic și cel clonat, trebuie doar să priviți prezența oscilatorului de cristal de 32KHz pe placa HM-10. Dacă este prezent Oscilatorul de cristal, acesta este un modul HM-10 autentic și nu este nevoie să schimbați firmware-ul. Dar dacă nu puteți vedea oscilatorul de cristal în locul acestuia, acesta este un modul clonat HM10 și trebuie să schimbați firmware-ul modulului clonat HM-10. Fără a schimba firmware-ul HM-10, nu puteți accesa modulul HM-10 cu comenzi AT și nici nu îl puteți asocia cu smartphone-uri. Aici folosim și modulul de clonare, așa că i-am aruncat firmware-ul înainte de a-l conecta cu Ardruino. Pentru a schimba modulul Firmware of Cloned HM-10, pur și simplu urmați tutorialul nostru despre Modificarea sau flash-ul modulului Firmware of Clone HM-10.
Aplicație Android Arduino Bluetooth Controller (Modul HM-10)
Controlerul Arduino Bluetooth (modulul HM-10) este o aplicație pentru Android disponibilă gratuit pe Google Play Store. Această aplicație are o interfață simplă și simplă pentru modulul HM-10 BLE. În timpul testării, a reușit să găsească rapid HM-10 și s-a conectat instantaneu cu HM-10. Aplicația are unele caracteristici interesante, cum ar fi să puteți crea un buton și să îl personalizați cu nume și funcții personalizate. Aici vom afla cum să creați două butoane în această aplicație pentru controler Bluetooth pentru a porni și opri LED-ul conectat cu Arduino.
Cum se configurează aplicația Android Arduino Bluetooth Controller (Modul HM-10):
- Descărcați aplicația din Google Play Store.
- Pagina de pornire a aplicației va arăta mai jos, unde puteți găsi caracteristici cum ar fi, dispozitiv de conectare, căutare pictograma, pictograma de ștergere, Stare dispozitiv, Trimitere text, Adăugare șablon etc. Începeți cu căutarea dispozitivului, fie făcând clic pe căutare pictogramă sau clic la trei puncte în colțul din dreapta sus și alegeți conectare dispozitiv .
- Toate dispozitivele disponibile vor fi afișate pe ecran. Alegeți modulul HM-10 corect.
- Acum HM-10 va fi conectat cu succes și veți putea vedea starea HM-10 în partea de sus a ecranului.
- Acum, fie puteți trimite direct un text sau un șir, scriind pe secțiunea de text și apăsând săgeata pentru a trimite, sau puteți crea un șablon personalizat.
- Pentru a crea un șablon personalizat pentru a economisi timp. Faceți clic pe pictograma „ + ” din colțul din dreapta sus și completați detaliile. „ Nume ” este numele butonului, câmpul „ Text ” este destinat textelor sau șirului care vor fi trimise către HM-10 iar „ Descriere ” este doar descrierea butonului care va funcționa butonul.
- În primul rând, creați un buton pentru aprinderea LED-ului și dați-i o culoare verde. Butonul va trimite scrisoarea „N” către HM-10, care va aprinde LED-ul conectat la Arduino. În mod similar, creați un buton pentru LED OFF și dați-i o culoare roșie.. Butonul va trimite scrisoarea „F” către HM-10, care va opri LED-ul conectat la Arduino.
- Acum puteți vedea cele două butoane create chiar sub câmpul de text. Acum, dacă doriți să controlați LED-ul, faceți clic pe butoane.
Aceasta finalizează configurarea aplicației Android pentru a controla modulul HM-10. Acum vom începe cu programarea Arduino Uno pentru a obține personajele din aplicația Android.
Programarea Arduino UNO pentru controlul LED-ului folosind modulul HM-10 Bluetooth
Ca întotdeauna, programul complet cu video demonstrativ poate fi găsit la sfârșitul acestui tutorial. Programarea Arduino UNO pentru acest proiect nu necesită mult efort și nici o bibliotecă. Puteți utiliza seria hardware hardware și software serial. Dacă utilizați software serial, includeți doar biblioteca software serial, altfel continuați cu serialul hardware. În acest proiect folosim SoftwareSerial. Deci, începeți cu includerea Bibliotecii seriale software. Pinii Rx și Tx sunt conectați la 2 și 3 pini ai Arduino.
#include
Cele două variabile sunt utilizate pentru a stoca datele primite de la HM10 și aplicația Android.
char appData; String inData = "";
Pur și simplu porniți seria hardware și software la 9600 baud rate și tipăriți câteva declarații de depanare. Pinul LED este setat ca ieșire și inițial este oprit.
Serial.begin (9600); Serial.println („serialul HM10 a început la 9600”); HM10.inceput (9600); // setați seria HM10 la 9600 baud rate pinMode (13, OUTPUT); // LED digitalWrite la bord (13, LOW); // opriți LED-ul
Începeți să ascultați portul HM10 și citiți șirul până când HM10 este disponibil și trimite datele. Salvați datele în șir.
HM10.listen (); // ascultați portul HM10 în timp ce (HM10.available ()> 0) {// dacă HM10 trimite ceva, citiți appData = HM10.read (); inData = String (appData); // salvați datele în format șir Serial.write (appData); }
Pentru depanarea HM10 cu comenzi AT, trebuie doar să scrieți linia de cod de mai jos, care va trimite șirul către HM10.
if (Serial.available ()) {// Citiți informațiile utilizatorului dacă sunt disponibile. întârziere (10); HM10.write (Serial.read ()); }
Dacă șirul primit este „F”, apoi tipăriți un mesaj pe monitorul serial și opriți ledul în caz contrar dacă șirul primit este „N”, apoi imprimați un mesaj pe monitorul serial și ledul Blink cu o întârziere de 500 ms.
if (inData == "F") { Serial.println ("LED OFF"); digitalWrite (13, LOW); // oprire LED întârziere (500); } if (inData == "N") { Serial.println ("LED ON"); digitalWrite (13, HIGH); // oprire LED întârziere (500); digitalWrite (13, LOW); // oprire LED întârziere (500); }
Aceasta termină tutorialul complet despre cum să controlați LED-ul folosind modulul Arduino și BLE HM10 Blutooth 4.0. Amintiți-vă din nou că , dacă aveți un modul HM10 autentic, atunci nu este nevoie să-i blocați firmware-ul, acesta poate fi utilizat imediat. Dar dacă utilizați un modul HM-10 clonat, atunci blocați firmware-ul pe modulul clonă HM10 BLE. Dacă aveți vreo îndoială sau sugestie, vă rugăm să comentați mai jos sau să scrieți pe forumul nostru.