Utilizzare l’HC05: modulo Bluetooth Low Cost compatibile con Arduino

Introduzione

L’HC05 è un modulo di ricezione/trasmissione Bluetooth a basso costo acquistabile ad esempio attraverso EBay ad un costo che parte dai 5 dollari. Poichè però i contatti non solo alla distanza canonica di una breadboard(2,54mm) ma a 1.9mm e non con i fori usuali è consigliabile comprare separatamente l’adattatore(ad un costo di circa 4 euro).

Molti venditori, però, propongono una soluzione che consiglierei a tutti che comprende la scheda già saldata sull’adattatore ad un costo intorno ai 8-9 euro.

L’unica accortezza è quella di selezionare la versione che funziona con la UART(e quindi collegabile direttamente all’Arduino o con un adattatore USB-TTL al PC) invece che quella che comunica in RS-232 (la semplice seriale con i segnali a +/-12 volt, non utilizzabile con l’Arduino)

HC05 con segnati alcuni suoi pin

Caratteristiche e utilizzo

Queste sono alcune delle sue caratteristiche

– Baudrate supportati 2400 – 1382400.

– Basato sul CSR Bluetooth chip BC417143

– Bluetooth specification v2.0 + EDR

– Alimentazione: +3.3VDC 50mA

– Frequenza di funzionamento:  2.4GHz ISM band

– Modulazione:  GFSK(Gaussian Frequency Shift Keying)

– Emission power:  ≤4dBm, Class 2

– Sensitivity:  ≤-84dBm at 0.1% BER

– Velocità: Asincrona:  2.1Mbps(Max) / 160 kbps, Sincrona: 1Mbps/1Mbps

– Sicurezza:  Autenticazione e criptazione

– Misura: 26.9mm x 13mm x 2.2 mm.

– Temperatura di funzionamento: -20°C ~ +75 °C

La caratteristica che differenzia questo modulo da altri della stessa famiglia è che questo modulino è configurabile attraverso degli AT Command.

Alcuni venditori, però, dicono specificatamente che i moduli potrebbero essere configurati all’acquisto come master o slave e con una comunicazione seriale diversa da quella canonica dell’Arduino 9600 8N1, occorre quindi configurarlo correttamente.

Questa modalità di configurazione si attiva in due modi:

Nella prima bisogna :

– collegare il pin 34 alla massa

– alimentare il modulo(pin 12 e 13)

– collegare il pin 34 all’alimentazione (o comunque bisogna riuscire a dare un livello logico alto)

In questo modo il modulino entrerà in modalità AT con la configurazione che salvata al suo interno( di solito 9600 8N1, ma come abbiamo detto potrebbe anche essere diversa).

Altrimenti si può:

-collegare il pin 34 all’alimentazione 

-alimentare il modulo(pin 12 e 13)

In questo modo il modulo entrerà in modalità AT sempre con una configurazione con baudrate 38400 8N1.

Alcuni comandi

Questi sono alcuni dei comandi che possiamo utilizzare, ricordandosi che occorre aggiungere i caratteri \r\n alla fine di essi:

  • AT\r\n  -> Se tutto è andato a buon fine il modulo dovrebbe risponderci OK\r\n
  • AT+ROLE=1\r\n  -> Imposta il modulo come Master
  • AT+ROLE=0\r\n  -> Imposta il modulo come Slave
  • AT+UART=115200,0,0\r\n  -> Imposta la comunicazione a 115200 8N1

Una lista più completa dei comandi si può trovare in un documento .pdf preso da insctructable scaricabile da qui

Luca Panebianco

Ciao! Mi chiamo Luca e frequento la magistrale in Ingegneria Informatica e dell’Automazione all’Università Politecnica delle Marche. Qui ho apprezzato pian piano la programmazione su microcontrollori oltre che la canonica sul PC. Sono interessato ai vari campi della programmazione su diversi dispositivi.


By Luca Panebianco | novembre 9th, 2012 | SHOW COMMENTS (11)

11 Responses

  1. edbra says

    Salve! mi serve un informazione riguardo hc05.. come si configura al pc, se serve per forza una connessione bluetooth con il pc oppure ce un altro modo..

  2. Alex says

    Buongiorno, posso usare questo modulo con un joystick bluetooth tipo questo: http://www.ebay.it/itm/251283021366?ssPageName=STRK:MEWAX:IT&_trksid=p3984.m1423.l2649

  3. Automazione Open Source
    automazioneos says

    Sisi è possibile, solo che onestamente con il fatto che i collegamenti del modulo sono a “francobollo” non hai il vero foro dove saldare e quindi l’ho trovata scomoda come soluzione….oltre al fatto che poi il modulo deve essere alimentato a 3.3v(sempre presente sull’Arduino) e non a 5v.

  4. Francesco Catino says

    Bisogna per forza collegarlo ad un adattatore? Non è possibile collegare direttamente i pin su arduino (ovviamente saldando dei fili)?

    • Luca Panebianco
      Luca Panebianco says

      Ciao, il modulo è quello giusto(hc05) però è senza l’adattatore che ti consente di collegarlo facilmente a dei microcontrollori. Quindi o compri poi l’adapter a parte(ma devi saldare quei connettori da 1.9mm ai lati) o prendi direttamente una versione con l’HC05 e l’adapter già saldato. Ad esempio questo oggetto: http://www.ebay.it/itm/1pcs-TTL-Bluetooth-Module-adapter-board-for-arduino-/270979961067 . Questa combinazione modulo-adapter è pensata per essere utilizzato con i microcontrollori: funziona in ttl, ha dei led che segnalano il funzionamento del modulo e un bottone di reset. Come detto nell’articolo però il venditore dice che il modulo che ti arriva potrebbe essere configurato come master o come slave.
      Se ti serve la versione rs232 nello store dello stesso venditore è presente anche un’altra versione che ha un convertitore ttl/232 sull’adapter.