Controllare Arduino via bluetooth con Android


Salve a tutti!
Ultimamente mi sono riavvicinato ad Arduino per un progettino che avevo in mente di fare da un po'. Senza svelarvi nessun dettaglio (odio gli spoiler per gli articoli futuri :P), oggi vediamo una delle componenti che ci serviranno in seguito: il bluetooth.
Visto che il progetto finale dovrà essere qualcosa di piccolo e compatto, mi sono comprato un Arduino Nano, ma in generale quanto detto in questo articolo è applicabile a tutti gli Arduino, con i dovuti accorgimenti.

Il task di oggi è quindi quello di far comunicare via bluetooth Arduino e un dispositivo Android.

Necessario

Elenco tutti i componenti necessari al progettino:

  • Arduino Nano
  • Modulo bluetooth ZS-040 HC-06 acquistabile da qua o anche su Amazon se lo volete in tempi più rapidi e non vi interessa di spendere un po' di più. Va bene anche HC-05, vediamo in seguito le differenze
  • Un led
  • Una resistenza da 330Ω
  • Uno smartphone o un tablet Android

Modulo bluetooth

Il modulo bluetooth che ho a disposizione è uno ZS-040 HC-06.
HC-05 e HC-06 usano la stessa board, ma hanno delle differenze sostanziali:

  • HC-06 non ha un pulsante di switch che in HC-05 serve alla configurazione del modulo
  • HC-06 ha solo 4 pin (a differenza di HC-05 che ne ha 6)
  • HC-06 può funzionare solo come slave e quindi può accettare solo connessioni. HC-05 invece può anche inizializzare la connessione con un altro device.

É importante notare che i pin di ricezione RX e di trasmissione TX del modulo bluetooth vanno collegati rispettivamente ai pin TX1 e RX0 di Arduino. Questo perché ciò che viene trasmesso dal modulo bluetooth viene ricevuto da arduino e vice versa.

Come vediamo dall'immagine anche sopra, HC-06 ha 4 pin:

  • VCC dal quale prende l'alimentazione. Il modulo funziona ad una tensione che va dai 3.6V ai 6V
  • GND è terra
  • RX e TX sono i due pin per la comunicazione seriale con Arduino

Esempio di prova

Ecco un semplice esempio di prova che ci permetterà di vedere le funzionalità base del modulo bluetooth. Nell'immagine qua sotto possiamo vedere il circuito da realizzare (è presente l'HC-05 perché nel programmino che usiamo per disegnare, non c'era). Tramite un'app Android sarà possibile accendere e spegnere il led.

Vediamo ora lo sketch:

NOTA BENE: visto che il bluetooth comunica in seriale, quando si va a caricare lo sketch dal computer ad Arduino, è necessario che i pin RX0 e TX1 siano liberi per evitare confitti. Se i pin sono occupati dal modulo bluetooth, vi sarà un errore che non permetterà la corretta conclusione dell'operazione.

Comandare il led con l'app Android

Nel Play Store di Google ci sono un sacco di app che ci permettono di comunicare tramite bluetooth con arduino. Una delle migliori, secondo me, è Arduino bluetooth controller.

L'interfaccia è semplice e intuitiva. Appena entrati, verranno mostrati i dispositivi bluetooth accoppiati e quelli disponibili. Il modulo apparirà con il nome HC-06. Se vi chiede la password inserite 1234. Una volta accoppiati, si presenterà una serie di possibilità come mostrato nell'immagine sottostante.

Siccome il nostro progetto è un semplice on/off di un led, scegliamo per ora la "switch mode". Un grosso pulsante sarà apparso. Se ci clicchiamo sopra ci chiede di configurarlo. Noi nello sketch avevamo messe il valore 1 per l'acceso e 0 per lo spento, quindi configuriamo come nell'immagine qua sotto.

Ora avremo un pulsante toggle che ci permetterà di accendere e spegnere il led 🙂

Torniamo ora al menu precedente e invece di selezionare la "switch mode", scegliamo la "terminal mode". Una volta avviato il terminale possiamo inviare il valore 0 per spegnere e 1 per accendere. Noteremo che da terminale appariranno anche i messaggi "off" e "on" che avevamo impostato con il Serial.write.

Per oggi è tutto, per domande e dritte non esitate a lasciarci un commento.
Se avete bisogno di ulteriori informazioni su questi moduli, consiglio la lettura di questo documento.
Alla prossima!

Ingegnere Informatico e Ricercatore se compiace al Prodigioso Spaghetto Volante. Sono uno spartan racer, massimo esperto di serie tv, fotografo amatoriale e appena ne ho l’occasione preparo la valigia e parto

Controllare Arduino via bluetooth con Android ultima modifica: 2017-03-21T12:17:47+01:00 da Andrea Salvi


Advertisment ad adsense adlogger