Arduino Bluetooth HC-05

Ariecchice (dicono a Roma)…
Articolo veloce veloce, per vedere come collegare il modulo bluetooth HC-05 ad Arduino, ed in futuro collegare e scambiare dati con un altro dispositivo.
Articolo ispirato dal progettino di un collega.
- Materiale occorrente:
- Naturalmente un Arduino;
- E naturalmente un modulo HC-05
(anche HC-06 va bene); - Una resistenza da 220 ohm; (facoltativa)
- Un led; (facoltativo)
Collegamento
Il modulo HC-05, ha sei pin (KEY, RX, TX, VCC, GND, STATE):
- KEY: serve a settare il modulo per la comunicazione tramite comandi AT. Per il nostro esempio non ci servirà;
- RX e TX: i pin deputati allo scambio dei dati;
- Vcc e GND: pin di alimentazione del modulo HC-05, da 3,3 a 6 Volt;
- STATE: pin di output che passa dallo stato LOW allo stato HIGH quando il modulo è connesso. Ci attaccheremo un LED just for;
Qui di seguito lo schema dei collegamenti.
Il codice
Il codice è abbastanza semplice da capire. In sostanza, includiamo la libreria SoftwareSerial (dall’IDE di Arduino : Sketch->Inclusione Librerie->SoftwareSerial) utilizzata per creare una nuova porta di comunicazione seriale sul nostro Arduino. Di default la connessione seriale avviene tramite i pin 0 e 1, ed è sostanzialmente quella utilizzata dalla porta USB. Con la libreria SoftwareSerial, creiamo tramite software (da qui il nome) una nuova porta Seriale capace di trasmettere fino a 115200 bps. Il motivo di questa scelta, nasce dal fatto che vogliamo utilizzare la comunicazione seriale standard, come console lato pc per inviare e ricevere dati ad Arduino.
Come da schema dei collegamenti, ho voluto mettere sul pin STATE del modulo HC-05 un LED con in serie la sua resistenza da 220 ohm, per notificare visivamente lo stato “Connesso” del modulo. In realtà non servirebbe perchè l’HC-05 ha il suo LED onboard che lampeggia quando non connesso e diventa a luce fissa quando connesso. Ma io volevo testare il pin STATE e l’ho messo. Punto e basta! 🙂 .
Bando alle ciance eccoti il codice:
/* * Arduino Bluetooth HC-05 Base * Semplice programmino per vedere come Arduino scambia dati attraverso il modulo bluetooth HC-05 * * Autore : Andrea Lombardo * Web : http://www.lombardoandrea.com * Post : http://adf.ly/12267939/arduino-hc-05-base * Git : https://github.com/AndreaLombardo/Arduino-HC-05_Base */ //Includo libreria SoftwareSerial #include <SoftwareSerial.h> //definisco pin RX e TX da Arduino verso modulo BT #define BT_TX_PIN 12 #define BT_RX_PIN 11 //istanzio oggetto SoftwareSerial (il nostro futuro bluetooth) SoftwareSerial bt = SoftwareSerial(BT_RX_PIN, BT_TX_PIN); void setup() { //definisco modalità pin pinMode(BT_RX_PIN, INPUT); pinMode(BT_TX_PIN, OUTPUT); //inizializzo comunicazione Seriale Serial.begin(9600); //inizializzo comunicazione Bluetooth bt.begin(9600); } void loop() { //se ci sono dati sul buffer della Serial while (Serial.available() > 0) { //mandali al modulo bluetooth bt.print(Serial.read()); } //se ci sono dati sul buffer SoftwareSerial (il buffer del bluetooth) while (bt.available() > 0) { //mostrali nel Serial Monitor Serial.println(bt.read()); } }
Si ma… a chi lo colleghiamo sto bluetooth?
Come detto all’inizio dell’articolo, essendo ispirato al progettino di un collega, a darmi la dritta su come fare i test bluetooth è stato proprio lui. Esiste un App Android chiamata Bluetooth Electronics con un casino di funzionalità e tool a disposizione. Ambiente grafico molto carino e di facile utilizzo.
Se stai pensando di utilizzare questa App, continua a leggere, altrimenti vedi tu a chi vuoi collegarlo perché io non ne conosco altri 😉
Tornando a noi, dando per scontato il montaggio e l’upload del codice sul nostro Arduino, senza entrare nel dettaglio delle tante funzionalità messe a disposizione dall’app, una volta scaricata ed installata procedi come segue:
- Attiva il bluetooth sul tuo cellulare e, anche se l’app lo consentirebbe (ma ogni tanto si incacchia), connettiti al modulo;
- Se ti chiede un codice pin usa 1234;
- Una volta eseguito il pair dei dispositivi, avvia l’app Bluetooth Electronics;
- Seleziona un “Panel” vuoto e clicca su “Edit”;
- Aggiungi nell’area di lavoro un “Terminal” ed una casella di “Input”, semplicemente trascinandoli;
- Per questo esempio, non c’è bisogno di alcuna configurazione dei componenti aggiunti;
- Torna alla schermata dei “Panel” e usa il bottone “Connect” in alto a destra per visualizzare i dispositivi Bluetooth;
- Il modulo HC-05 dovrebbe comparire tra i dispositivi “Paired Devices”. Selezionalo e clicca su “Connect”;
- Torniamo nuovamente nella schermata dei “Panel” e selezionando quello da noi creato, usiamo il bottone “Run” per mandarlo in funzione;
- Dal nostro IDE Arduino, avviamo il Monitor Seriale, quindi scriviamo qualcosa e premiamo invio;
- Facciamo la stessa cosa dal terminale presente nell’app android…
Se tutto è andato a buon fine, dovremmo vedere sui rispettivi terminali dei numeri, rappresentanti la versione (DEC) decimale dei caratteri ASCII inviati.
A questo punto nulla può più fermarci ahahahahah… usando dei semplici Switch Case è possibile dire ad Arduino, se ti arriva questo, fai questo, se ti arriva quest’altro fai quest’altro. Smanettando sull’app Bluetooth Electronic avrai modo di notare quante cose carine è possibile fare.
Di seguito un paio di screenshot dell’app:




Detto questo, buon montaggio e buon esperimento!
- Come sempre
- Assicurati che tutti i collegamenti siano corretti;
- Ricordati di impostare la porta COM del tuo Arduino;
- Ricordati di impostare lo stesso baud rate del monitor seriale con quello specificato in Serial.begin()
- E ricorda che io non mi assumo nessuna responsabilità per eventuali danni o disastri che causi 😀
Puoi clonare il progetto da GitHub o scaricare il file zip!
Approfondimenti
Prodotti Amazon
Wireless Bluetooth RS232 modulo ricetrasmettitore HC-05 adatto per Arduino e altri microcontrollori
7,95 €AZDelivery HC-05 HC-06 Modulo Bluetooth Wireless Modulo ricetrasmettitore RF RS232 seriale compatibile con Arduino incluso E-Book!
10,99 €2pcs HC-05 Integrated Bluetooth Module Wireless Serial Port Module HC05 | 2 pz HC-05 Wireless Bluetooth Transceiver Seriale Modulo 6 Pin Master-Slave Bluetooth Extender Plate per Arduino e Genuine
16,40 €5pcs HC-05 Integrated Bluetooth Module Wireless Serial Port Module HC05 | 5 pz HC-05 Wireless Bluetooth Transceiver Seriale Modulo 6 Pin Master-Slave Bluetooth Extender Plate per Arduino e Genuine
28,56 €DSD TECH BT-05 Modulo seriale SPP Bluetooth 2.0 classico per Arduino e fai da te
9,99 €DollaTek Modulo ricetrasmettitore Bluetooth Slave Wireless e Master RS232 con Set di 6 Cavi per Arduino
10,99 €Module Bluetooth Wireless, Lot de 2, Emetteur Récepteur RF Compatible avec Arduino Base Esclave EU036
14,90 € (a partire da 26 Gennaio 2023 19:54 GMT +01:00 - Altre informazioniProduct prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on [relevant Amazon Site(s), as applicable] at the time of purchase will apply to the purchase of this product.)5pcs HC-06 Arduino HC06 Wireless Bluetooth Module with Slave Base
27,33 €2pcs HC-06 Modulo Inalambrico Arduino HC06 Bluetooth con base Slave para Arduino
16,40 €DSD TECH BT-06 Modulo wireless 4 PIN Bluetooth 2.0 SPP per Arduino
9,99 €- hc-05 arduino (49)
- arduino bluetooth (37)
- hc 05 arduino (27)
- arduino bluetooth hc-05 (25)
- hc05 arduino (22)
- arduino hc-05 (20)
- hc05 (19)
- hc-05 (17)
- hc 05 bluetooth arduino (15)
- hc 05 (13)
Commentati Recentemente