- Kinakailangan ang Mga Bahagi
- ESP8266 HC-05 Bluetooth Module Circuit Diagram
- HC-05 Bluetooth Module
- Paggamit ng Serial Bluetooth Terminal (Android App)
- Programming NodeMCU ESP8266 upang i-interface ang Bluetooth
Ngayon isang araw, ang Bluetooth ay naging mahalagang bahagi ng mga digital na aparato at ito ay naipasok sa karamihan ng mga aparato tulad ng Smartphone, Laptop, PC, Camera, Mga Relo, Fitness Bands at marami pa. Palaging nangingibabaw ang Bluetooth sa isang wireless na komunikasyon mula pa noong natuklasan ito. Kahit na ang Teknolohiya ng Bluetooth sa panimula ay isang sistemang kapalit ng cable ngunit gumagamit din ito ng isang unibersal na tulay sa mga umiiral na mga network ng data at isang mekanismo ng koneksyon ng ad hoc para sa bilang ng mga aparato sa iba't ibang mga pagsasaayos. Gumamit kami ng Bluetooth module na HC05 at HC06 sa maraming iba pang mga microcontroller upang makipag-usap sa kanila nang wireless:
- Ang interfacing Bluetooth HC-05 na may STM32F103C8 Blue Pill: Kinokontrol na LED
- Pag-interface ng HC-05 Bluetooth module na may AVR Microcontroller
- Android Controlled Robot gamit ang 8051 Microcontroller
- Pagkontrol sa Raspberry Pi GPIO gamit ang Android App sa Bluetooth
- Kinokontrol ng Laruang Kotse ng Bluetooth gamit ang Arduino
Ngayon ay makikipag-ugnay kami sa HC-05 Bluetooth Module na may tanyag na Wi-Fi module na ESP8266 at makokontrol ang isang LED nang wireless sa pamamagitan ng pagpapadala ng mga command sa pamamagitan ng Bluetooth. Ang LED na ito ay maaaring mapalitan ng isang Relay at isang appliance ng AC upang makabuo ng isang Application sa Home Automation.
Kinakailangan ang Mga Bahagi
Hardware:
- NodeMCU ESP8266
- HC-05 Bluetooth Module
Software:
- Arduino IDE
- Serial Bluetooth Terminal (Android App): Upang Subaybayan ang Data ng Bluetooth sa Smart Phone.
ESP8266 HC-05 Bluetooth Module Circuit Diagram
Ang diagram ng circuit upang ikonekta ang module ng Bluetooth HC-05 sa NodeMCU ESP8266 ay napaka-simple at ipinapakita sa ibaba:
Ang isang panlabas na module ng Bluetooth ay kinakailangan sa ESP8266 dahil wala itong built na Bluetooth tulad ng ESP32. Ang ESP32 ay nakabuo ng Bluetooth Low Energy (BLE) at Classic Bluetooth, kung saan dati naming nasaklaw ang ilang mga tutorial:
- ESP32 BLE Server - Serbisyo ng GATT para sa Indikasyon ng Antas ng Baterya
- ESP32 BLE Client - Pagkonekta sa Fitness Band upang Mag-trigger ng isang bombilya
- Paano Gumamit ng Serial Bluetooth sa ESP32
HC-05 Bluetooth Module
Ang HC-05 ay isang serial Bluetooth module. Maaari itong mai-configure gamit ang mga utos ng AT. Maaari itong gumana sa tatlong magkakaibang mga pagsasaayos (Master, Slave, Loop back). Sa aming proyekto gagamitin namin ito bilang isang alipin. Ang mga tampok ng module na HC-05 ay may kasamang,
- Karaniwang -80dBm pagiging sensitibo.
- Default na rate ng baud: 9600bps, 8 data bit, 1 stop bit, walang pagkakapantay-pantay.
- Auto-pairing pin code: "1234" o "0000" default na pin code.
- Mayroon itong 6 na mga pin.
- Ginagamit ang mga Vcc at Gnd pin para sa paggana ng HC-05.
- Ginagamit ang mga Tx at Rx pin para sa pakikipag-ugnay sa microcontroller.
- Paganahin ang pin para sa pag-aktibo ng module na HC-05. kapag ito ay mababa, ang module ay hindi pinagana
- Ang pin ng estado ay kumikilos tagapagpahiwatig ng katayuan. Kapag hindi ito ipinares / konektado sa anumang iba pang Bluetooth device, tuloy-tuloy na nag-flash ang LED. Kapag ito ay konektado / ipinares sa anumang iba pang mga aparatong Bluetooth, pagkatapos ang LED flashes na may patuloy na pagkaantala ng 2 segundo.
Upang matuto nang higit pa tungkol sa module ng Bluetooth dumaan sa aming iba pang mga proyekto na nauugnay sa Bluetooth.
Paggamit ng Serial Bluetooth Terminal (Android App)
Ang paggamit ng app na ito ay napakadali at nangangailangan ng ilang mga hakbang. Ang mga screenshot ay ibinibigay sa ibaba na may mga hakbang. Ipares lang ang HC-05 sa Smartphone. Ang default code ay '0000' o '1234' ngunit Karamihan sa '1234' ay gumagana.
- Una i-download at i-install ang app Pagkatapos ay pumunta sa mga aparato upang makahanap ng HC-05 Module. Piliin ang hinanap na Module ng HC-05 sa app. Kung hindi natagpuan pagkatapos suriin kung ang HC-05 ay maayos na pinapatakbo.
- Matapos i-click ang HC-05 makakonekta ito. Ngayon i-type ang anumang mensahe sa kahon ng mensahe at ipadala ito. Magpi-print ito sa Arduino Serial Monitor.
Programming NodeMCU ESP8266 upang i-interface ang Bluetooth
Para sa pagprograma sa NodeMCU ESP8266 gamit ang ArduinoIDE, i-plug lamang ito mula sa Laptop o PC gamit ang Micro USB Cable at buksan ang Arduino IDE. Para sa tutorial na ito, gagamitin ang serial serial at software serial. Gagamitin ang serial serial upang mabasa at sumulat ng data sa Arduino Serial Monitor at ang Sofware Serial ay gagamitin na makipag-usap sa HC-05. Tulad ng laging kumpletong code at Demo Video ay ibinibigay sa pagtatapos ng tutorial.
Una, isama ang Software Serial library dahil magagamit ito sa tutorial na ito.
# isama
Tukuyin ang RX at TX pin para sa serial software na komunikasyon, tukuyin din ang led pin na konektado sa NodeMCU. Gumagamit kami ng panloob na LED ng NodeMCU na nasa Pin D4.
SoftwareSerial btSerial (D2, D3); // RX, int led = D4;
Simulan ang Serial ng Software at Hardware sa 9600 baud rate. Itakda ang Led Pin bilang output. I-print ang ilang mensahe ng maligayang pagdating at pag-debug.
Serial.begin (9600); btSerial.begin (9600); pinMode (D4, OUTPUT); Serial.println ("Nagsimula…");
Una, basahin mula sa module ng Bluetooth at tukuyin ang isang kaso na kung ang Module ng Bluetooth ay Nakatanggap ng "B" mula sa Telepono pagkatapos ay Magsimula ang Blinking Led na konektado sa D4 ng NodeMCU kung natanggap nito ang "S" pagkatapos ay itigil ang blinking led. Hindi namin ginagamit ang pagkaantala () dito. Ngunit ang Arduino 'millis' ay gagamitin upang hindi hadlangan ang pagganap ng Arduino.
kung (btSerial.available ()> 0) { char data = btSerial.read (); lumipat (data) { case 'B': ledB = "blink"; pahinga; case 'S': ledB = "stop"; pahinga; default: masira; } }
Ang millis ay tinukoy at itakda ang pagkaantala sa 500ms ibig sabihin, ang led ay magpikit pagkatapos ng bawat 500ms. Gayundin maaari mong i-configure ang humantong pagkaantala sa pamamagitan ng pagbabago ng halaga ng 'agwat'. Ang na humantong estado ay i-toggle.
unsigned long currentMillis = millis ();
kung (ledB == "blink") { Serial.println ("nagsimula ang pagkurap"); kung (currentMillis - nakaraangMillis> = agwat) { nakaraangMillis = currentMillis; kung (ledState == LOW) { ledState = HIGH; } iba pa { ledState = LOW; } digitalWrite (led, ledState); } }
At tatapusin nito ang programang NodeMCU sa Blink LED nang wireless gamit ang Bluetooth. Maaari mo ring baguhin ang programa upang gumawa ng iba't ibang mga gawain sa LED tulad ng LED na maaaring mapalitan ng isang Relay na may kasangkapan sa AC upang makagawa ng proyekto sa automation ng Bluetooth Home. Sa kaso ng anumang pagdududa o mungkahi, mangyaring mag-abot sa aming forum o puna sa ibaba.