Home - Blog

Interfacciamento Bluetooth: Come interfacciarsi con i moduli Bluetooth

Interfacciamento Bluetooth-Quando la maggior parte delle persone inizia a lavorare con i microcontrollori Arduino, non è a conoscenza di tutti i moduli di espansione e gli shield disponibili. Arduino Uno è uno dei microcontrollori più diffusi a livello globale, ma non è dotato di connettività Bluetooth. 

Certo, è possibile acquistare una scheda con Bluetooth integrato, come Arduino BT o Raspberry Pi 4, che dispone di funzionalità Bluetooth integrate. Tuttavia, queste schede sono più costose, più ingombranti e forse meno divertenti da usare per i vostri progetti. Cosa fare quindi quando si vuole aggiungere la connettività Bluetooth a un microcontrollore che ne è sprovvisto? 

La scelta migliore è quella di interfacciarlo con un modulo Bluetooth.  Di conseguenza, questa guida vi mostrerà come interfacciare il vostro microcontrollore con un modulo Bluetooth. Questo vi permetterà di collegare in modalità wireless il vostro microcontrollore a dispositivi abilitati alla tecnologia Bluetooth, come smartphone e computer.

Cos’è l’interfacciamento Bluetooth

Interfacciamento Bluetooth 1

Sensore Bluetooth, breadboard e Arduino Uno

Oggi il Bluetooth è uno degli standard di connessione wireless più diffusi al mondo. Lo utilizziamo per trasferire e scambiare dati tra dispositivi. L’interfacciamento Bluetooth descrive l’utilizzo o l’abilitazione di un dispositivo Bluetooth. Mentre usiamo standard come il Wi-Fi per le connessioni a lungo raggio, usiamo il Bluetooth per le connessioni a breve distanza e il trasferimento di dati. Tuttavia, l’ultimo standard Bluetooth (5.2) può raggiungere distanze fino a 400 m con una velocità di trasferimento dati di 2 Mbps.

Le versioni future potranno raggiungere distanze maggiori con soglie e velocità di trasmissione più elevate. Tuttavia, ogni volta che si utilizza il telefono cellulare per trasferire dati o connettersi a un altro dispositivo, si tratta essenzialmente di un’interfaccia Bluetooth. Anche in questo caso, molti microcontrollori non sono dotati di funzionalità Bluetooth integrate. Pertanto, se si desidera ottenere l’interfacciamento Bluetooth con essi, è necessario estenderli o aggiungere un’altra scheda.

Di seguito vi mostreremo come aggiungere l’interfacciamento Bluetooth a un microcontrollore utilizzando un modulo Bluetooth. 

Moduli Bluetooth e funzionamento

Interfacciamento Bluetooth 2

moduli Bluetooth

I moduli Bluetooth consentono di interfacciare i microcontrollori e i computer a scheda singola con dispositivi esterni. Possiamo anche chiamarli sensori Bluetooth. Tuttavia, questi dispositivi sono necessari solo se la scheda non dispone di funzionalità Bluetooth integrate. I moduli Bluetooth più comuni sono l’HC-05 e l’HC-06. 

Quando si acquista un modulo Bluetooth, lo si trova come un rettangolo verde su un pezzo quadrato di scheda breakout blu. La scheda breakout fornisce al modulo Bluetooth dei pin che consentono di collegarlo facilmente a una breadboard. 

Per applicazioni semplici, l’HC-05 e l’HC-06 funzionano in modo identico in modalità slave. Tuttavia, si consiglia di utilizzare l’HC-05 perché consente di passare dalla modalità slave a quella master. Al contrario, l’HC-06 può funzionare solo come dispositivo slave. Pertanto, se si desidera collegare due progetti Arduino, è necessario un modulo Bluetooth HC-05 in modo che possa avviare una connessione Bluetooth e configurarla.

Interfacciamento Bluetooth-La struttura di un modulo Bluetooth

Se si osserva il retro del modulo Bluetooth, si trovano le etichette per la piedinatura. Nella maggior parte dei casi, tutto ciò di cui dovrete preoccuparvi è la piedinatura dell’alimentazione. Principalmente VCC e terra (GND). Tuttavia, oltre a questi pin, sono presenti anche i pin dei dati: RXD e TXD.

RXD riceve i dati, mentre TXD li invia. Se si utilizza l’HC-05, si noteranno due pin che l’HC-06 non ha. Questi pin sono denominati pin di abilitazione (EN) e pin di uscita di stato (STATE). Si può anche sentire parlare del pin di abilitazione come del pin chiave. 

Quando si lavora con i moduli Bluetooth, è necessario prestare molta attenzione alla tensione di alimentazione. Qualsiasi valore compreso tra 3,6 e 6 volt è sicuro. I pin di dati richiedono segnali digitali a 3,3 volt. 

Come interfacciare il modulo Bluetooth con il progetto Arduino e il telefono

Interfacciamento Bluetooth 3

Sensor Bluetooth

Per mostrarvi come funziona l’interfacciamento Bluetooth, abbiamo incluso un’esercitazione di base su come collegare il vostro progetto Arduino al telefono cellulare utilizzando un modulo Bluetooth. 

Componenti necessary

Modulo Bluetooth HC-05 o modulo Bluetooth HC-06

Lavagna a pane

Arduino Uno 

Resistenza da 2,2kΩ

Resistenza da 5,7KΩ

Fili solid core

Software Arduino IDE

Interfacciamento Bluetooth-Istruzioni per l’uso

Interfacciamento Bluetooth-Impostazione dell’hardware

Collegare i fili dai pin 5V e GND di Arduino Uno, adattarli ai binari di alimentazione sulla breadboard e quindi alimentarli al modulo Bluetooth, collegandoli ai pin VCC e GND.

Collegare il pin di trasmissione di Arduino Uno alla breadboard e utilizzare le resistenze per creare un partitore di tensione in serie con GRAND. La parte centrale deve essere interrotta e collegata al pin RXC. Questo perché il modulo Bluetooth richiede un livello di tensione di trasmissione inferiore. 

Alimentare il pin TXD dell’HC-05 facendo passare un filo attraverso la breadboard dal pin di ricezione di Arduino Uno.

Se si seguono correttamente le fasi di cablaggio sopra descritte, il progetto dovrebbe avere un aspetto simile a questo: 

Interfacciamento Bluetooth 4

Arduino Uno collegato al modulo HC-05

Fonte: Wikimedia Commons

Interfacciamento Bluetooth-Impostazione del software

Affinché il nostro progetto funzioni correttamente, dobbiamo scrivere un codice che ci permetta di ascoltare e ricevere dati da una sorgente Bluetooth. Il risultato verrà poi stampato sul computer tramite la porta seriale.

In sostanza, useremo questo progetto come ricevitore Bluetooth per il computer. Dobbiamo quindi scrivere uno sketch per il terminale Bluetooth. 

Schizzo del terminale Bluetooth 1

Passo 1

Dobbiamo utilizzare alcune funzioni e classi della libreria Software Serial. Esse permetteranno ad Arduino di comunicare tramite Bluetooth. Pertanto, è necessario includerle nello sketch.

Passo 2

Una volta importata la libreria, è necessario specificare quali pin seriali utilizzare per inviare e ricevere i dati. Nell’esempio precedente, utilizziamo il pin 9 per la ricezione (rxPin) e il pin 8 per la trasmissione (txPin). 

Passo 3

Quindi, istanziare un oggetto software seriale (SoftwareSerial) utilizzando come argomenti i valori definiti nel passaggio precedente. Nell’esempio precedente, abbiamo chiamato il nostro oggetto seriale software BTSerial.

Passo 4

Quindi, definire una nuova funzione chiamata setup. Essa definisce quali sono i pin di ingresso e di uscita. Per impostazione predefinita, il modulo Bluetooth HC-05 comunica con Arduino a 9600 baud; possiamo modificarlo. Tuttavia, nel nostro esempio abbiamo mantenuto la stessa velocità perché è più vicina a quella esatta. 

Passo 5

Definiamo quindi due variabili String che utilizzeremo per i messaggi. Infine, creare una funzione Arduino loop con un ciclo while. Utilizzeremo questo ciclo per ascoltare qualsiasi comunicazione tra Arduino e i dispositivi Bluetooth. 

Se Arduino riceve dei dati, li stampa, utilizzando un punto e virgola come terminatore di riga. 

Schizzo del terminale Bluetooth 2

Una volta scritto lo sketch, è necessario caricarlo su Arduino. Successivamente, è necessario associare il telefono al progetto Arduino. In questo modo il cellulare potrà comunicare con il modulo Bluetooth.

Interfacciamento Bluetooth-Comunicare con il dispositivo Bluetooth

Quando si accende Arduino utilizzando l’interruttore a pulsante, si dovrebbe notare una luce rossa lampeggiante dal modulo Bluetooth. Ciò indica che è in modalità di accoppiamento.  È necessario accedere alle impostazioni Bluetooth del telefono e scansionare eventuali dispositivi vicini. 

Tra i dispositivi disponibili, dovrebbe essere presente una voce relativa al modulo in uso. Selezionare la voce e associarla al telefono. Verrà richiesto un codice di accoppiamento. Il codice di accoppiamento è solitamente “1234”. Ora che il dispositivo è stato accoppiato, è possibile iniziare a comunicare con esso. Tuttavia, per farlo è necessaria un’applicazione mobile. 

Andate nell’app store del vostro telefono e scaricate un’applicazione seriale Bluetooth Terminal. L’applicazione ha bisogno di un terminale che consenta di digitare messaggi e di inviarli al progetto. Inoltre, è necessario poter vedere anche le notifiche che si ricevono dal dispositivo.

Assicuratevi che l’applicazione che decidete di utilizzare sia compatibile con il Bluetooth classico (Bluetooth Classic), altrimenti potrebbe non funzionare con il vostro progetto. 

Una volta scaricata l’applicazione, tornate al computer, aprite l’IDE Arduino e aprite il monitor seriale per lo sketch Bluetooth. Assicuratevi che il monitor seriale utilizzi 9600 baud o il numero di baud specificato in precedenza. 

Tornare all’applicazione terminale Bluetooth sul telefono e selezionare il progetto Arduino Bluetooth come dispositivo. Dopo la connessione, è possibile digitare un messaggio nell’applicazione terminale. Assicurarsi di aggiungere un punto e virgola (;) alla fine del messaggio per indicare la fine del messaggio. 

Riepilogo

Se si seguono correttamente i passaggi sopra descritti, si dovrebbe ricevere un output che informa che il progetto Arduino ha ricevuto un messaggio. Il messaggio dovrebbe anche apparire sullo schermo del computer attraverso il terminale seriale di Arduino IDE. Anche in questo caso si tratta di un progetto semplice, adatto a principianti e non. Una volta comprese le basi, si possono realizzare progetti più complessi. Ad esempio, è possibile aggiungere un pulsante, un LED a bordo o un motore CC. È anche possibile utilizzarlo per inviare messaggi via e-mail. Ci auguriamo comunque che questa guida vi sia stata utile. Come sempre, vi ringraziamo per la lettura.

Hommer Zhao
Ciao, sono Hommer, il fondatore di WellPCB. Finora abbiamo più di 4.000 clienti in tutto il mondo. Per qualsiasi domanda puoi sentirti libero di contattarmi. Grazie in anticipo.

Servizi