- Kas yra HM10 BLE 4.0 modulis?
- Skirtumas tarp HM10 ir kito „Bluetooth“ modulio
- Būtini komponentai
- Grandinės schema
- „Arduino“ „Bluetooth“ valdiklis („HM-10“ modulis) „Android“ programa
- „Arduino UNO“ programavimas valdyti LED naudojant „HM-10 Bluetooth“ modulį
„Bluetooth“ yra viena populiariausių ir lengvai naudojamų belaidžių technologijų. Per kelerius metus buvo atlikta daug „Bluetooth“ standarto atnaujinimų, kad neatsiliktų nuo dabartinės technologijos su būsimomis technologijomis ir patenkintų vartotojų poreikius. Pradedant nuo „Bluetooth“ versijos 1.0 versijos iki „Bluetooth“ versijos 5.0 versijos, yra daug dalykų, įskaitant didesnį duomenų perdavimo greitį, galimybę naudoti daiktų internetą naudojant mažai srovės, didesnį saugumą ir kt. Norėdami išmokti „Bluetooth“ ryšio, yra daugybė modulių, kuriuos galima sąsaja su mikrovaldikliais. Toks „Bluetooth“ modulis yra HM10, pagrįstas „Bluetooth 4.0“.
Kas yra HM10 BLE 4.0 modulis?
HM10 yra serijinis BLE modulis („Bluetooth-Low-Energy“), skirtas naudoti mažai energijos naudojančioms programoms ir gali ilgai tarnauti net su monetos dydžio akumuliatoriumi. HM10 yra "Bluetooth" 4.0 Modulis remiasi Texas Instruments CC2540 ar CC2541 BLE sistemos SoC (System on chip). Firmware ir modulio dizainas yra pagamintas ir valdomas Jinan Huamao Technology. Modulis ateina su nuosekliuoju / UART sluoksniu, kuris leidžia prietaisui sąveikauti su skirtingais mikrovaldikliais. HM10 idealiai tinka paprastiems ryšiams kurti ir naudoti su „iBeacon“ arba kaip su juo.
HM10 tapo labai populiariu „Bluetooth 4.0 BLE“ moduliu. HM10 yra tik „Bluetooth 4.0“ pagrįstas modulis, todėl jis nebus prijungtas prie „Bluetooth 2 / 2.1“ modulio, pvz., HC-05, HC-06 ir kitų „Bluetooth“ modulių. HM10 valdomas naudojant AT komandas, siunčiamas per nuoseklųjį UART ryšį. HM-10 yra „Bluetooth Low Energy“ (BLE) modulis. Norėdami sužinoti daugiau apie BLE, spustelėkite nuorodą. Taip pat sužinokite, kaip „nRF24L01“ modulį galima naudoti kaip „BLE“ modulį su „Arduino“.
Skirtumas tarp HM10 ir kito „Bluetooth“ modulio
Pagrindinis skirtumas, kurį turi HM10, yra „Bluetooth“ versija. HM10 yra „Bluetooth 4.0“ modulis, todėl jis turi visas „Bluetooth 4.0“ funkcijas, tokias kaip greitis, pralaidumas ir nuotolis. „ HM10“ siūlo iki 24 Mbps duomenų perdavimo spartą, kai sunaudojama mažai energijos / energijos. Kartu su tuo HM10 siūlo 100 metrų nuotolį atviroje erdvėje. Palyginti su kitais „Bluetooth“ moduliais, tokiais kaip „HC-05“, kuris yra „Bluetooth 2.0“ pagrįstas modulis, HM10 tikrai veikia geriau nei HC-05. HC-05 siūlo tik 3 Mbps, palyginti su HM10, o tai yra gana mažiau.
„Bluetooth“ moduliai HC-05 ir HC-06 vis dar yra labai populiarūs tarp gamintojų ir mėgėjų, nes yra pigūs ir lengvai valdomi. Mes taip pat sukūrėme daugybę projektų naudodami HC-05/06 ir sujungėme juos su daugeliu kitų mikrovaldiklių:
- „Bluetooth“ modulio sąsaja su ESP8266: LED valdymas
- „Bluetooth HC-05“ sąsaja su „STM32F103C8 Blue Pill“: valdomas šviesos diodas
- Sąsaja „HC-05 Bluetooth“ modulis su AVR mikrovaldikliu
- „Bluetooth“ modulio HC-06 sąsaja su PIC mikrovaldikliu
- Balso valdomi šviesos diodai naudojant „Arduino“ ir „Bluetooth“
- Balso valdomos šviesos naudojant „Raspberry Pi“
Visus su „Bluetooth“ susijusius projektus galite rasti šioje nuorodoje.
Šiandien mes sujungsime HM-10 BLE modulį su „Arduino Uno“, kad galėtume valdyti šviesos diodą belaidžiu būdu naudojant „Bluetooth“ protokolą. Įjungimo / išjungimo komandas siųs išmanusis telefonas.
Būtini komponentai
Techninė įranga:
- „Arduino UNO“
- HM10 „Bluetooth“ modulis
- Rezistoriai (1 kΩ, 470 Ω)
- Šuolių laidai
Programinė įranga:
- „Arduino IDE“
- „Arduino“ „Bluetooth“ valdiklis („HM-10“ modulis) „Android“ programa
- „Android“ išmanusis telefonas
Grandinės schema
„ Arduino“ ir „HM-10 Bluetooth“ modulio prijungimo schema yra labai paprasta, kaip parodyta žemiau.
Prieš pradėdami projektą įsitikinkite, kad jūsų HM-10 modulis yra tikras HM-10 modulis. Yra daugybė kinų klonuotų HM-10 modulių. Norėdami nustatyti skirtumą tarp tikro ir klonuoto HM-10 modulio, tiesiog pažiūrėkite, ar HM-10 plokštėje yra 32KHz kristalų osciliatorius. Jei yra „Crystal Oscillator“, tai yra tikras HM-10 modulis, todėl jums nereikia keisti programinės įrangos. Bet jei nematote „Crystal Oscillator“ vietoje jo, tai yra „Cloned HM10“ modulis ir turite pakeisti „Cloned HM-10“ modulio programinę įrangą.. Nepakeisdami HM-10 programinės aparatinės įrangos, negalite nei prieiti prie HM-10 modulio naudodami AT komandas, nei susieti su išmaniaisiais telefonais. Čia mes taip pat naudojame klono modulį, todėl prieš sujungdami jį su „Ardruino“, mes mirktelėjome jo programinę aparatinę įrangą. Norėdami pakeisti „Cloned HM-10“ programinės įrangos programinę įrangą, tiesiog vadovaukitės mūsų instrukcija, kaip pakeisti arba „flash“ programinės įrangos „Clone HM-10“ modulį.
„Arduino“ „Bluetooth“ valdiklis („HM-10“ modulis) „Android“ programa
„Arduino“ „Bluetooth“ valdiklis („HM-10“ modulis) yra „Android“ programa, kurią nemokamai galite rasti „Google Play“ parduotuvėje. Ši programa turi lengvą ir paprastą HM-10 BLE modulio sąsają. Testuodamas jis sugebėjo greitai rasti HM-10 ir iškart prisijungė prie HM-10. Programoje yra keletas puikių funkcijų, pvz., Galite sukurti mygtuką ir pritaikyti jį pasirinktiniu pavadinimu ir funkcijomis. Čia mes sužinosime, kaip sukurti du mygtukus šioje „Bluetooth“ valdiklio programoje, kad įjungtumėte ir išjungtumėte su „Arduino“ sujungtą šviesos diodą.
Kaip nustatyti „Arduino Bluetooth“ valdiklį („HM-10“ modulį) „Android“ programą:
- Atsisiųskite programą iš „Google Play“ parduotuvės.
- Pagrindinis programos puslapis atrodys žemiau, kur galite rasti tokias funkcijas, kaip prijungti įrenginį, paieškos piktogramą, piktogramą ištrinti, įrenginio būseną, siųsti tekstą, pridėti šabloną ir pan. Pradėkite ieškodami įrenginyje spustelėdami paieškos piktogramą arba spustelėdami iki trijų taškų viršutiniame dešiniajame kampe ir pasirinkite prijungti įrenginį .
- Visi galimi įrenginiai bus rodomi ekrane. Pasirinkite tinkamą HM-10 modulį.
- Dabar HM-10 bus sėkmingai prijungtas ir ekrano viršuje galėsite pamatyti HM-10 būseną.
- Dabar galite tiesiogiai siųsti tekstą arba eilutę, parašydami teksto skyriuje ir paspausdami rodyklę, kad išsiųstumėte, arba galite sukurti pasirinktinį šabloną.
- Norėdami sukurti pasirinktinį šabloną, kad sutaupytumėte laiko. Spustelėkite piktogramą „ + “ viršutiniame dešiniajame kampe ir užpildykite išsamią informaciją. „ Pavadinimas “ yra mygtuko pavadinimas, laukas „ Tekstas “ skirtas tekstams ar eilutėms, kurie bus siunčiami į HM-10, o „ Aprašymas “ yra tik mygtuko aprašymas, kaip mygtukas veiks.
- Pirmiausia sukurkite mygtuką įjungti LED ir suteikite jam žalią spalvą. Mygtukas išsiųs „N“ raidę HM-10, kuri įjungs prie „Arduino“ prijungtą šviesos diodą. Panašiai sukurkite mygtuką „LED OFF“ ir suteikite jam raudoną spalvą.. Mygtukas išsiųs „F“ laišką HM-10, kuris išjungs prie „Arduino“ prijungtą šviesos diodą.
- Dabar galite pamatyti du mygtukus, sukurtus tiesiai po teksto lauku. Dabar, jei norite valdyti šviesos diodą, tiesiog spustelėkite mygtuką.
Tai užbaigia „ Android“ programos nustatymą valdyti HM-10 modulį. Dabar pradėsime nuo „Arduino Uno“ programavimo, kad gautume simbolius iš „Android App“.
„Arduino UNO“ programavimas valdyti LED naudojant „HM-10 Bluetooth“ modulį
Kaip visada, visą programą su demonstraciniu vaizdo įrašu rasite šios pamokos pabaigoje. „Arduino UNO“ programavimas šiam projektui nereikalauja didelių pastangų ir jokios bibliotekos. Galite naudoti aparatinės įrangos serijos ir programinės įrangos serijinę biblioteką. Jei naudojate serijinę programinę įrangą, tiesiog įtraukite programinės įrangos serijinę biblioteką, kitaip tęskite aparatinės įrangos seriją. Šiame projekte mes naudojame „SoftwareSerial“. Taigi pradėkite nuo „Software Serial Library“ įtraukimo. Kaiščiai Rx ir Tx yra sujungti 2 ir 3 „Arduino“ kaiščiais.
# įtraukti
Du kintamieji naudojami duomenims, gautiems iš HM10 ir „Android“ programos, saugoti.
char appData; Eilutė inData = "";
Tiesiog paleiskite aparatinės ir programinės įrangos seriją 9600 perdavimo sparta ir atsispausdinkite kai kuriuos derinimo teiginius. LED kaištis yra nustatytas kaip išėjimas ir iš pradžių jis yra išjungtas.
Serijos pradžia (9600); Serial.println („HM10 serija prasidėjo nuo 9600“); HM10. Pradžia (9600); // nustatykite HM10 nuoseklųjį 9600 baudos greičio pinMode (13, OUTPUT); // borto LED digitalWrite (13, LOW); // išjungti šviesos diodą
Pradėkite klausytis HM10 prievado ir skaitykite eilutę, kol HM10 bus prieinamas ir išsiųs duomenis. Išsaugokite duomenis eilutėje.
HM10.klausyk (); // klausykitės HM10 prievado, kol (HM10.available ()> 0) {// jei HM10 ką nors siunčia, perskaitykite appData = HM10.read (); „inData“ = eilutė („appData“); // išsaugoti duomenis eilutės formatu Serial.write (appData); }
Norėdami derinti HM10 su AT komandomis, tiesiog parašykite žemiau esančią kodo eilutę, kuri išsiųs eilutę HM10.
if (Serial.available ()) {// Perskaitykite vartotojo įvestį, jei yra. vėlavimas (10); HM10.write (Serial.read ()); }
Jei gauta eilutė yra „F“, tada išspausdinkite pranešimą serijiniame monitoriuje ir išjunkite kitą lemputę, jei gauta eilutė yra „N“, tada išspausdinkite pranešimą ant serijinio monitoriaus ir „Blink“ lemputė vėluodama 500 ms.
if (inData == "F") { Serial.println ("LED išjungtas"); „digitalWrite“ (13, LOW); // išjungti LED delsą (500); } if (inData == "N") { Serial.println ("Šviesos diodas įjungtas"); „digitalWrite“ (13, HIGH); // išjungti LED delsą (500); „digitalWrite“ (13, LOW); // išjungti LED delsą (500); }
Baigiama išsami instrukcija, kaip valdyti LED naudojant „Arduino“ ir „BLE HM10 Blutooth 4.0“ modulį. Vėl prisiminkite, kad jei turite originalų HM10 modulį, jo programinės aparatinės įrangos mirksėti nereikia, jį galima naudoti iškart. Bet jei naudojate klonuotą HM-10 modulį, tada mirksėkite programinės įrangos programoje HM10 BLE modulyje. Jei turite kokių nors abejonių ar pasiūlymų, prašome komentuoti žemiau arba parašyti mūsų forumui.