- Potrebni materijali
- Bluetooth modul (HC-05)
- STM32 USART priključci
- Kružni dijagram i veze
- Programiranje STM32F103C8
- Koraci za povezivanje Bluetooth modula s Android telefonom
U današnjem svijetu Bluetooth je postao vrlo popularan i gotovo svi uređaji poput mobilnog telefona, prijenosnog računala i automobila infotainment sustav koristi Bluetooth za bežičnu komunikaciju. Bluetooth se ne koristi samo za prijenos podataka, već i za bežično upravljanje drugim Bluetooth uređajima, poput Bluetooth slušalica, pjesmu možete bežično čuti s mobilnog telefona ili koristiti audio sustav automobila za reprodukciju pjesama s mobitela.
Bluetooth je bežična tehnologija koja radi na frekvenciji od 2,4 GHz. Uobičajeni Bluetooth signal nalazi se u krugu od 10 metara. Bluetooth je najčešće korištena bežična tehnologija u ugrađenim projektima pod uvjetom da je opseg komunikacije ograničen. Bluetooth je dodao prednost maloj potrošnji energije i jeftinom radu. Obično se koristi za povezivanje mikrokontrolera sa pametnim telefonima pomoću Bluetooth aplikacija.
Vidjeli smo međusobno povezivanje Bluetooth modula s drugim mikrokontrolerima poput Arduina, 8051, PIC itd. Sada ćemo u ovom vodiču povezati Bluetooth modul HC-05 sa STM32F103C8 i UKLJUČITI / ISKLJUČITI LED pomoću Android mobitela.
Potrebni materijali
- STM32F103C8
- Bluetooth modul (HC-05)
- LED
- Android za mobilne uređaje
- Breadboard
- Spajanje žica
Softver:
- Bluetooth terminal (aplikacija za Android)
Bluetooth modul (HC-05)
Uglavnom se koristi Bluetooth modul u ugrađenim projektima. To je serijski Bluetooth modul koji koristi serijsku komunikaciju s dometom manjim od 100 m i radi na 5 V (3,3 V najmanje). Može se koristiti za bežično povezivanje dva mikrokontrolera, a također i za mobitel i prijenosna računala. Budući da postoji mnogo android aplikacija, vrlo je korisno za izradu bežičnih projekata kontroliranih Bluetoothom.
Koristi USART komunikaciju i može se povezati s mikrokontrolerima koji imaju USART komunikacijski protokol.
Ima integriranu antenu. Ima glavne / podređene konfiguracije koje se mogu mijenjati u AT naredbenom načinu, što je korisno kada samo jedan uređaj treba poslati podatke (master to slave), na primjer s računala (MASTER) na slave (bilo koji MCU). Master se može povezati s drugim uređajima, a slave se ne povezuje s drugom vezom osim s masterom.
Načini rada
Ima dva načina AT Command Mode i Data Mode.
Kad se Bluetooth uključi, on prelazi u podatkovni način rada. Ovaj se način može koristiti za prijenos podataka. Da bismo ušli u AT Command način tijekom uključivanja, moramo pritisnuti tipku prisutnu u modulu za promjenu zadanih postavki modula poput glavne / slave konfiguracije.
Pribadače Bluetooth modula
- EN pin (ENABLE) - Ovaj pin služi za postavljanje Data Data ili AT Command Mode. Po defaultu je u DATA MODE. Kada se pritisne tipka tijekom uključivanja, prelazi u AT naredbeni način.
- Pin od 5 V - koristi se za napajanje modula
- GND pin - služi za uzemljenje modula
- TX pin - Ovaj pin za spajanje na RX pin MCU-a
- RX pin - Ovaj pin priključen na TX pin MCU-a
- STANJE - Ovaj pin označava status modula, pogledajte dolje o indikacijama

LED indikacija
- Ima LED (CRVENI) indikator koji pruža stanje Bluetooth modula.
- Kada Bluetooth modul NIJE POVEZAN s bilo kojim uređajem, signal se smanjuje i crvena LED lampica neprekidno trepće što znači da modul NIJE UPARAN.
- Kada je Bluetooth modul PRIKLJUČEN na bilo koji uređaj, signal postaje VISOK i crvena LED lampica trepće s određenim kašnjenjem što znači da je modul UPAREN.
Pogledajte naše druge projekte kako biste saznali više o Bluetooth modulu HC-05 s drugim mikrokontrolerima:
- Automobil s igračkama kojim upravlja Bluetooth pomoću Arduina
- Bluetooth automatizirani sustav kućne automatizacije koji koristi 8051
- Svjetla kontrolirana glasom pomoću Raspberry Pi
- FM radio kontroliran pametnim telefonom pomoću Arduina i obrade
- Robotski automobil kojim upravlja mobitel pomoću G-senzora i Arduina
- Povezivanje Bluetooth modula HC-06 s PIC mikrokontrolerom
STM32 USART priključci
STM32F103C8 (PLAVI PIL) USART serijski komunikacijski priključci prikazani su na donjoj pin out slici. To su plave boje (PA9-TX1, PA10-RX1, PA2-TX2, PA3-RX2, PB10-TX3, PB11-RX3). Ima tri takva komunikacijska kanala.

Kružni dijagram i veze
Kružne veze za povezivanje Bluetooth modula sa STM32 izvedene su kao dolje

Veza između STM32F103C8 i Bluetooth modula (HC-05)
- TX pin (PA9) STM32F103C8 spojen je na RX pin Bluetooth modula.
- RX pin (PA10) STM32F103C8 spojen je na TX pin Bluetooth modula.
- VCC (+ 5V) pin Bluetooth modula spojen je na 5V pin STM32F103C8.
- GND pin modula Bluetooth spojen je na GND pin STM32F103C8.
Ostale veze
- Pin (PA0) STM32 (plava pilula) spojen je na pozitivni pin LED-a kroz serijski otpornik. LED koji se ovdje koristi je mješovite boje.
- Drugi je pin priključen na GND STM32.
Programiranje STM32F103C8
Povezivanje Bluetootha sa STM32 jednako je kao i arduino, a programiranje u STM32 isto kao i Arduino IDE. Pogledajte ovaj vodič za programiranje STM32 s USB-om pomoću Arduino IDE-a.
Kao što je već rečeno, u ovom ćemo projektu povezati (HC-05) Bluetooth modul sa STM32F103C8 i koristiti Android pametni telefon s android aplikacijom Bluetooth Terminal za uključivanje i isključivanje LED diode.
Napomena: Prilikom prijenosa koda na STM32F103C8 mora se ukloniti RX i TX pin.
Kompletni kôd za ovaj projekt dan je na kraju ovog vodiča s demonstracijskim videom.
Kodiranje za ovaj projekt je tako jednostavno. Mogu se koristiti isti Arduino kodovi, ali samo pin treba mijenjati. Budući da u STM32F103C8 imamo tri seta USART pin-a, stoga moramo navesti točan pin koji smo koristili za povezivanje Bluetooth modula.
1. Prvo moramo nazvati pinove s odgovarajućim brojevima pinova s tipom podataka int kako slijedi
const int pinout = PA0;
2. Dalje trebamo imati varijablu za pohranu serijskih podataka s android mobitela. Podaci mogu biti char ili cijeli broj kako slijedi
char inputdata = 0;
3. Sljedeće u void postavljanju (), moramo započeti serijsku komunikaciju između STM32 Blue Pill i Bluetooth modula davanjem brzine prijenosa od 9600
Serial1.begin (9600);
Ovdje smo koristili Serial1 jer smo HC-05 povezali na TX1 i RX1 STM32.
Također možemo koristiti Serial2 ili Serial3, ali u skladu s tim pin mora biti povezan.
4. Uvodna poruka šalje se kao serijski podatak serijskoj1 , odnosno Bluetooth modulu HC05. Ovaj modul dalje šalje podatke aplikaciji Bluetooth Terminal za android mobile. Dakle, koristimo dolje navedene izjave
Serial1.print ("DIGEST CIRCUIT \ n"); Serial1.print ("BLUETOOTH SA STM32 \ n");
5. Dalje trebamo postaviti pinmode (PA0) kao izlaz, jer smo spojili vod na ovaj pin.pa koristimo
pinMode (pinout, OUTPUT);
6. Dalje u void loop () pokrećemo sljedeće podatke da bismo pročitali serijske podatke i u skladu s tim uključili / isključili LED
void loop () { If (Serial1.available ()> 0) { inputdata = Serial1.read (); if (inputdata == '1') { digitalWrite (pinout, HIGH); Serial1.print ("LED ON \ n"); } inače if (inputdata == '0') { digitalWrite (pinout, LOW); Serial1.print ("LED isključena \ n"); } } }
Ovdje koristimo naredbu if jer se ovaj kôd izvršava samo kada port Serial1 ima podatke primljene od Bluetooth modula, zbog čega se ovaj izraz koristi Serial1.available ()> 0 . Inače, ako ne uđe, čeka dok ne započne serijsku komunikaciju. Sada sprema primljene podatke u varijablu inputdata = Serial1.read (). Zatim provjerava vrijednost poslanu iz aplikacije Bluetooth terminala. Dakle, ako je vrijednost 1, ispisuje LED UKLJUČENO i čini pin (PA0) VISOKIM pomoću izraza digitalWrite (pinout, HIGH), a ako je vrijednost 0, ispisuje LED ISKLJUČENO, a pin (PA0) ide NISKO.
Koraci za povezivanje Bluetooth modula s Android telefonom
Korak 1: - Otvorite Bluetooth s mobitela nakon što prenesete kôd u STM32 iz Arduino IDE-a i date snagu krugu. ZAPAMTITE uklanjanje RX i TX pina tijekom UČITANJA koda

Korak 2: - Na dostupnim uređajima odaberite HC-05 i unesite lozinku kao 1234

Korak 3: - Nakon uparivanja otvorite aplikaciju Bluetooth Terminal i odaberite povezivanje uređaja te odaberite HC-05 kao što je prikazano u nastavku

Korak 4: - Nakon povezivanja s HC-05 Bluetooth modulom, navedite vrijednosti na terminalu 1 ili 0 za uključivanje i isključivanje LED diode. Također ćete primiti poruku da je LED uključen ili isključen.

