- Mga Materyal na Kinakailangan
- Bluetooth Module (HC-05)
- STM32 USART Ports
- Circuit Diagram at Mga Koneksyon
- Programming STM32F103C8
- Mga Hakbang para sa Pagkonekta ng Bluetooth Module sa Android Phone
Sa panahon ngayon ang Bluetooth ay naging tanyag at halos lahat ng aparato tulad ng mobile phone, laptop, at infotainment system ng kotse ay gumagamit ng Bluetooth para sa wireless na komunikasyon. Ang Bluetooth ay hindi lamang ginagamit upang maglipat ng data ngunit din upang makontrol ang isa pang mga aparatong Bluetooth nang wireless, tulad ng paggamit ng Bluetooth headset maaari mong marinig ang kanta nang wireless mula sa iyong mobile phone o maaaring gumamit ng car audio system upang patugtugin ang mga kanta mula sa iyong mobile.
Ang Bluetooth ay isang wireless na teknolohiya na gumagana sa dalas ng 2.4GHz. Ang normal na signal ng Bluetooth ay nasa saklaw na 10 meter radius. Ang Bluetooth ay karaniwang ginagamit na wireless na teknolohiya sa mga naka-embed na proyekto na ibinigay na ang saklaw ng komunikasyon ay limitado. Ang Bluetooth ay nagdagdag ng bentahe ng mababang paggamit ng kuryente at mababang operasyon ng gastos. Karaniwan itong ginagamit para sa pag-interfacing ng mga microcontroller sa mga Smart Phones sa pamamagitan ng paggamit ng mga application ng Bluetooth.
Nakita namin ang pag-interfacing ng module ng Bluetooth sa iba pang mga microcontroller tulad ng Arduino, 8051, PIC atbp Ngayon sa tutorial na ito ay i- interface namin ang isang HC-05 Bluetooth module na may STM32F103C8 at I-ON / OFF ang isang LED gamit ang Android mobile.
Mga Materyal na Kinakailangan
- STM32F103C8
- Bluetooth Module (HC-05)
- LED
- Android Mobile
- Breadboard
- Mga kumokonekta na mga wire
Software:
- Bluetooth Terminal (Android Application)
Bluetooth Module (HC-05)
Karamihan ay ginagamit itong module ng Bluetooth sa mga naka-embed na proyekto. Ito ay isang serial module ng Bluetooth na gumagamit ng serial na komunikasyon na mayroong saklaw na mas mababa sa 100m at nagpapatakbo sa 5V (minimum na 3.3V). Maaari itong magamit upang ikonekta ang dalawang mga microcontroller nang wireless at din sa mobile phone at mga laptop. Tulad ng maraming mga android application na magagamit, napaka-kapaki-pakinabang para sa paggawa ng mga wireless na kinokontrol na proyekto ng Bluetooth.
Gumagamit ito ng komunikasyon sa USART at maaaring ma-interfaced sa mga microcontroller na mayroong USART komunikasyon na komunikasyon.
Mayroon itong pinagsamang antena. Mayroon itong mga pagsasaayos ng Master / Slave na maaaring mabago sa mode na utos ng AT na kapaki-pakinabang kapag isang aparato lamang ang dapat magpadala ng data (master sa alipin) tulad ng halimbawa mula sa PC (MASTER) hanggang sa alipin (anumang MCU). Ang isang master ay maaaring kumonekta sa iba pang mga aparato at ang alipin ay hindi kumonekta sa ibang koneksyon maliban sa master.
Mga Paraan ng Pagpapatakbo
Mayroon itong dalawang mga mode SA Command Mode at Data Mode.
Kapag pinapagana ang Bluetooth pumapasok ito sa default na mode ng data. Ang mode na ito ay maaaring magamit para sa paglilipat ng data. Upang makapasok sa mode na AT Command sa panahon ng power up kailangan nating pindutin ang pindutan na naroroon sa module upang baguhin ang mga default na setting ng module tulad ng mga pagsasaayos ng master / alipin.
Mga Pin ng Module ng Bluetooth
- EN pin (I-ENABLE) -Ginagamit ang pin na ito upang itakda ang Data Mode o SA Command Mode. Bilang default ito ay nasa DATA MODE. Kapag pinindot ang pindutan sa panahon ng power up ay pupunta ito sa AT mode ng pag-utos.
- + 5V pin - Ginagamit ito para sa power supply sa module
- GND pin - Ginagamit ito para sa ground para sa module
- TX pin - Ang pin na ito upang kumonekta sa RX pin ng MCU
- RX pin - Ang pin na ito ay konektado sa TX pin ng MCU
- STATE - Ipinapahiwatig ng pin na ito ang katayuan ng module, tingnan sa ibaba ang tungkol sa mga indikasyon
LED Indication
- Mayroon itong tagapagpahiwatig na LED (RED) na nagbibigay ng estado ng module na Bluetooth.
- Kapag ang module ng Bluetooth ay HINDI KONEKTO sa anumang aparato ang signal ay bumaba at pula na humantong blinks patuloy na nagsasaad na module ay HINDI PAIRED.
- Kapag ang module ng Bluetooth ay konektado sa anumang aparato ang signal ay napakataas at ang pula na humantong blinks na may ilang pagkaantala na nagpapahiwatig na ang module ay PAIRED.
Suriin ang aming iba pang mga proyekto upang malaman ang tungkol sa Bluetooth module HC-05 kasama ang iba pang mga microcontroller:
- Kinokontrol ng Laruang Kotse ng Bluetooth gamit ang Arduino
- Kinokontrol ng Bluetooth na Home Automation System gamit ang 8051
- Mga Kontrol na Boses na Kinokontrol ng boses gamit ang Raspberry Pi
- Kinokontrol ng Smart Phone FM Radio gamit ang Arduino at Pagproseso
- Kinokontrol ng Mobile Phone ng Robot Car gamit ang G-Sensor at Arduino
- Ang interface ng Bluetooth Module HC-06 ay may PIC Microcontroller
STM32 USART Ports
Ang STM32F103C8 (BLUE PILL) USART serial port ng komunikasyon ay ipinapakita sa imahe ng pin out sa ibaba. Ang mga ito ay may asul na kulay na pagkakaroon (PA9-TX1, PA10- RX1, PA2-TX2, PA3- RX2, PB10-TX3, PB11- RX3). Mayroon itong tatlong ganoong mga channel sa komunikasyon.
Circuit Diagram at Mga Koneksyon
Ang mga koneksyon sa circuit para sa interfacing Bluetooth Module na may STM32 ay ginawa tulad ng sa ibaba
Koneksyon sa pagitan ng STM32F103C8 at Bluetooth module (HC-05)
- Ang TX pin (PA9) ng STM32F103C8 ay konektado sa RX pin ng module ng Bluetooth.
- Ang RX pin (PA10) ng STM32F103C8 ay konektado sa TX pin ng Bluetooth module.
- Ang VCC (+ 5V) na pin ng module ng Bluetooth ay konektado sa 5V pin ng STM32F103C8.
- Ang GND pin ng Bluetooth module ay nakakonekta sa GND pin ng STM32F103C8.
Iba Pang Mga Koneksyon
- Ang (PA0) pin ng STM32 (Blue Pill) ay konektado sa positibong pin ng LED sa pamamagitan ng isang resistor ng serye. Ginamit ang LED dito ay halo-halong kulay.
- Ang humantong isa pang pin ay konektado sa GND ng STM32.
Programming STM32F103C8
Ang interface ng Bluetooth na may STM32 ay kapareho ng arduino at ang pagprograma sa STM32 ay pareho ng Arduino IDE. Tingnan ang tutorial na ito para sa pagprograma ng STM32 gamit ang USB gamit ang Arduino IDE.
Tulad ng nasabi na, sa proyektong ito, makikipag-ugnay kami sa isang (HC-05) module ng Bluetooth na may STM32F103C8 at gagamit ng isang Android Smart Phone na may application na Bluetooth Terminal android upang I-ON at I-OFF ang LED.
Tandaan: Ang RX & TX pin ay dapat na alisin habang ina-upload ang code sa STM32F103C8.
Ang kumpletong code para sa proyektong ito ay ibinibigay sa pagtatapos ng tutorial na ito na may isang demonstrasyong Video.
Ang pag-coding para sa proyektong ito ay napakasimple. Maaaring magamit ang mga parehong code ng Arduino ngunit ang pin lamang ang dapat palitan. Dahil mayroon kaming tatlong hanay ng USART pin sa STM32F103C8 kaya dapat nating tukuyin ang tamang pin na ginamit namin upang ikonekta ang Bluetooth module.
1. Una kailangan namin upang pangalanan ang mga pin sa kani-kanilang numero ng pin na may int uri ng data tulad ng sumusunod
Const int pinout = PA0;
2. Susunod na kailangan namin ng isang variable upang mag-imbak ng serial data mula sa android mobile. Ang data ay maaaring isang char o integer tulad ng sumusunod
char inputdata = 0;
3. Susunod sa walang bisa na pag-set up (), dapat nating simulan ang serial na komunikasyon sa pagitan ng STM32 Blue Pill at ng module ng Bluetooth sa pamamagitan ng pagbibigay ng baud rate na 9600
Serial1.begin (9600);
Ginamit namin ang Serial1 dito dahil ikinonekta namin ang HC-05 sa TX1 at RX1 ng STM32.
Maaari din naming gamitin ang Serial2 o Serial3 ngunit nang naaayon ang pin ay dapat na konektado.
4. Ang isang intro message ay ipinadala bilang serial data sa serial1, iyon ay sa Bluetooth module na HC05. Ang module na ito ay karagdagang nagpapadala ng data sa Bluetooth Terminal app ng android mobile. Kaya ginagamit namin sa ibaba ang mga pahayag
Serial1.print ("CIRCUIT DIGEST \ n"); Serial1.print ("BLUETOOTH WITH STM32 \ n");
5. Susunod na kailangan namin upang itakda ang pinmode (PA0) bilang output, tulad ng konektado kami na humantong sa pin na ito. Kaya ginagamit namin
pinMode (pinout, OUTPUT);
6. Susunod sa void loop (), nagpapatakbo kami ng sumusunod na data upang mabasa ang serial data at i-on / i-off ang LED nang naaayon
void loop () { If (Serial1.available ()> 0) { inputdata = Serial1.read (); kung (inputdata == '1') { digitalWrite (pinout, HIGH); Serial1.print ("LED ON \ n"); } iba pa kung (inputdata == '0') { digitalWrite (pinout, LOW); Serial1.print ("LED OFF \ n"); } } }
Dito ginagamit namin kung pahayag sapagkat ang code na ito ay nagpapatupad lamang kapag ang Serial1 port ay may natanggap na data mula sa module ng Bluetooth na kung bakit ginamit ang pahayag na ito Serial1.available ()> 0 . Kung hindi man kung hindi ito makakapasok, naghihintay ito hanggang sa magsimula ito sa serial komunikasyon. Ngayon ay iniimbak nito ang natanggap na data sa isang variable inputdata = Serial1.read (). Pagkatapos suriin nito ang halagang ipinadala mula sa Bluetooth terminal app. Kaya't kung ang halaga ay 1, inililimbag nito ang LED ON at ginawang mataas ang pin (PA0) sa pamamagitan ng pahayag na digitalWrite (pinout, HIGH) at kung ang halaga ay 0, i-print nito ang LED OFF at ginagawang LOW ang (PA0) pin.
Mga Hakbang para sa Pagkonekta ng Bluetooth Module sa Android Phone
Hakbang 1: - Buksan ang Bluetooth mula sa mobile pagkatapos mag-upload ng code sa STM32 mula sa Arduino IDE at bigyan ng kapangyarihan ang circuit. TANDAAN upang alisin ang RX at TX pin habang UPLOADING code
Hakbang 2: - Sa mga magagamit na aparato piliin ang HC-05 at ipasok ang password bilang 1234
Hakbang 3: - Pagkatapos ng pagpapares, buksan ang Bluetooth Terminal app at piliin ang ikonekta ang isang aparato at piliin ang HC-05 tulad ng ipinakita sa ibaba
Hakbang 4: - Pagkatapos kumonekta sa HC-05 Bluetooth Module, magbigay ng mga halaga sa terminal 1 o 0 upang I-ON at I-OFF ang LED. Makakatanggap ka rin ng isang mensahe na ang LED ay Bukas o Naka-off.