- Kaj je modul HM10 BLE 4.0?
- Razlika med HM10 in drugim modulom Bluetooth
- Potrebne komponente
- Shema vezja
- Aplikacija za Android Arduino Bluetooth Controller (HM-10 Module)
- Programiranje Arduino UNO za nadzor LED z uporabo modula Bluetooth HM-10
Bluetooth je ena najbolj priljubljenih in enostavnih brezžičnih tehnologij. V nekaj letih je bilo veliko nadgradenj standarda Bluetooth, da je bil v koraku s trenutno tekočo tehnologijo in prihodnjo tehnologijo ter zadovoljil potrebe uporabnikov. Od različice Bluetooth 1.0 do različice Bluetooth 5.0 se je spremenilo veliko stvari, vključno z višjimi hitrostmi prenosa podatkov, zmožnostjo uporabe IoT z nizko trenutno porabo, izboljšano varnostjo itd. Za učenje komunikacije Bluetooth je na voljo veliko modulov, ki jih lahko povezan z mikrokrmilniki. Tak modul Bluetooth je HM10, ki temelji na tehnologiji Bluetooth 4.0.
Kaj je modul HM10 BLE 4.0?
HM10 je serijski modul BLE (Bluetooth-Low-Energy), ki je namenjen uporabi v aplikacijah z nizko porabo energije in lahko traja dolgo tudi z baterijo v velikosti kovanca. HM10 je Bluetooth 4.0 modul temelji na Texas Instruments CC2540 ali CC2541 ble sistem SoC (sistem na čipu). Vdelano programsko opremo in zasnovo modula izdeluje in upravlja Jinan Huamao Technology. Modul ima serijsko / UART plast, zaradi česar je naprava zmožna vmesnika z različnimi mikrokrmilniki. HM10 je idealen za ustvarjanje enostavnih povezav in uporabo z ali kot iBeacon.
HM10 je postal zelo priljubljen modul Bluetooth 4.0 BLE. HM10 je samo modul s tehnologijo Bluetooth 4.0, zato se ne bo povezal z modulom Bluetooth 2 / 2.1, kot so HC-05, HC-06 in drugimi moduli Bluetooth. HM10 krmilijo preko ukazov AT, poslanih prek serijske povezave UART. HM-10 je modul Bluetooth Low Energy (BLE), če želite izvedeti več o BLE, sledite povezavi. Naučite se tudi, kako lahko modul nRF24L01 uporabljate kot modul BLE z Arduino.
Razlika med HM10 in drugim modulom Bluetooth
Glavna razlika, ki jo ima HM10, je različica Bluetooth. HM10 je modul Bluetooth 4.0, zato ima vse funkcije Bluetooth različice 4.0, kot so hitrost, prepustnost in domet. HM10 ponuja hitrost prenosa podatkov do 24 Mbps z nizko porabo energije / nizke porabe. Poleg tega HM10 ponuja razdaljo 100 metrov na prostem. V primerjavi z drugimi moduli Bluetooth, kot je HC-05, ki je modul na osnovi Bluetooth 2.0, HM10 zagotovo deluje bolje kot HC-05. HC-05 v primerjavi s HM10 ponuja le 3 Mbps, kar je precej manj.
Modula Bluetooth HC-05 in HC-06 sta še vedno zelo priljubljena med izdelovalci in ljubitelji, saj sta poceni in enostavna za vmesnike. Z uporabo HC-05/06 smo izvedli tudi številne projekte in jih povezali z mnogimi drugimi mikrokrmilniki:
- Povezava modula Bluetooth z ESP8266: nadzor LED
- Povezava Bluetooth HC-05 z modro tabletko STM32F103C8: Kontrolna LED
- Povezava modula Bluetooth HC-05 z mikrokrmilnikom AVR
- Povezava modula Bluetooth HC-06 z mikrokrmilnikom PIC
- LED z glasovnim nadzorom z uporabo Arduino in Bluetooth
- Glasovno nadzorovane luči z uporabo Raspberry Pi
Vse projekte, povezane z Bluetoothom, lahko najdete na tej povezavi.
Danes bomo modul HM-10 BLE povezali z Arduino Uno za brezžično upravljanje LED z uporabo protokola Bluetooth. Ukaze za vklop / izklop bo poslal pametni telefon.
Potrebne komponente
Strojna oprema:
- Arduino UNO
- Modul Bluetooth HM10
- Upori (1 kΩ, 470 Ω)
- Jumper žice
Programska oprema:
- Arduino IDE
- Aplikacija za Android Arduino Bluetooth Controller (HM-10 Module)
- Android pametni telefon
Shema vezja
Shema vezja za povezavo modula Bluetooth Arduino in HM-10 je zelo preprosta, kot je prikazano spodaj.
Preden začnete s projektom, se prepričajte, da je vaš modul HM-10 pristen modul HM-10. Na voljo so široko kitajski klonirani moduli HM-10. Če želite ugotoviti razliko med originalnim in kloniranim modulom HM-10, samo poglejte prisotnost kristalnega oscilatorja 32KHz na plošči HM-10. Če je prisoten Crystal Oscillator, gre za pristen modul HM-10 in vdelane programske opreme vam ni treba spreminjati. Če pa namesto njega ne vidite kristalnega oscilatorja, je to modul Cloned HM10 in morate spremeniti vdelano programsko opremo modula Cloned HM-10. Brez spreminjanja vdelane programske opreme HM-10 ne morete niti dostopati do modula HM-10 z ukazi AT niti ga seznaniti s pametnimi telefoni. Tu uporabljamo tudi modul za kloniranje, zato smo pred povezavo z Ardruino utripali njegovo vdelano programsko opremo. Če želite spremeniti vdelano programsko opremo modula Cloned HM-10, preprosto sledite naši vadnici o tem, kako spremeniti ali utripati vdelano programsko opremo Clone HM-10.
Aplikacija za Android Arduino Bluetooth Controller (HM-10 Module)
Arduino Bluetooth Controller (HM-10 Module) je aplikacija za Android, ki je brezplačno na voljo v trgovini Google Play. Ta aplikacija ima enostaven in preprost vmesnik za modul HM-10 BLE. Med testiranjem je lahko hitro našel HM-10 in se takoj povezal s HM-10. Aplikacija ima nekaj odličnih funkcij, na primer, da lahko ustvarite gumb in ga prilagodite z imenom in funkcijami po meri. Tukaj bomo izvedeli, kako v tej aplikaciji krmilnika Bluetooth ustvariti dva gumba za vklop in izklop LED, povezan z Arduino.
Kako namestiti aplikacijo Android Arduino Bluetooth Controller (HM-10 Module) za Android:
- Prenesite aplikacijo iz trgovine Google Play.
- Domača stran aplikacije bo videti spodaj, kjer lahko najdete funkcije, kot so povezava naprave, ikona za iskanje, ikona za brisanje, stanje naprave, pošiljanje besedila, dodajanje predloge itd. Začnite z iskanjem naprave bodisi s klikom na ikono za iskanje ali s klikom do treh pik v zgornjem desnem kotu in izberite Poveži napravo .
- Na zaslonu bodo prikazane vse razpoložljive naprave. Izberite pravilen modul HM-10.
- Zdaj bo HM-10 uspešno povezan in na vrhu zaslona boste lahko videli stanje HM-10.
- Zdaj lahko neposredno pošljete besedilo ali niz tako, da v besedilni odsek napišete in pritisnete puščico za pošiljanje, ali pa ustvarite predlogo po meri.
- Če želite ustvariti predlogo po meri, da prihranite čas. Kliknite ikono “ + ” v zgornjem desnem kotu in vnesite podrobnosti. " Ime " je ime gumba, polje " Besedilo " je za besedila ali niz, ki bodo poslani na HM-10, " Opis " pa je samo opis gumba, kako bo gumb deloval.
- Najprej ustvarite gumb za vklop LED in mu dajte zeleno barvo. Gumb bo na HM-10 poslal pismo »N«, ki bo vklopilo LED, priključeno na Arduino. Podobno ustvarite gumb za LED IZKLOP in mu dajte rdečo barvo.. Gumb bo na HM-10 poslal pismo »F«, ki bo ugasnilo LED, priključeno na Arduino.
- Zdaj lahko vidite dva gumba, ustvarjena tik pod besedilnim poljem. Zdaj, če želite nadzorovati LED, kliknite na gumbe.
S tem se konča namestitev aplikacije za Android za nadzor modula HM-10. Zdaj bomo začeli s programiranjem Arduino Uno, da dobimo znake iz aplikacije Android.
Programiranje Arduino UNO za nadzor LED z uporabo modula Bluetooth HM-10
Kot vedno na koncu te vadnice najdete celoten program z demonstracijskim videom. Programiranje Arduino UNO za ta projekt ne zahteva veliko truda niti knjižnice. Uporabite lahko serijsko knjižnico strojne in programske opreme. Če uporabljate serijsko programsko opremo, samo vključite serijsko knjižnico programske opreme, sicer nadaljujte s serijsko programsko opremo strojne opreme. V tem projektu uporabljamo SoftwareSerial. Torej, začeti z vključevanjem Software Serial knjižnico. Zatiča Rx in Tx sta povezana na 2 in 3 zatiča Arduino.
#include
Dve spremenljivki se uporabljata za shranjevanje podatkov, prejetih iz HM10 in aplikacije za Android.
char appData; Niz inData = "";
Preprosto zaženite serijo strojne in programske opreme s hitrostjo 9600 baudov in natisnite nekaj izjav o odpravljanju napak. LED zatič je nastavljen kot izhod in je na začetku izključen.
Serial.begin (9600); Serial.println ("Serija HM10 se je začela ob 9600"); HM10.begin (9600); // nastavimo serijski HM10 na 9600 baudov hitrost pinMode (13, IZHOD); // vgrajen LED digitalWrite (13, LOW); // izklopimo LED
Začnite poslušati vrata HM10 in preberite niz, dokler HM10 ni na voljo in ne pošlje podatkov. Podatke shranite v niz.
HM10.listen (); // poslušajte vrata HM10, medtem ko (HM10.available ()> 0) {// če HM10 nekaj pošlje, potem preberite appData = HM10.read (); inData = Niz (appData); // shranimo podatke v obliki niza Serial.write (appData); }
Za odpravljanje napak HM10 z ukazi AT preprosto napišite spodnjo vrstico kode, ki bo niz poslala HM10.
if (Serial.available ()) {// Preberite uporabniški vnos, če je na voljo. zamuda (10); HM10.write (Serial.read ()); }
Če je prejeti niz »F«, natisnite sporočilo na serijski monitor in izklopite led, sicer pa, če je prejeti niz »N«, nato natisnite sporočilo na serijski monitor in Blink led z zakasnitvijo 500 ms.
if (inData == "F") { Serial.println ("LED OFF"); digitalWrite (13, LOW); // izklop LED zakasnitve (500); } if (inData == "N") { Serial.println ("LED VKLOPLJENA"); digitalWrite (13, VISOKO); // izklop LED zakasnitve (500); digitalWrite (13, LOW); // izklop LED zakasnitve (500); }
S tem je končana celotna vadnica o upravljanju LED z uporabo modula Arduino in BLE HM10 Blutooth 4.0. Še enkrat ne pozabite, da če imate pristen modul HM10, vam ni treba utripati njegove vdelane programske opreme, zato ga lahko takoj uporabite. Če pa uporabljate klonirani modul HM-10, utripajte vdelano programsko opremo modula kloniranja HM10 BLE. Če imate kakršen koli dvom ali predlog, komentirajte spodaj ali pišite na naš forum.