- Potrebni materiali
- Modul Bluetooth (HC-05)
- STM32 vrata USART
- Shema vezja in povezave
- Programiranje STM32F103C8
- Koraki za povezavo modula Bluetooth s telefonom Android
V današnjem svetu je Bluetooth postal zelo priljubljen in skoraj vse naprave, kot so mobilni telefon, prenosni računalnik in avtomobilski informacijsko-zabavni sistem, uporabljajo Bluetooth za brezžično komunikacijo. Bluetooth se ne uporablja samo za prenos podatkov, temveč tudi za brezžično upravljanje drugih naprav Bluetooth, na primer z uporabo slušalk Bluetooth lahko skladbo brezžično slišite iz mobilnega telefona ali z avdio sistemom za predvajanje skladb iz mobilnega telefona.
Bluetooth je brezžična tehnologija, ki deluje na frekvenci 2,4 GHz. Običajni signal Bluetooth je v območju 10 metrov. Bluetooth je najpogosteje uporabljena brezžična tehnologija pri vdelanih projektih, če je obseg komunikacije omejen. Bluetooth je dodal prednost nizki porabi energije in poceni obratovanju. Običajno se uporablja za povezovanje mikrokrmilnikov s pametnimi telefoni z uporabo aplikacij Bluetooth.
Opazili smo povezovanje modula Bluetooth z drugimi mikrokrmilniki, kot so Arduino, 8051, PIC itd. Zdaj bomo v tej vadnici povezali modul Bluetooth HC-05 s STM32F103C8 in vklopili / izklopili LED z mobilnim telefonom Android.
Potrebni materiali
- STM32F103C8
- Modul Bluetooth (HC-05)
- LED
- Android za mobilne naprave
- Breadboard
- Priključne žice
Programska oprema:
- Bluetooth Terminal (aplikacija za Android)
Modul Bluetooth (HC-05)
Modul Bluetooth se večinoma uporablja v vdelanih projektih. Gre za serijski modul Bluetooth, ki uporablja serijsko komunikacijo z dosegom manj kot 100 m in deluje pri 5 V (najmanj 3,3 V). Z njim lahko brezžično povežete dva mikrokrmilnika, pa tudi z mobilnim telefonom in prenosnimi računalniki. Ker je na voljo veliko aplikacij za Android, je zelo koristen za izdelavo brezžičnih projektov, ki jih nadzira Bluetooth.
Uporablja komunikacijo USART in jo je mogoče povezati z mikrokrmilniki s komunikacijskim protokolom USART.
Ima integrirano anteno. Ima glavne / podrejene konfiguracije, ki jih je mogoče spremeniti v ukaznem načinu AT, kar je koristno, če mora samo ena naprava poslati podatke (master to slave), na primer iz osebnega računalnika (MASTER) v slave (kateri koli MCU). Glavni poveznik se lahko poveže z drugimi napravami, pomožni pa se ne poveže z drugo povezavo, razen z glavno.
Načini delovanja
Ima dva načina AT Command Mode in Data Mode.
Ko se Bluetooth vklopi, preklopi v privzeti podatkovni način. Ta način lahko uporabite za prenos podatkov. Za vstop v način ukaza AT med vklopom moramo pritisniti gumb, ki je prisoten v modulu, da spremenimo privzete nastavitve modula, kot so glavne / pomožne konfiguracije.
Zatiči modula Bluetooth
- EN pin (ENABLE) - Ta pin se uporablja za nastavitev podatkovnega načina ali ukaznega načina AT. Privzeto je v DATA MODE. Ko pritisnete gumb med vklopom, gre v ukazni način AT.
- + 5V pin - Uporablja se za napajanje modula
- Zatič GND - Uporablja se za ozemljitev modula
- TX zatič - ta zatič je povezan z RX zatičem MCU
- RX pin - ta pin je povezan s TX pin MCU
- STANJE - Ta zatič označuje stanje modula, glejte spodaj o indikacijah
LED indikacija
- Ima LED (RDEČI) indikator, ki prikazuje stanje modula Bluetooth.
- Ko modul Bluetooth NI POVEZAN z nobeno napravo, se signal zmanjša in rdeča LED dioda neprekinjeno utripa, kar pomeni, da modul NI PAREN.
- Ko je modul Bluetooth PRIKLJUČEN na katero koli napravo, signal preide VISOKO in rdeča led dioda utripa z nekaj zamude, kar pomeni, da je modul PAIR.
Oglejte si naše druge projekte, če želite izvedeti več o modulu Bluetooth HC-05 z drugimi mikrokrmilniki:
- Toy Car z nadzorom Bluetooth z uporabo Arduina
- Sistem za avtomatizacijo doma pod nadzorom Bluetooth z uporabo 8051
- Glasovno nadzorovane luči z uporabo Raspberry Pi
- FM radio, ki ga nadzira pametni telefon s pomočjo Arduina in obdelave
- Robotski avto, ki ga upravlja mobilni telefon z uporabo G-senzorja in Arduina
- Povezava modula Bluetooth HC-06 z mikrokrmilnikom PIC
STM32 vrata USART
Serijska komunikacijska vrata USART STM32F103C8 (BLUE PILL) so prikazana na spodnji sliki. To so modre barve (PA9-TX1, PA10- RX1, PA2-TX2, PA3- RX2, PB10-TX3, PB11- RX3). Ima tri take komunikacijske kanale.
Shema vezja in povezave
Vezne vezi za povezovanje modula Bluetooth s STM32 so izvedene kot spodaj
Povezava med STM32F103C8 in modulom Bluetooth (HC-05)
- TX zatič (PA9) STM32F103C8 je povezan z RX zatičem modula Bluetooth.
- Zatič RX (PA10) STM32F103C8 je povezan s TX zatičem modula Bluetooth.
- VCC (+ 5V) zatič modula Bluetooth je povezan s 5V zatičem STM32F103C8.
- Zatič GND modula Bluetooth je povezan z zatičem GND STM32F103C8.
Druge povezave
- Zatič (PA0) STM32 (modra tabletka) je prek zaporednega upora povezan s pozitivnim zatičem LED. LED, ki se tukaj uporablja, je mešane barve.
- Drugi zatič led je povezan z GND STM32.
Programiranje STM32F103C8
Povezava Bluetooth s STM32 je enaka kot arduino, programiranje v STM32 pa enako kot Arduino IDE. Oglejte si to vadnico za programiranje STM32 z USB-jem z uporabo Arduino IDE.
Kot smo že povedali, bomo v tem projektu povezali (HC-05) modul Bluetooth s STM32F103C8 in za vklop in izklop lučke LED uporabili pametni telefon Android z aplikacijo Android Terminal Bluetooth.
Opomba: Med nalaganjem kode na STM32F103C8 je treba odstraniti zatič RX & TX.
Popolna koda za ta projekt je podana na koncu te vadnice s predstavitvenim videom.
Kodiranje za ta projekt je tako preprosto. Uporabite lahko iste kode Arduino, vendar je treba spremeniti samo pin. Ker imamo v STM32F103C8 tri nabore USART pin, zato moramo določiti pravi pin, s katerim smo povezali modul Bluetooth.
1. Najprej moramo zatiče poimenovati s pripadajočo številko zatiča z vrsto podatkov int, kot sledi
const int pinout = PA0;
2. Nato moramo imeti spremenljivko za shranjevanje serijskih podatkov iz mobilnega telefona android. Podatki so lahko znaki ali celo število, kot sledi
char inputdata = 0;
3. Naslednja void setup (), moramo začeti serijsko komunikacijo med STM32 Blue Pill in modulom Bluetooth, tako da damo hitrost prenosa 9600
Serial1.begin (9600);
Tu smo uporabili Serial1, ker smo HC-05 povezali s TX1 in RX1 STM32.
Lahko uporabimo tudi Serial2 ali Serial3, vendar mora biti zato priključen pin.
4. Uvodno sporočilo se kot serijski podatki pošlje serijskemu1 , to je modulu Bluetooth HC05. Ta modul nadalje pošilja podatke v aplikacijo Bluetooth Terminal za android mobile. Zato uporabljamo spodnje trditve
Serial1.print ("DIGEST CIRCUIT \ n"); Serial1.print ("BLUETOOTH S STM32 \ n");
5. Nato moramo za izhod nastaviti pinmode (PA0) , saj smo priklopili vodnik na ta pin.tako uporabljamo
pinMode (pinout, OUTPUT);
6. Nato v void zanki () zaženemo naslednje podatke za branje serijskih podatkov in ustrezno vklop / izklop LED
void loop () { If (Serial1.available ()> 0) { inputdata = Serial1.read (); if (inputdata == '1') { digitalWrite (pinout, HIGH); Serial1.print ("LED vklopljena \ n"); } sicer if (inputdata == '0') { digitalWrite (pinout, LOW); Serial1.print ("LED OFF \ n"); } } }
Tu uporabljamo stavek if, ker se ta koda izvrši samo, če imajo vrata Serial1 kakršne koli podatke, prejete od modula Bluetooth, zato se ta stavek uporablja Serial1.available ()> 0 . V nasprotnem primeru počaka, dokler ne začne serijske komunikacije. Zdaj shranjuje prejete podatke v spremenljivko inputdata = Serial1.read (). Nato preveri vrednost, poslano iz aplikacije terminala Bluetooth. Torej, če je vrednost 1, natisne LED VKLOP in naredi pin (PA0) VISOK z izjavo digitalWrite (pinout, HIGH), če je vrednost 0, natisne LED OFF in naredi (PA0) pin LOW.
Koraki za povezavo modula Bluetooth s telefonom Android
1. korak: - Po nalaganju kode v STM32 iz Arduino IDE in oddajanju moči vezju odprite Bluetooth iz mobilnega telefona. NE pozabite odstraniti zatiča RX in TX med PRENOSOM kode
2. korak: - V razpoložljivih napravah izberite HC-05 in vnesite geslo kot 1234
3. korak: - Po seznanitvi odprite aplikacijo Terminal Bluetooth, izberite povezavo naprave in izberite HC-05, kot je prikazano spodaj
4. korak: - Po povezavi z modulom HC-05 Bluetooth vnesite vrednosti v terminalu 1 ali 0, da vklopite in izklopite LED. Prejeli boste tudi sporočilo, da LED sveti ali ne.