«

»

Giu 29

Stampa Articolo

HC06 serial config

Tra i moduli bluetooth che spesso usi con arduino c’è il modulo HC06 serial che puoi configurare semplicemente.

hc06 serial

Inizia col procurarti un modulo HC06 bluetooth ed un cavo USB seriale o altro tipo di convertitore simile.

Se proprio non ne possiedi uno puoi usare arduino come descritto in molti articoli in questo blog.

HC06 serial

Il modulo HC06 presenta alcune differenze rispetto al modulo HC05 tra cui i pin che i costruttori di breakout collegano al connettore con passo standard 2,54mm; l’HC06 ha i pin:

hc 06 serial pins

  • STATE
  • RX
  • TX
  • GND
  • VCC
  • WAKEUP

l’HC05 invece ha:

hc 05 serial retro pin

  • STATE
  • RX
  • TX
  • GND
  • VCC
  • KEY

il pin differente è il WAKEUP sul connettore dell’HC06 serial sul modello HC05 corrisponde al pin KEY (34) come puoi vedere in questa immagine presente su instructables:

HC06 vs HC05

il pin KEY nell’HC05 serve per portare il modulo in modalità di programmazione mediante comandi AT, ma sull’HC06 serial tale modalità è sempre attiva e puoi accedere al modulo ed inviare i comandi di configurazione via seriale.

Collega un HC06 seriale alla USB

Il collegamento del modulo alla porta USB mediante convertitore puoi eseguirlo secondo questo schema:

hc 06 serial connection

in cui ho predisposto due resistenze come partitore di tensione sul pin RX necessarie se usi un convertitore USB-Seriale a 5v e non uno a 3,3v in quanto il modulo lavora e comunica a 3,3v.

Modalità di connessione HC06 serial

il modulo è in modalità di attesa comandi tutte le volte che non è connesso a nessun dispositivo ossia quando non hai eseguito la fase di associazione ( pairing ) ad altri dispositivi e quindi puoi modificare le impostazioni del modulo attraverso i pin Tx ed Rx.

Come primo passo imposta la velocità del programma che userai per la comunicazione seriale, io ho usato il “monitor seriale”, dell’IDE arduino 1.6.9

hc 06 serial parameter

a cui imposti il baudrate a 9600 ( default per questo modulo ) e “nessun fine riga”, quest’ultima importante per l’invio dei comandi AT al modulo HC 06.

Procedi con l’invio del primo comando per verificare la correttezza della comunicazione e dei collegamenti “AT”

configure hc 06 serial at

la cui risposta, in caso affermativo, sarà “OK”:

configure hc 06 serial at response

a questo punto puoi richiedere la versione del firmware con il comando “AT+VERSION”:

configure hc 06 serial at+version

e riceverai una risposta simile alla seguente:

configure hc 06 serial at+version response

In questo momento non hai eseguito alcuna modifica alla configurazione del modulo, infatti se apri l’interfaccia di connessione bluetooth sul computer trovi il tuo modulo HC-06:

hc 06 scan bluetooth mac os x

tra quelli elencati di cui puoi eseguire l’abbinamento.

Se provi ad eseguirlo riceverai probabilmente un errore di connessione:

hc 06 pair error connection

dovuto al fatto che il pin di default del modulo HC06 serial è “1234” mentre i computer provano subito con “0000” ( se non te lo chiedono ):

hc 06 mac os x pin incorrect

tuttavia puoi procedere modificando sia il nome sia il pin, inizia dal nome con il comando “AT+NAMExxxxxxxxx” in cui “xxxxxxxxx” puoi sostituirlo con il nome che preferisci:

configure hc 06 serial at+name set

e riceverai come risposta:

configure hc 06 serial at+name response

che ha come significato l’impostazione del nuovo nome, nel mio esempio “RightGlove”.

Puoi anche modificare il pin in modo che in fase di associazione il valore di default del computer che usi sia accettato senza dover eseguire modifiche, io ho impostato “0000” con il comando “AT+PIN0000”:

configure hc 06 serial set new pin

ottenendo come risposta:

configure hc 06 serial set new pin response

adesso puoi aprire nuovamente la finestra di scan del bluetooth e troverai il nuovo nome:

hc 06 pair new name bluetooth

cliccando su “abbina” non ti verrà più chiesta una password di connessione, essendo quella del modulo identica a quella impostata sul modulo HC06 serial:

hc 06 pair correct

ed il pairing avviene in modo automatico e corretto.

Ho voluto anche impostare una velocità di comunicazione differente da 9600 a 115200 per consentire un maggior flusso di informazioni al secondo, per farlo puoi usare il comando “AT+BAUDx” in cui x può assumere il valore che preferisci tra 0 e C secondo quanto riportato nel link

configure hc 06 serial set baud 115200

appena impostato ricevi:

configure hc 06 serial baud rate response

da questo momento il tuo terminale deve essere impostato alla nuova velocità di baudrate:

serial terminal change baud rate comunication

altrimenti non potrai più comunicare con il modulo.

Permalink link a questo articolo: http://www.mauroalfieri.it/elettronica/hc06-serial-config.html

5 comments

1 ping

Vai al modulo dei commenti

  1. lino grieco

    mi sono imbattutto su internet e il tuo sito/blog mi ha ispirato fiducia.

    i video e gli schemi sono perfetti…

    sono un ing edile e sto realizzando un prototipo gestito da una scheda arduino mega 2560.

    il mio problema consiste nel fatto che la scheda arduino tra un pò sarà nascosta dentro al prototipo e non riuscirò a raggiungerla con il cavo usb.

    per caricare gli sketchs su arduino ho pensato al bluetooth hc06 in mio possesso; l’ho collegato con arduino (TX hc06 con RX Arduino, RX hc06 con TX Arduino , GND e 3Volt);

    ho avviato la ricerca dispositivi bluethoot al mio pc e l’ha trovata associandomela alla com40;
    ho cambiato nelle impostazioni di arduino la com….da com3 che era a com40;

    ho collegato arduino all’alimentatore di tensione, no usb ovviamente;

    ho lanciato uno sketch per accendere un semplice led…ma non va;

    spero possa aiutarmi…

    1. Mauro Alfieri

      Ciao Lino,
      anche io sto facendo dei test con questa modalità per un progetto a cui sto lavorando, il problema principale è il reset che non puoi inviare da bluetooth, non c’è il pin, e quindi non puoi mettere l’atmega in modalità di invio dati.
      Ho scritto qualche articolo in merito alla programmazione di un atmega attraverso un arduino in cui è descritto il processo di caricamento degli sketch.
      In alternativa puoi consultare gli articoli relativi all’arduino standalone sul web.

      1. lino grieco

        grazie mauro

  2. matteo

    ciao Mauro, seguo da sempre i tuoi tutorial e devo dire che sono sempre eccelsi! Mi trovo davanti ad un problema che purtroppo non riesco a risolvere. Avrei bisogno di riversare tutto ciò che passa sulla seriale dell’arduino sul “monitor seriale” del mio cellulare. La connessione è proprio fatta con un HC-06.. avresti qualche consiglio da darmi per aiutarmi? Grazie in anticipo e buona giornata!

    1. Mauro Alfieri

      Ciao Mattia,
      puoi usare la SoftSerial per connettere il Bluetooth HC-06 e trasferire quello che leggi sulla seriale al BT e viceversa.
      Penso esistano diversi esempi sul Web e tra i miei articoli che puoi seguire.

  1. HC-05 AT command - Mauro Alfieri Elettronica Domotica Robotica

    […] a 38400 anche se la velocità di lavoro cambia, diversamente da come hai visto sul modulo HC-06 nell’articolo dedicato a quel […]

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Puoi usare i seguenti tag ed attributi HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>