- Ano ang HM10 BLE 4.0 Module?
- Pagkakaiba sa pagitan ng HM10 at iba pang Bluetooth Module
- Kinakailangan ang Mga Bahagi
- Diagram ng Circuit
- Arduino Bluetooth Controller (HM-10 Modyul) Application ng Android
- Programming Arduino UNO upang Makontrol ang LED gamit ang HM-10 Bluetooth Module
Ang Bluetooth ay isa sa pinakatanyag at madaling gamitin na wireless na teknolohiya. Sa loob ng ilang taon mayroong maraming mga pag-upgrade ng pamantayan ng Bluetooth upang makasabay sa kasalukuyang patuloy na teknolohiya sa teknolohiya sa hinaharap at upang masiyahan ang mga pangangailangan ng mga gumagamit. Simula mula sa bersyon ng Bluetooth na 1.0 hanggang sa bersyon ng Bluetooth 5.0, maraming mga bagay ang binago kabilang ang mas mataas na mga rate ng data, ang kakayahang magamit para sa IoT na may mababang kasalukuyang pagkonsumo, pinahusay na seguridad, atbp. Upang malaman ang komunikasyon sa Bluetooth maraming magagamit na mga module na maaaring maging nakipag-interfaced sa mga microcontroller. Ang nasabing isang module ng Bluetooth ay ang HM10 na batay sa Bluetooth 4.0.
Ano ang HM10 BLE 4.0 Module?
Ang HM10 ay isang serial BLE module (Bluetooth-Mababang-Enerhiya) na inilaan upang magamit para sa mababang aplikasyon ng pagkonsumo ng kuryente at maaaring magtagal kahit na may isang bateryang may sukat ng barya. Ang HM10 ay isang module ng Bluetooth 4.0 batay sa Texas Instruments CC2540 o CC2541 BLE System SoC (System on Chip). Ang firmware at disenyo ng modyul ay ginawa at pinamamahalaan ng Jinan Huamao Technology. Ang module ay may serial / UART layer na gumagawa ng aparato upang ma-interface sa iba't ibang mga microcontroller. Perpekto ang HM10 para sa paglikha ng mga simpleng koneksyon at ginagamit ito sa o bilang isang iBeacon.
Ang HM10 ay naging isang tanyag na module ng Bluetooth 4.0 BLE. Ang HM10 ay isang Bluetooth 4.0 based module lamang, kaya't hindi ito makakonekta sa Bluetooth 2 / 2.1 module tulad ng HC-05, HC-06 at iba pang mga Bluetooth module. Ang HM10 ay kinokontrol sa pamamagitan ng mga utos na AT na ipinadala sa serial na koneksyon sa UART. Ang HM-10 ay isang module na Bluetooth Low Energy (BLE), upang malaman ang higit pa tungkol sa BLE sundin ang link. Alamin din kung paano maaaring magamit ang isang nRF24L01 module bilang BLE module na may Arduino.
Pagkakaiba sa pagitan ng HM10 at iba pang Bluetooth Module
Ang pangunahing pagkakaiba ng taglay ng HM10 ay ang Bersyon ng Bluetooth. Ang HM10 ay module ng Bluetooth 4.0, kaya't kasama ng lahat ng mga tampok na Bersyon ng Bluetooth 4.0 tulad ng bilis, throughput at saklaw. Nag- aalok ang HM10 ng isang rate ng data ng hanggang sa 24 Mbps na may konsumo ng mababang lakas / mababang lakas. Kasama nito ang HM10 ay nag-aalok ng isang saklaw na distansya ng 100 metro sa bukas na espasyo. Paghambingin sa iba pang mga module ng Bluetooth tulad ng HC-05 na isang module na batay sa Bluetooth 2.0, ang HM10 ay tiyak na gumaganap nang mas mahusay kaysa sa HC-05. Nag-aalok lamang ang HC-05 ng 3 Mbps kumpara sa HM10 na medyo mas mababa.
Ang module ng Bluetooth na HC-05 at HC-06 ay napakapopular pa rin sa mga gumagawa at libangan dahil mura at madaling mag-interface. Gumawa din kami ng maraming mga proyekto gamit ang HC-05/06 at na-interfaced ang mga ito sa maraming iba pang mga microcontroller:
- Bluetooth Module Interfacing sa ESP8266: Pagkontrol ng isang LED
- Ang interfacing Bluetooth HC-05 na may STM32F103C8 Blue Pill: Kinokontrol na LED
- Pag-interface ng HC-05 Bluetooth module na may AVR Microcontroller
- Ang interface ng Bluetooth Module HC-06 ay may PIC Microcontroller
- Mga Kinokontrol na Voice LEDs gamit ang Arduino at Bluetooth
- Mga Kontrol na Boses na Kinokontrol ng boses gamit ang Raspberry Pi
Ang lahat ng mga proyekto na nauugnay sa Bluetooth ay matatagpuan sa link na ito.
Ngayon ay ia- interface namin ang HM-10 BLE Module sa Arduino Uno upang makontrol ang isang LED nang wireless gamit ang Bluetooth protocol. Ang mga utos na On / Off ay ipapadala ng Smartphone.
Kinakailangan ang Mga Bahagi
Hardware:
- Arduino UNO
- HM10 Bluetooth Module
- Mga resistorista (1 kΩ, 470 Ω)
- Jumper Wires
Software:
- Arduino IDE
- Arduino Bluetooth Controller (Module ng HM-10) Android App
- Android Smart phone
Diagram ng Circuit
Ang diagram ng circuit para sa pagkonekta ng Arduino at HM-10 Bluetooth module ay napaka-simple tulad ng ipinakita sa ibaba.
Bago magsimula sa proyekto siguraduhin na ang iyong module na HM-10 ay isang tunay na module na HM-10. Mayroong malawak na magagamit ng mga Chinese module na HM-10 na magagamit. Upang makilala ang pagkakaiba sa pagitan ng Genuine at Cloned HM-10 module, tingnan lamang ang pagkakaroon ng Crystal Oscillator na 32KHz sa Board ng HM-10. Kung ang Crystal Oscillator ay naroroon pagkatapos ito ay isang tunay na Module ng HM-10 at hindi mo kailangang baguhin ang Firmware. Ngunit kung hindi mo makita ang Crystal Oscillator sa lugar nito pagkatapos ito ay isang Cloned HM10 module at kailangan mong baguhin ang Firmware ng Cloned HM-10 Module. Nang hindi binabago ang firmware ng HM-10, hindi mo ma-a-access ang module na HM-10 gamit ang mga utos ng AT o maaari mo itong ipares sa mga smartphone. Narito ginagamit din namin ang clone module kaya't na-flash namin ang firmware nito bago ikonekta ito sa Ardruino. Upang mabago ang module ng Firmware ng Cloned HM-10, sundin lamang ang aming tutorial sa Paano baguhin o i-flash ang module ng Firmware of Clone HM-10.
Arduino Bluetooth Controller (HM-10 Modyul) Application ng Android
Ang Arduino Bluetooth Controller (HM-10 Module) ay isang android application na magagamit nang libre sa Google Play Store. Ang app na ito ay nagkakaroon ng madali at simpleng interface para sa HM-10 BLE Module. Habang sinusubukan, mabilis itong nakahanap ng HM-10 at kumonekta ito kaagad sa HM-10. Ang app ay may ilang mga cool na tampok tulad ng maaari kang lumikha ng isang pindutan at ipasadya ito sa pasadyang pangalan at pag-andar. Dito namin gagawin kung paano lumikha ng dalawang mga pindutan sa Bluetooth controller app na ito upang i-on at i-off ang LED na konektado sa Arduino.
Paano i-set up ang Arduino Bluetooth Controller (Module ng HM-10) Android App:
- I-download ang app mula sa Google Play Store.
- Ang Home page ng app ay magiging hitsura sa ibaba kung saan maaari kang makahanap ng mga tampok tulad ng, ikonekta ang Device, Icon ng Paghahanap, Tanggalin ang Icon, Katayuan ng Device, Magpadala ng Teksto, Magdagdag ng Template atbp Magsimula sa paghahanap sa Device alinman sa pamamagitan ng pag-click sa Search Icon o sa pamamagitan ng pag-click sa sa tatlong mga tuldok sa kanang sulok sa itaas at piliin ang ikonekta ang Device .
- Ang lahat ng mga magagamit na aparato ay ipapakita sa screen. Piliin ang tamang Module ng HM-10.
- Ngayon ang HM-10 ay matagumpay na konektado at makikita mo ang katayuan ng HM-10 sa Itaas ng Screen.
- Ngayon alinman maaari kang direktang magpadala ng isang teksto o String sa pamamagitan ng pagsulat sa seksyon ng teksto at pindutin ang arrow upang maipadala o maaari kang lumikha ng isang pasadyang template.
- Upang lumikha ng isang pasadyang template upang makatipid ng oras. Mag-click sa icon na “ + ” sa kanang sulok sa itaas at punan ang mga detalye. Ang " Pangalan " ay pangalan ng pindutan, ang patlang na " Teksto " ay para sa mga teksto o string na ipapadala sa HM-10 at ang " Paglalarawan " ay ang paglalarawan lamang ng pindutan na kung paano gagana ang pindutan.
- Una, lumikha ng isang pindutan para sa turn ON ON at bigyan ito ng isang Kulay Green. Ang Button ay magpapadala ng "N" na liham sa HM-10 na i-on ang LED na konektado sa Arduino. Gayundin lumikha ng isang pindutan para sa LED OFF at bigyan ito ng isang pulang Kulay.. Ang Button ay magpapadala ng "F" na sulat sa HM-10 na papatayin ang LED na konektado sa Arduino.
- Ngayon ay maaari mong makita ang dalawang mga pindutan na nilikha sa ibaba lamang ng Text Field. Ngayon kung nais mong kontrolin ang LED pagkatapos ay mag-click lamang sa mga Pindutan.
Tinatapos nito ang pag- set up ng android app upang makontrol ang module na HM-10. Magsisimula kami ngayon sa programa ng Arduino Uno upang makuha ang mga character mula sa Android App.
Programming Arduino UNO upang Makontrol ang LED gamit ang HM-10 Bluetooth Module
Tulad ng laging kumpletong programa na may demonstration video ay matatagpuan sa pagtatapos ng tutorial na ito. Ang Programming Arduino UNO para sa proyektong ito ay hindi nangangailangan ng labis na pagsisikap o anumang aklatan. Maaari mong gamitin ang serial serial at software serial library. Kung gumagamit ka ng serial ng software pagkatapos isama lang ang software serial library kung hindi man magpatuloy sa serial serial. Sa proyektong ito gumagamit kami ng SoftwareSerial. Kaya't magsimula sa pagsasama ng Software Serial Library. Ang mga pin na Rx at Tx ay konektado sa 2 at 3 Pins ng Arduino.
# isama
Ginagamit ang dalawang variable upang maiimbak ang data na natanggap mula sa HM10 at android app.
char appData; String inData = "";
Simulan lamang ang Serial ng Hardware at Software sa 9600 baud rate at i-print ang ilang mga pahayag sa pag-debug. Ang LED pin ay itinakda bilang output at sa una ay naka-off ito.
Serial.begin (9600); Serial.println ("Nagsimula ang serial ng HM10 noong 9600"); HM10.begin (9600); // set HM10 serial at 9600 baud rate pinMode (13, OUTPUT); // onboard LED digitalWrite (13, LOW); // switch OFF LED
Simulang makinig sa port ng HM10 at basahin ang string hanggang sa magagamit ang HM10 at ipadala ang data. I-save ang data sa string.
HM10.dinig (); // pakinggan ang port ng HM10 habang (HM10.available ()> 0) {// kung ang HM10 ay nagpapadala ng isang bagay pagkatapos basahin ang appData = HM10.read (); inData = String (appData); // save the data in string format Serial.write (appData); }
Para sa pag- debug ng HM10 na may mga utos ay isulat lamang ang linya ng code sa ibaba na magpapadala ng string sa HM10.
kung (Serial.available ()) {// Basahin ang input ng gumagamit kung magagamit. antala (10); HM10.write (Serial.read ()); }
Kung ang natanggap na string ay "F" pagkatapos ay i-print ang isang mensahe sa serial monitor at i-OFF ang led led kung ang natanggap na string ay "N" pagkatapos ay i-print ang isang mensahe sa serial monitor at ang Blink ay humantong na may pagkaantala ng 500ms.
kung (inData == "F") { Serial.println ("LED OFF"); digitalWrite (13, LOW); // switch OFF LED pagkaantala (500); } kung (inData == "N") { Serial.println ("LED ON"); digitalWrite (13, TAAS); // switch OFF LED pagkaantala (500); digitalWrite (13, LOW); // switch OFF LED pagkaantala (500); }
Tinatapos nito ang kumpletong tutorial sa kung paano makontrol ang LED gamit ang Arduino at BLE HM10 Blutooth 4.0 module. Muli tandaan na , kung mayroon kang isang tunay na module ng HM10 kung gayon hindi mo kailangang i-flash ang firmware nito, maaari itong magamit kaagad. Ngunit Kung gumagamit ka ng isang na-clone na module na HM-10 pagkatapos i-flash ang firmware sa clone na module ng HM10 BLE. Kung mayroon kang anumang pag-aalinlangan o mungkahi, mangyaring magkomento sa ibaba o sumulat sa aming forum.