- Materials necessaris
- Mòdul Bluetooth (HC-05)
- Ports USART STM32
- Diagrama de circuits i connexions
- Programació STM32F103C8
- Passos per connectar el mòdul Bluetooth amb el telèfon Android
Al món actual, el Bluetooth ha esdevingut molt popular i gairebé tots els dispositius, com ara el telèfon mòbil, el portàtil i el sistema d’infotainment, utilitzen Bluetooth per a la comunicació sense fils. El Bluetooth no només s’utilitza per transferir dades, sinó també per controlar altres dispositius Bluetooth sense fils, com ara mitjançant auriculars Bluetooth, podeu escoltar la cançó sense fils des del telèfon mòbil o utilitzar el sistema d’àudio del cotxe per reproduir les cançons des del mòbil.
El Bluetooth és una tecnologia sense fils que funciona amb una freqüència de 2,4 GHz. El senyal normal de Bluetooth té un radi de 10 metres. El Bluetooth és la tecnologia sense fils més utilitzada en projectes incrustats sempre que el rang de comunicació sigui limitat. Bluetooth té un avantatge afegit pel seu baix consum d'energia i el seu baix cost de funcionament. Generalment s’utilitza per a la interfície de microcontroladors amb telèfons intel·ligents mitjançant aplicacions Bluetooth.
Hem vist interfície de el mòdul de Bluetooth amb altres microcontroladors com Arduino, 8051, PIC, etc. Ara bé, en aquest tutorial anem a connectar un mòdul Bluetooth HC-05 amb STM32F103C8 i de connexió / desconnexió mitjançant un LED mòbil Android.
Materials necessaris
- STM32F103C8
- Mòdul Bluetooth (HC-05)
- LED
- Android mòbil
- Taula de pa
- Connexió de cables
Programari:
- Terminal Bluetooth (aplicació Android)
Mòdul Bluetooth (HC-05)
S'utilitza principalment mòdul Bluetooth en projectes incrustats. És un mòdul Bluetooth en sèrie que utilitza comunicacions en sèrie amb un abast inferior a 100 m i que funciona a 5 V (mínim 3,3 V). Es pot utilitzar per connectar dos microcontroladors sense fils i també amb telèfons mòbils i portàtils. Com hi ha moltes aplicacions per a Android disponibles, és molt útil per fer projectes sense fils controlats per Bluetooth.
Utilitza la comunicació USART i es pot connectar amb microcontroladors amb protocol de comunicació USART.
Té una antena integrada. Té configuracions Màster / Esclau que es poden canviar en mode d’ordres AT que és útil quan només un dispositiu ha d’enviar les dades (mestre a esclau), com per exemple de PC (MASTER) a esclau (qualsevol MCU). Un mestre es pot connectar a altres dispositius i l’esclau no es connecta a cap altra connexió que no sigui la mestra.
Modes de funcionament
Té dos modes AT Mode Mode i Data Mode.
Quan el Bluetooth està engegat, entra en mode de dades per defecte. Aquest mode es pot utilitzar per a la transferència de dades. Per entrar al mode de comandament AT durant l’engegada, hem de prémer el botó present al mòdul per canviar la configuració predeterminada del mòdul, com ara les configuracions mestre / esclau.
Pins del mòdul Bluetooth
- PIN EN (ENABLE): aquest pin s'utilitza per configurar el mode de dades o el mode de comandament AT. Per defecte es troba en MODE DE DADES. Quan es prem el botó durant l’engegada, passa al mode d’ordres AT.
- + Pin de 5 V: s'utilitza per a l'alimentació del mòdul
- Pin GND: s'utilitza per a terra per al mòdul
- Pin TX: aquest pin connectat al pin RX de l'MCU
- Pin RX: aquest pin connectat al pin TX de MCU
- ESTAT: aquest pin indica l'estat del mòdul; vegeu a continuació les indicacions

Indicació LED
- Té un indicador LED (VERMELL) que proporciona l'estat del mòdul Bluetooth.
- Quan el mòdul Bluetooth NO està connectat a cap dispositiu, el senyal es baixa i el LED vermell parpelleja contínuament, cosa que indica que el mòdul NO està emparellat.
- Quan el mòdul Bluetooth està CONNECTAT a qualsevol dispositiu, el senyal es posa ALT i el LED vermell parpelleja amb un cert retard que indica que el mòdul està APARELLAT.
Consulteu els nostres altres projectes per obtenir més informació sobre el mòdul Bluetooth HC-05 amb altres microcontroladors:
- Cotxe de joguina controlat per Bluetooth mitjançant Arduino
- Sistema domòtic controlat per Bluetooth mitjançant 8051
- Llums controlades per veu mitjançant Raspberry Pi
- Ràdio FM controlada per telèfon intel·ligent mitjançant Arduino i Processament
- Cotxe robot controlat per telèfon mòbil amb G-Sensor i Arduino
- Interfície del mòdul Bluetooth HC-06 amb microcontrolador PIC
Ports USART STM32
Els ports de comunicació sèrie STM32F103C8 (BLUE PILL) de USART es mostren a la imatge de pin out següent. Són de color blau (PA9-TX1, PA10- RX1, PA2-TX2, PA3- RX2, PB10-TX3, PB11- RX3). Té tres canals de comunicació d’aquest tipus.

Diagrama de circuits i connexions
Les connexions de circuits per a la interfície del mòdul Bluetooth amb STM32 es fan com a continuació

Connexió entre STM32F103C8 i mòdul Bluetooth (HC-05)
- El pin TX (PA9) del STM32F103C8 està connectat al pin RX del mòdul Bluetooth.
- El pin RX (PA10) del STM32F103C8 està connectat al pin TX del mòdul Bluetooth.
- El pin VCC (+ 5V) del mòdul Bluetooth està connectat al pin de 5V de STM32F103C8.
- El pin GND del mòdul Bluetooth està connectat al pin GND de STM32F103C8.
Altres connexions
- El pin (PA0) de STM32 (Blue Pill) està connectat a un pin positiu de LED mitjançant una resistència de sèrie. El LED que s'utilitza aquí és de color mixt.
- El led un altre pin està connectat a GND de STM32.
Programació STM32F103C8
La interfície Bluetooth amb STM32 és la mateixa que arduino i la programació a STM32 és la mateixa que Arduino IDE. Consulteu aquest tutorial per programar STM32 amb USB mitjançant Arduino IDE.
Com ja s’ha dit, en aquest projecte, connectarem un mòdul Bluetooth (HC-05) amb STM32F103C8 i utilitzarem un telèfon intel·ligent Android amb l’aplicació Android Terminal Bluetooth per activar i apagar el LED.
Nota: El pin RX & TX s’ha d’eliminar mentre es penja el codi a STM32F103C8.
El codi complet d’aquest projecte es dóna al final d’aquest tutorial amb un vídeo de demostració.
La codificació d’aquest projecte és tan senzilla. Es poden utilitzar els mateixos codis Arduino però només s’ha de canviar el pin. Com que tenim tres conjunts de pins USART a STM32F103C8, hem d’especificar el pin correcte que hem utilitzat per connectar el mòdul Bluetooth.
1. Primer hem de nomenar els pins amb el seu número de pin respectiu amb el tipus de dades int de la manera següent
const int pinout = PA0;
2. A continuació, hem de tenir una variable per emmagatzemar dades de sèrie des del mòbil Android. Les dades poden ser un caràcter o un enter de la següent manera
char inputdata = 0;
3. A continuació, a la configuració nul·la (), hem d'iniciar la comunicació en sèrie entre STM32 Blue Pill i el mòdul Bluetooth donant una velocitat de transmissió de 9600
Serial1.begin (9600);
Hem utilitzat Serial1 aquí perquè hem connectat HC-05 a TX1 i RX1 de STM32.
També podem utilitzar Serial2 o Serial3 però, en conseqüència, cal connectar el pin.
4. S'envia un missatge d'introducció com a dades de sèrie al serial1, és a dir, al mòdul Bluetooth HC05. Aquest mòdul també envia dades a l'aplicació Bluetooth Terminal del mòbil Android. Per tant, fem servir afirmacions següents
Serial1.print ("CIRCUIT DIGEST \ n"); Serial1.print ("BLUETOOTH AMB STM32 \ n");
5. A continuació, hem d’establir el mode pin (PA0) com a sortida, ja que ens connectàvem a aquest pin
pinMode (pinout, OUTPUT);
6. A continuació, al bucle buit (), executem les dades següents per llegir les dades de sèrie i encendre / apagar el LED en conseqüència
bucle buit () { If (Serial1.available ()> 0) { inputdata = Serial1.read (); if (inputdata == '1') { digitalWrite (pinout, HIGH); Serial1.print ("LED encès \ n"); } else if (inputdata == '0') { digitalWrite (pinout, BAIX); Serial1.print ("LED apagat \ n"); } } }
Aquí fem servir la sentència if perquè aquest codi només s’executa quan el port Serial1 té dades rebudes del mòdul Bluetooth que expliquen per què s’utilitza aquesta sentència Serial1.available ()> 0 . En cas contrari, si no hi entra, espera fins que comença la comunicació en sèrie. Ara emmagatzema les dades rebudes en una variable inputdata = Serial1.read (). A continuació, comprova el valor enviat des de l’aplicació del terminal Bluetooth. Per tant, si el valor és 1, s’imprimeix el LED activat i fa que el pin (PA0) passi ALT per sentència digitalWrite (pinout, HIGH) i, si el valor és 0, s’imprimeix el LED apagat i fa que el pin (PA0) sigui BAIX.
Passos per connectar el mòdul Bluetooth amb el telèfon Android
Pas 1: - Obriu el Bluetooth des del mòbil després de carregar el codi a STM32 des de Arduino IDE i donar energia al circuit. RECORDEU per eliminar el pin RX i TX mentre CARREGUEU el codi

Pas 2: - En els dispositius disponibles, seleccioneu HC-05 i introduïu la contrasenya com a 1234

Pas 3: - Després de l’aparellament, obriu l’aplicació Bluetooth Terminal i seleccioneu connectar un dispositiu i seleccioneu HC-05 com es mostra a continuació

Pas 4: - Després de connectar-vos amb el mòdul Bluetooth HC-05, proporcioneu valors al terminal 1 o 0 per encendre i apagar el LED. També rebrà un missatge que indica que el LED està encès o apagat.

