- Nepieciešamie materiāli
- Bluetooth modulis (HC-05)
- STM32 USART ostas
- Shēmas shēma un savienojumi
- Programmēšana STM32F103C8
- Darbības, kā savienot Bluetooth moduli ar Android tālruni
Mūsdienu pasaulē Bluetooth ir kļuvis ļoti populārs, un gandrīz visas ierīces, piemēram, mobilais tālrunis, klēpjdators un automašīnu informācijas un izklaides sistēma, bezvadu sakariem izmanto Bluetooth. Bluetooth tiek izmantots ne tikai datu pārsūtīšanai, bet arī citu Bluetooth ierīču bezvadu vadīšanai, piemēram, izmantojot Bluetooth austiņas, dziesmu varat dzirdēt bezvadu režīmā no sava mobilā tālruņa vai varat izmantot automašīnas audio sistēmu, lai atskaņotu dziesmas no sava mobilā tālruņa.
Bluetooth ir bezvadu tehnoloģija, kas darbojas 2,4 GHz frekvencē. Normāls Bluetooth signāls ir 10 metru rādiusā. Iegultos projektos visbiežāk izmanto bezvadu tehnoloģiju Bluetooth ar nosacījumu, ka sakaru diapazons ir ierobežots. Bluetooth ir pievienojis priekšrocības, ko sniedz zems enerģijas patēriņš un zemu izmaksu darbība. To parasti izmanto mikrokontrolleru saskarnei ar viedtālruņiem, izmantojot Bluetooth lietojumprogrammas.
Mēs esam redzējuši Bluetooth moduļa saskarni ar citiem mikrokontrolleriem, piemēram, Arduino, 8051, PIC uc. Tagad šajā apmācībā mēs saskarsimies ar HC-05 Bluetooth moduli ar STM32F103C8 un ieslēdzam / izslēdzam LED, izmantojot Android mobilo.
Nepieciešamie materiāli
- STM32F103C8
- Bluetooth modulis (HC-05)
- LED
- Android mobilais
- Maizes dēlis
- Savienojošie vadi
Programmatūra:
- Bluetooth termināls (Android lietojumprogramma)
Bluetooth modulis (HC-05)
Tas galvenokārt tiek izmantots Bluetooth modulis iegultos projektos. Tas ir sērijveida Bluetooth modulis, kas izmanto seriālo sakaru diapazonu, kas ir mazāks par 100 m, un darbojas ar 5 V (vismaz 3,3 V). To var izmantot, lai bez vadiem savienotu divus mikrokontrollerus, kā arī ar mobilo tālruni un klēpjdatoriem. Tā kā ir pieejamas daudzas android lietojumprogrammas, tas ir ļoti noderīgi, lai izveidotu bezvadu Bluetooth kontrolētus projektus.
Tas izmanto USART sakarus un to var sasaistīt ar mikrokontrolleriem, kuriem ir USART sakaru protokols.
Tam ir integrēta antena. Tam ir Master / Slave konfigurācijas, kuras var mainīt AT komandu režīmā, un tas ir noderīgi, ja tikai viena ierīce nosūta datus (master no slave), piemēram, no datora (MASTER) uz slave (jebkuru MCU). Kapteinis var izveidot savienojumu ar citām ierīcēm, un vergs nepieslēdzas citam savienojumam, izņemot galveno.
Darbības režīmi
Tam ir divi režīmi AT komandu režīms un datu režīms.
Kad Bluetooth ir ieslēgts, tas tiek ievadīts pēc noklusējuma datu režīmā. Šo režīmu var izmantot datu pārsūtīšanai. Lai ieslēgtu AT komandu režīmu ieslēgšanās laikā, mums jānospiež modulī esošā poga, lai mainītu moduļa noklusējuma iestatījumus, piemēram, galvenās / vergu konfigurācijas.
Bluetooth moduļa tapas
- EN pin (ENABLE) - šo tapu izmanto, lai iestatītu datu režīmu vai AT komandu režīmu. Pēc noklusējuma tas ir DATU REŽĪMS. Kad ieslēgšanas laikā tiek nospiesta poga, tā pāriet AT komandu režīmā.
- + 5 V tapa - to izmanto moduļa barošanai
- GND tapa - to izmanto moduļa iezemēšanai
- TX tapa - šī tapa ir savienota ar MCU RX tapu
- RX tapa - šī tapa ir savienota ar MCU TX tapu
- STĀVOKLIS - šī tapa norāda moduļa statusu, skatiet tālāk par norādēm
LED indikācija
- Tam ir LED (RED) indikators, kas nodrošina Bluetooth moduļa stāvokli.
- Ja Bluetooth modulis NAV PIEVIENOTS nevienai ierīcei, signāls pazeminās un sarkanā gaismas diode nepārtraukti mirgo, kas norāda, ka modulis NAV PĀRĒJS.
- Kad Bluetooth modulis ir PIEVIENOTS jebkurai ierīcei, signāls iet AUGSTI un sarkanā gaismas diode mirgo ar nelielu kavēšanos, kas norāda, ka modulis ir sapārots.
Pārbaudiet mūsu citus projektus, lai uzzinātu vairāk par Bluetooth moduli HC-05 ar citiem mikrokontrolleriem:
- Bluetooth kontrolēta rotaļlietu automašīna, izmantojot Arduino
- Bluetooth kontrolēta mājas automatizācijas sistēma, izmantojot 8051
- Balss vadāmas gaismas, izmantojot Raspberry Pi
- Viedtālrunis kontrolē FM radio, izmantojot Arduino un apstrādi
- Ar mobilo tālruni vadāma robotu automašīna, izmantojot G-Sensor un Arduino
- Saskarnes Bluetooth modulis HC-06 ar PIC mikrokontrolleru
STM32 USART ostas
STM32F103C8 (BLUE PILL) USART sērijas sakaru porti ir parādīti zemāk esošajā piespraudes attēlā. Tie ir zilā krāsā (PA9-TX1, PA10-RX1, PA2-TX2, PA3-RX2, PB10-TX3, PB11-RX3). Tam ir trīs šādi saziņas kanāli.
Shēmas shēma un savienojumi
Ķēdes savienojumi Bluetooth moduļa saskarnei ar STM32 tiek veikti tāpat kā zemāk
Savienojums starp STM32F103C8 un Bluetooth moduli (HC-05)
- STM32F103C8 TX tapa (PA9) ir savienota ar Bluetooth moduļa RX tapu.
- STM32F103C8 RX tapa (PA10) ir savienota ar Bluetooth moduļa TX tapu.
- Bluetooth moduļa VCC (+ 5V) tapa ir savienota ar STM32F103C8 5V kontaktu.
- Bluetooth moduļa GND tapa ir savienota ar STM32F103C8 GND tapu.
Citi savienojumi
- STM32 (Blue Pill) tapa (PA0) ir savienota ar LED pozitīvo tapu, izmantojot virknes rezistoru. Gaismas diode tiek izmantota šeit ir jaukta krāsa.
- Vadītā cita tapa ir savienota ar STM32 GND.
Programmēšana STM32F103C8
Bluetooth saskarne ar STM32 ir tāda pati kā arduino, un programmēšana STM32 ir tāda pati kā Arduino IDE. Skatiet šo apmācību, kā programmēt STM32 ar USB, izmantojot Arduino IDE.
Kā jau teicām, šajā projektā mēs saskarnēsim (HC-05) Bluetooth moduli ar STM32F103C8 un izmantosim Android viedtālruni ar Bluetooth Terminal android lietojumprogrammu, lai ieslēgtu un izslēgtu LED.
Piezīme. Augšupielādējot kodu STM32F103C8, RX & TX tapa ir jānoņem.
Pilns šī projekta kods ir norādīts šīs apmācības beigās ar demonstrācijas video.
Šī projekta kodēšana ir tik vienkārša. Var izmantot tos pašus Arduino kodus, bet jāmaina tikai tapa. Tā kā STM32F103C8 mums ir trīs USART tapu komplekti, tāpēc mums jānorāda pareizā tapa, kuru izmantojām, lai savienotu Bluetooth moduli.
1. Vispirms mums jānosauc tapas ar to atbilstošo tapas numuru ar int datu tipu šādi
const int pinout = PA0;
2. Tālāk mums ir nepieciešams mainīgais, lai uzglabātu sērijveida datus no android mobile. Dati var būt char vai vesels skaitlis šādi
char ievades dati = 0;
3. Pēc tam, kad iestatījums ir tukšs (), mums jāsāk sērijveida saziņa starp STM32 Blue Pill un Bluetooth moduli, piešķirot baudas ātrumu 9600
Serial1.begin (9600);
Mēs šeit izmantojām Serial1, jo mēs savienojām HC-05 ar STM32 TX1 un RX1.
Mēs varam izmantot arī Serial2 vai Serial3, bet attiecīgi tapai jābūt savienotai.
4. Intro ziņojums tiek nosūtīts kā sērijas dati uz serial1, tas ir, uz Bluetooth moduli HC05. Šis modulis tālāk nosūta datus uz Android Terminal lietotni Android mobilajām ierīcēm. Tāpēc mēs izmantojam zemāk minētos apgalvojumus
Serial1.print ("CIRCUIT DIGEST \ n"); Serial1.print ("BLUETOOTH AR STM32 \ n");
5. Tālāk mums jāiestata pinmode (PA0) kā izvadi, kad mēs izveidojām savienojumu ar šo tapu. Tāpēc mēs izmantojam
pinMode (pinout, OUTPUT);
6. Tālāk void loop () mēs palaižam sekojošus datus, lai nolasītu sērijas datus un attiecīgi ieslēgtu / izslēgtu LED
void loop () { If (Seriālais1.pieejamais ()> 0) { ievades dati = Seriālais1.lasījums (); if (inputdata == '1') { digitalWrite (pinout, HIGH); Serial1.print ("LED ieslēgts \ n"); } else if (inputdata == '0') { digitalWrite (pinout, LOW); Serial1.print ("LED izslēgts \ n"); } } }
Šeit mēs izmantojam if paziņojumu, jo šis kods tiek izpildīts tikai tad, ja Serial1 portā ir saņemti dati no Bluetooth moduļa, kāpēc šis paziņojums tiek izmantots Serial1.available ()> 0 . Pretējā gadījumā, ja tas neiekļūs, tas gaida, līdz sāk sērijveida saziņu. Tagad tas uzglabā saņemtos datus mainīgajā inputdata = Serial1.read (). Tad tas pārbauda vērtību, kas nosūtīta no Bluetooth termināļa lietotnes. Tātad, ja vērtība ir 1, tā izdrukā LED ON un liek tapai (PA0) AUGSTI virzīties ar paziņojumu digitalWrite (pinout, HIGH), un, ja vērtība ir 0, tā izdrukā LED OFF un liek (PA0) tapai LOW.
Darbības, kā savienot Bluetooth moduli ar Android tālruni
1. solis: - atveriet Bluetooth no mobilā tālruņa pēc koda augšupielādes STM32 no Arduino IDE un strāvas padeves ķēdei. ATcerieties, ka, augšupielādējot kodu, noņemiet RX un TX tapu
2. solis: - Pieejamās ierīcēs atlasiet HC-05 un ievadiet paroli kā 1234
3. solis: - Pēc savienošanas pārī atveriet lietotni Bluetooth Terminal un izvēlieties savienot ierīci un atlasiet HC-05, kā parādīts zemāk
4. solis: - Pēc savienojuma izveidošanas ar HC-05 Bluetooth moduli norādiet vērtības 1. vai 0. terminālī, lai ieslēgtu un izslēgtu LED. Jūs saņemsit arī ziņojumu, ka gaismas diode ir ieslēgta vai izslēgta.