Arduino – Gestire connessioni BlueTooth seriali #5

HC-05 bluetooth configurazione hardware

Impariamo  come gestire connessioni seriali Bluetooth tra due device Arduino.

Negli articoli precedenti ci siamo occupati di definire la struttura del protocollo seriale: abbiamo collegato i pin 0 ed 1 di Arduino incrociandoli, poi abbiamo utilizzato il protocollo RS-232 attraverso un opportuno amplificatore di segnale per garantire una maggiore copertura esente da disturbi elettromagnetici. Quindi siamo passati alle connessioni USB per velocizzare ulteriormente le trasmissioni tra due ricetrasmittenti.

Purtroppo non è sempre possibile “stendere un filo” tra un trasmettitore ed un ricevitore, e sappiamo quanto lavorare a livello di protocolli di rete sia impegnativo per Arduino.

Fortunatamente il mondo degli shield per Arduino produce continuamente interessanti piccoli gadgets che ci consentono di risolvere piccoli (o complicati) problemi legati alla logistica. Nel caso particolare vedremo come l’utilizzo di due piccoli ricetrasmettitori Bluetooth basati su HC-05 possano trarci d’impaccio in modo semplice ed elegante.

In questo articolo parleremo del circuito di collegamento, lasciando al prossimo l’onere di descrivere più in profondità la storia ed il funzionamento dei sistemi Bluetooth. Al momento ci è sufficiente sapere che il Bluetooth è il sostituto moderno della comunicazione seriale.

Il transceiver HC-05

Un ricetrasmettitore è un dispositivo in grado di trasmettere e ricevere informazioni, che di solito sono ottenute tramite onde radio. HC-05 è un dispositivo Bluetooth che può essere impostato tanto in trasmissione quanto in ricezione, mentre il modello HC-06 ha solo funzionalità di slave. Per i test di questo articolo utilizzeremo una coppia di device HC-05 fornitoci da AZ-Delivery, in quanto più ricchi di documentazione (giungono con un manuale d’utilizzo in formato e-book ed una serie di esempi e librerie pronte all’uso) e testati in modo approfondito prima della messa in vendita.

Arduino connessioni bluetooth seriali

Si è scelto questo modulo in quanto in grado di passare rapidamente dalla modalità Master a quella Slave. Benché il modulo sia alimentato con una tensione di 5V, i pin RX e TX utilizzano un livello logico di 3.3V.

La disposizione dei pin può variare a seconda del fornitore, mentre in genere le indicazioni sulla serigrafia del chip mantengono il loro significato, ovvero:

  • EN – Enable pin
  • Vcc (o 5V) alimentazione
  • GND – Ground o massa comune
  • TX – Pin di trasmissione
  • RX – Pin di ricezione
  • State – Pin di stato

Arduino connessioni bluetooth seriali

Come nel caso dell’adattartore USB, ciò che a noi interessa sono i 4 pin legati all’alimentazione ed alla ricetrasmissione. Ricordiamo inoltre che, a causa della configurazione del sistema di ricetrasmissione, occorre progettare un piccolo partitore di tensione che riduca a 3.3V il voltaggio verso il pin RX del modulo HC-05 per entrambi i moduli.

Saranno sufficienti un paio di resistori da 1000-1200Ω e 2000-2200Ω secondo lo schema seguente (si è utilizzato un Arduino Nano per una questione di comodità e portabilità):

Arduino connessioni bluetooth seriali

Configurazione del transceiver HC-05

La scheda Bluetooth del nostro esempio viene fornita con un LED, che lampeggerà secondo il seguente schema:

  • 2 secondi acceso, 2 secondi spento – Modalità AT
  • Lampeggi continui – Attesa di connessione
  • 2 lampeggi ogni 2 secondi – Accoppiato

L’idea di base resta quella di configurare il nostro sistema di ricetrasmissione in modalità trasparente, tale che i due moduli di trasmissione e ricezione si “riconoscano” automaticamente senza bisogno di modifiche del software. Per gestire Arduino con connessioni seriali Bluetooth sarà necessario procedere prima alla configurazione del device HC-05 tramite i comandi AT.

Purtroppo lo spazio è tiranno, e siamo costretti a dividere l’esempio in due puntate.Nel prossimo articolo affronteremo il discorso Bluetooth in modo più approfondito, e termineremo la configurazione del nostro sistema di trasmissione.

A risentirci tra sette giorni!

 

Link utili

 

Le puntate precedenti:

Join our groups on Telegram…

… and don’t forget our social channels!

Definire ciò che si è non risulta mai semplice o intuitivo, in specie quando nella vita si cerca costantemente di migliorarsi, di crescere tanto professionalmente quanto emotivamente. Lavoro per contribuire al mutamento dei settori cardine della computer science e per offrire sintesi ragionate e consulenza ad aziende e pubblicazioni ICT, ma anche perche’ ciò che riesco a portare a termine mi dà soddisfazione, piacere. Così come mi piace suonare (sax, tastiere, chitarra), cantare, scrivere (ho pubblicato 350 articoli scientfici e 3 libri sinora, ma non ho concluso ciò che ho da dire), leggere, Adoro la matematica, la logica, la filosofia, la scienza e la tecnologia, ed inseguo quel concetto di homo novus rinascimentale, cercando di completare quelle sezioni della mia vita che ancora appaiono poco ricche.

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.