Forum di "Stampa 3D e molto altro!"

La Risorsa italiana per Makers

Guide e Tutorial su Arduino, Raspberry Pi e microcontrollori/minipc in generale.
#65
:D Ciao ragazzi! Eccomi qui nel condividere un pezzo della mia esperienza sull'uso della scheda Arduino e poiché sono rimasto affascinato

dai moduli bluetooth HC-05, interfacciabili con il nostro piccolo amico elettronico, ho scritto questa guida qualche anno fa e adesso ve

la propongo con qualche revisione poichè per alcuni aspetti era imprecisa :lol:

1. Cos'è un HC-05 e dove comprarlo ?

L'HC-05 è un ottima soluzione alternativa alle shield bluetooth per Arduino, questi moduli dalle dimensioni ridottissime (pari ad Arduino

Nano) sono economici e facili da configurare. Potete trovare questo modulo a meno di 10€ da questo venditore Ebay italiano che vi

consiglio poichè da lui acquisto tutto ciò che mi serve in ambito elettronico, è serio e super veloce :D. Ecco il link per il modulino

già con i piedini saldati : http://www.ebay.it/itm/HC-05-modulo-Blu ... 4d0ce52fc2

2. Breve panoramica dell'HC-05 e collegamento con Arduino!

PREMESSA : per utilizzare al meglio il modulo, collegare tutti i pin necessari ad Arduino possibilmente spento prima di procedere con il punto 3 della guida.


Come già detto in precedenza l'HC-05 è un modulo bluetooth interfacciabile con Arduino e presenta 6 piedini :

KEY : Piedino che permette di entrare in AT MODE e cioè la modalità di configurazione del modulo bluetooth (cambiare nome, cambiare pin di accoppiamento ecc ecc). Per abilitare la modalità in questione basta collegare il piedino KEY su uno dei pin digitali di Arduino (è preferibile non utilizzare PWM) e abilitare quel piedino come uscita (OUTPUT) e con valore alto (HIGH), il led sul modulo in modalità AT ha un lampeggiamento lento di 2 secondi circa, quindi se il led lampeggia velocemente non siamo in AT MODE :lol:.

RXD : Piedino di interfacciamento lettura della seriale, andrà collegato su un piedino digitale di Arduino.

TXD : Piedino di interfacciamento scrittura della seriale, andrà collegato su un piedino digitale di Arduino.

NOTA BENE : Per dialogare con il modulo bluetooth, come vedremo tra poco, dovrà essere configurata una seriale software indirizzata su due piedini digitali di Arduino.


5.0 : Piedino di alimentazione a 5 Volt che andrà collegato all'uscita a 5 Volt di Arduino.

3.3 : Piedino di alimentazione a 3.3 Volt che andrà collegato all'uscita a 3.3 Volt di Arduino, in questo caso il piedino in questione è opzionale e utilizzeremo solo l'alimentazione a 5 Volt.

GND : Piedino neutro che va collegato ad uno dei pin GND di Arduino.

Quindi ipotizzando un possibile collegamento tra Arduino (per questo esempio ho usato Arduino UNO) e il modulo bluetooth, magari

aiutandovi con una breadboard, collegate i pin come segue :

KEY --> Pin digitale 4 di Arduino
RXD --> Pin digitale 7 di Arduino
TXD --> Pin digitale 8 di Arduino
5.0 --> Uscita 5 Volt di Arduino
GND --> Uno dei pin GND di Arduino (per comodità ho collegato al pin GND affianco all'uscita a 5 Volt)

schema.PNG


3. Entriamo in modalità AT!!!

Presumendo che abbiate collegato tutto in modo corretto possiamo provare a entrare in modalità AT e dare un settaggio iniziale al nostro

modulo.

Come fare? :lol:

Ovviamente prima di tutto collegate Arduino al computer e se il modulo è correttamente alimentato, il led su di esso dovrebbe lampeggiare

velocemente. Non lampeggia velocemente ? Allora controllate i collegamenti o in rari casi potrebbe essere un modulo difettoso.

Se tutto è regolare aprite l'IDE di Arduino, scollegate l'alimetazione al modulo bluetooth e caricare questo sketch :

Codice: Seleziona tutto//importo la libreria SoftwareSerial.
#include <SoftwareSerial.h>

//definisco i pin per la comunicazione.
const int rxPin = 8;
const int txPin = 7;
const int atPin = 4;

//definisco i pin di comunicazione per il bluetooth via seriale software.
SoftwareSerial bluetooth(rxPin, txPin);

//inizio il programma
void setup() {
 
//imposto il baud per le seriali.
Serial.begin(9600);
bluetooth.begin(38400);

//imposto il pin per la modalità AT.
pinMode(atPin, OUTPUT);
digitalWrite(atPin, HIGH);

}

void loop() {
 
//scrivo e leggo nelle seriali, condividendo i flussi tra le due.
if (bluetooth.available()) {
Serial.write(bluetooth.read());
}

if (Serial.available()) {
bluetooth.write(Serial.read());
}

}


Adesso aprite il Monitor Seriale dal menu Strumenti e ricollegate l'alimentazione al modulo bluetooth. Il led sul modulo dovrà

lampeggiare lentamente con un'intervallo di tempo di circa 2 secondi, se questo accade, siete riusciti ad entrare in modalità AT.

Nel Monitor Seriale selezionate la visualizzazione delle righe su "Entrambi (NL & CR)" e accertatevi che il baud rate sia impostato su

9600 baud.

Proviamo a inviare tramite Monitor Seriale il comando "AT", se il modulo bluetooth è in connessione dovrebbe rispondervi con un "OK".

Adesso provate a interrogare il modulo in modo che vi restituisca il suo nome con il comando "AT+NAME" e dovreste ricevere una risposta

del genere "+NAME:HC-05" seguito da "OK".

Interrogate il modulo per sapere il pin di accoppiamento impostato su di esso con il comando "AT+PSWD" e dovreste ricevere una risposta

del genere "+PSWD:0000" seguito da "OK".

In questo modo avete tutte le informazioni che vi servono e allo stesso tempo sapete per certo che il modulo funziona correttamente.

4. Cambiare nome e pin di accoppiamento

A questo punto potete cambiare il nome e il pin di accoppiamento al vostro modulo bluetooth, in modo tale da personalizzarlo secondo le

vostre esigenze.

Quindi per cambiare nome al modulo inviate il comando "AT+NAME=prova" tramite Monitor Seriale dove "prova" è il nuovo nome che avrà il

vostro modulo bluetooth. Se il nome è stato cambiato avremo come risposta "OK".

Per cambiare pin di accoppiamento il procedimento è identico al cambio nome ma si effettua con il comando "AT+PSWD=1234", anche in questo

caso "1234" è solo un esempio, voi potete metterci il codice che volete.

Ricordate che i comandi descritti in questa sezione della guida vanno inviati senza le virgolette!!


5. Controlliamo un led con Android

Adesso che avete pieno controllo del vostro modulo bluetooth, passiamo a un esempio pratico e cioè il controllo di un led con uno

smartphone Android. Scolleghiamo l'alimentazione al modulo bluetooth e carichiamo il codice seguente :

Codice: Seleziona tutto 
//importo la libreria SoftwareSerial.
#include <SoftwareSerial.h>

//definisco i pin per la comunicazione.
const int rxPin = 8;
const int txPin = 7;

//definisco i pin di comunicazione per il bluetooth via seriale virtuale.
SoftwareSerial bluetooth(rxPin, txPin);

//variabile di controllo led.
int cmd_led = 0;
int led = 13;

//inizio il programma
void setup() {

//imposto il baud per le seriali.
Serial.begin(9600);
bluetooth.begin(38400);

//imposto il pin.
pinMode(led,OUTPUT);

}

void loop() {
//scrivo e leggo nelle seriali, condividendo i flussi tra le due.
if (bluetooth.available()) {

//prelevo informazioni dal bluetooth.
cmd_led = bluetooth.read();
Serial.println(cmd_led);

//decido di accedere il led in base all'informazione prelevata.
if(cmd_led == '0') {

digitalWrite(led,LOW);

} else if (cmd_led == '1') {

digitalWrite(led,HIGH);

}

}

}


Una volta caricato il codice ricollegare l'alimentazione al modulo bluetooth e se tutto è andato nel verso giusto il led del modulo

dovrebbe lampeggiare velocemente.

:D ora...

Per comodità vi lascio i link con i file della guida dove trovate anche i file da caricare su App Inventor ma nel pacchetto

trovate anche il file .apk da installare sul vostro terminale Android.

FILE DA SCARICARE DEL PROGETTO (.zip) --> http://www.wirelinked.it/downloads/hc05.zip

Basterà in fine accoppiare il vostro modulo bluetooth con un cellulare dalle impostazioni di Android, attendere che il led del modulo lampeggi ogni 3 secondi circa e avviare l'applicazione. Dovete scegliere dall'apposito menu nell'app il vostro modulo bluetooth e il led lampeggerà 2 volte ogni 2 secondi circa. Premendo ON il led sul pin 13 si accenderà e si spegnerà premendo OFF.

NOTA BENE : Nel caso in cui avete problemi di connessione bluetooth tramite l'app, scollegate l'alimentazione ad Arduino e chiudete l'applicazione, successivamente rialimentate Arduino, aprite l'applicazione e fate di nuovo il collegamento.


Per ogni domanda o richiesta di aiuto potete usare la discussione qui sotto, grazie della lettura e buon divertimento!!!

:lol:
Non hai i permessi necessari per visualizzare i file allegati in questo messaggio.
Ultima modifica di Mirko Pacioni il mar nov 03, 2015 11:47 pm, modificato 1 volta in totale.

https://pbs.twimg.com/media/DHNFGQDU[…]

One of the biggest frustrations with 3D printing i[…]

Let’s take a look at the top four industries being[…]

3D printing will impact the following areas sign[…]

Seguimi su YouTube!