- Materiali richiesti
- Modulo Bluetooth (HC-05)
- Porte USART STM32
- Schema elettrico e collegamenti
- Programmazione STM32F103C8
- Passaggi per il collegamento del modulo Bluetooth con il telefono Android
Nel mondo di oggi il Bluetooth è diventato molto popolare e quasi tutti i dispositivi come telefoni cellulari, laptop e sistemi di infotainment per auto utilizzano il Bluetooth per la comunicazione wireless. Il Bluetooth non viene utilizzato solo per trasferire i dati, ma anche per controllare altri dispositivi Bluetooth in modalità wireless, ad esempio utilizzando l'auricolare Bluetooth è possibile ascoltare la canzone in modalità wireless dal telefono cellulare o utilizzare il sistema audio dell'auto per riprodurre i brani dal cellulare.
Il Bluetooth è una tecnologia wireless che funziona sulla frequenza di 2,4 GHz. Il normale segnale Bluetooth è nel raggio di 10 metri. Il Bluetooth è la tecnologia wireless più comunemente utilizzata nei progetti integrati, a condizione che il raggio di comunicazione sia limitato. Il Bluetooth ha aggiunto il vantaggio del suo basso consumo energetico e del funzionamento a basso costo. Viene generalmente utilizzato per interfacciare i microcontrollori con gli smartphone utilizzando applicazioni Bluetooth.
Abbiamo visto l'interfacciamento del modulo Bluetooth con altri microcontrollori come Arduino, 8051, PIC ecc. Ora in questo tutorial interfacciamo un modulo Bluetooth HC-05 con STM32F103C8 e accendiamo / spegneremo un LED utilizzando Android mobile.
Materiali richiesti
- STM32F103C8
- Modulo Bluetooth (HC-05)
- GUIDATO
- Android Mobile
- Breadboard
- Cavi di collegamento
Software:
- Terminale Bluetooth (applicazione Android)
Modulo Bluetooth (HC-05)
Viene utilizzato principalmente il modulo Bluetooth nei progetti incorporati. È un modulo Bluetooth seriale che utilizza la comunicazione seriale con portata inferiore a 100 me funziona a 5 V (minimo 3,3 V). Può essere utilizzato per collegare due microcontrollori in modalità wireless e anche con telefoni cellulari e laptop. Poiché sono disponibili molte applicazioni Android, è molto utile per realizzare progetti controllati tramite Bluetooth senza fili.
Utilizza la comunicazione USART e può essere interfacciato con microcontrollori con protocollo di comunicazione USART.
Ha un'antenna integrata. Ha configurazioni Master / Slave che possono essere modificate in modalità di comando AT che è utile quando un solo dispositivo deve inviare i dati (master to slave) come ad esempio da PC (MASTER) a slave (qualsiasi MCU). Un master può connettersi ad altri dispositivi e lo slave non si connette ad altre connessioni diverse dal master.
Modalità di funzionamento
Ha due modalità AT Command Mode e Data Mode.
Quando il Bluetooth è acceso, entra in modalità dati predefinita. Questa modalità può essere utilizzata per i trasferimenti di dati. Per entrare in modalità AT Command durante l'accensione è necessario premere il pulsante presente nel modulo per modificare le impostazioni di default del modulo come le configurazioni master / slave.
Pin del modulo Bluetooth
- Pin EN (ENABLE) -Questo pin viene utilizzato per impostare la modalità dati o la modalità comando AT. Per impostazione predefinita è in MODALITÀ DATI. Quando il pulsante viene premuto durante l'accensione, passa alla modalità di comando AT.
- Pin + 5V: viene utilizzato per l'alimentazione del modulo
- Pin GND - Questo è utilizzato per la messa a terra del modulo
- Pin TX - Questo pin deve essere collegato al pin RX dell'MCU
- Pin RX - Questo pin è collegato al pin TX dell'MCU
- STATO - Questo pin indica lo stato del modulo, vedere sotto per le indicazioni
Indicazione LED
- Ha un indicatore LED (ROSSO) che fornisce lo stato del modulo Bluetooth.
- Quando il modulo Bluetooth NON è COLLEGATO a nessun dispositivo il segnale diventa basso e il led rosso lampeggia continuamente indicando che il modulo NON è ACCOPPIATO.
- Quando il modulo Bluetooth è CONNESSO a qualsiasi dispositivo, il segnale diventa ALTO e il led rosso lampeggia con un certo ritardo che indica che il modulo è ACCOPPIATO.
Controlla i nostri altri progetti per saperne di più sul modulo Bluetooth HC-05 con altri microcontrollori:
- Macchinina controllata tramite Bluetooth con Arduino
- Sistema di automazione domestica controllato tramite Bluetooth utilizzando 8051
- Luci a controllo vocale utilizzando Raspberry Pi
- Radio FM controllata da smartphone utilizzando Arduino ed elaborazione
- Auto robot controllata da telefono cellulare utilizzando G-Sensor e Arduino
- Interfacciamento del modulo Bluetooth HC-06 con microcontrollore PIC
Porte USART STM32
Le porte di comunicazione seriale USART STM32F103C8 (PILLOLA BLU) sono mostrate nell'immagine dei pin di seguito. Questi sono di colore blu con (PA9-TX1, PA10- RX1, PA2-TX2, PA3- RX2, PB10-TX3, PB11- RX3). Dispone di tre di questi canali di comunicazione.
Schema elettrico e collegamenti
I collegamenti del circuito per l' interfacciamento del modulo Bluetooth con STM32 sono realizzati come di seguito
Connessione tra STM32F103C8 e modulo Bluetooth (HC-05)
- Il pin TX (PA9) dell'STM32F103C8 è collegato al pin RX del modulo Bluetooth.
- Il pin RX (PA10) dell'STM32F103C8 è collegato al pin TX del modulo Bluetooth.
- Il pin VCC (+ 5V) del modulo Bluetooth è collegato al pin 5V di STM32F103C8.
- Il pin GND del modulo Bluetooth è collegato al pin GND di STM32F103C8.
Altre connessioni
- Il pin (PA0) di STM32 (Blue Pill) è collegato al pin positivo del LED tramite una resistenza in serie. Il LED è utilizzato qui è di colore misto.
- Il led un altro pin è collegato a GND di STM32.
Programmazione STM32F103C8
L'interfacciamento del Bluetooth con STM32 è la stessa di arduino e la programmazione in STM32 è la stessa di Arduino IDE. Guarda questo tutorial per programmare STM32 con USB utilizzando l'IDE di Arduino.
Come già detto, in questo progetto, interfacciamo un modulo Bluetooth (HC-05) con STM32F103C8 e utilizzeremo uno Smart Phone Android con applicazione Android Terminal Bluetooth per accendere e spegnere il LED.
Nota: il pin RX e TX deve essere rimosso durante il caricamento del codice su STM32F103C8.
Il codice completo per questo progetto viene fornito alla fine di questo tutorial con un video dimostrativo.
La codifica per questo progetto è così semplice. È possibile utilizzare gli stessi codici Arduino ma è necessario modificare solo il pin. Poiché abbiamo tre set di pin USART in STM32F103C8, dobbiamo specificare il pin corretto che abbiamo usato per collegare il modulo Bluetooth.
1. Per prima cosa dobbiamo nominare i pin con il rispettivo numero di pin con il tipo di dati int come segue
const int pinout = PA0;
2. Successivamente abbiamo bisogno di una variabile per memorizzare i dati seriali dal cellulare Android. I dati possono essere un carattere o un numero intero come segue
char inputdata = 0;
3. Successivamente in void setup (), dobbiamo avviare la comunicazione seriale tra STM32 Blue Pill e il modulo Bluetooth fornendo una velocità di trasmissione di 9600
Serial1.begin (9600);
Abbiamo usato Serial1 qui perché abbiamo collegato HC-05 a TX1 e RX1 di STM32.
Possiamo anche usare Serial2 o Serial3 ma di conseguenza il pin deve essere collegato.
4. Un messaggio di introduzione viene inviato come dati seriali alla seriale1, cioè al modulo Bluetooth HC05. Questo modulo invia inoltre i dati all'app terminale Bluetooth del cellulare Android. Quindi usiamo le seguenti dichiarazioni
Serial1.print ("CIRCUIT DIGEST \ n"); Serial1.print ("BLUETOOTH CON STM32 \ n");
5. Successivamente dobbiamo impostare il pinmode (PA0) come output, poiché abbiamo collegato il led a questo pin. Quindi usiamo
pinMode (pinout, OUTPUT);
6. Successivamente nel loop void (), eseguiamo i seguenti dati per leggere i dati seriali e accendere / spegnere il LED di conseguenza
void loop () { If (Serial1.available ()> 0) { inputdata = Serial1.read (); if (inputdata == '1') { digitalWrite (pinout, HIGH); Serial1.print ("LED ON \ n"); } else if (inputdata == '0') { digitalWrite (pinout, LOW); Serial1.print ("LED OFF \ n"); } } }
Qui usiamo l' istruzione if perché questo codice viene eseguito solo quando la porta Serial1 ha dei dati ricevuti dal modulo Bluetooth, motivo per cui viene utilizzata questa istruzione Serial1.available ()> 0 . Altrimenti, se non entra, attende fino a quando non inizia la comunicazione seriale. Ora memorizza i dati ricevuti in una variabile inputdata = Serial1.read (). Quindi controlla il valore inviato dall'app del terminale Bluetooth. Quindi, se il valore è 1, stampa il LED ACCESO e rende il pin (PA0) ALTO con l'istruzione digitalWrite (pinout, ALTO) e se il valore è 0, stampa il LED SPENTO e fa andare il pin (PA0) BASSO.
Passaggi per il collegamento del modulo Bluetooth con il telefono Android
Passaggio 1: - Apri il Bluetooth dal cellulare dopo aver caricato il codice in STM32 dall'IDE di Arduino e aver alimentato il circuito. RICORDA di rimuovere i pin RX e TX durante il CARICAMENTO del codice
Passaggio 2: - Nei dispositivi disponibili selezionare HC-05 e inserire la password come 1234
Passaggio 3: - Dopo l'associazione, aprire l'app Bluetooth Terminal e selezionare Connetti un dispositivo e selezionare HC-05 come mostrato di seguito
Passaggio 4: - Dopo il collegamento con il modulo Bluetooth HC-05, fornire i valori nel terminale 1 o 0 per accendere e spegnere il LED. Riceverai anche un messaggio che il LED è acceso o spento.