HC-06
|
La
scheda ESP8266 non possiede un chip che controlla il
Bluetooth, ma collegandola a un adattatore come HC05 o HC06,
diventa possibile controllare delle periferiche con questa
tecnologia. ESP8266 nativamente si collega al WiFi, quindi
il bluetooth può essere superfluo. Ci sono casi in cui si
preferisce non collegarsi in rete, e anche per testare la
flessibilità della basetta sperimentale. Inoltre
si ottengono con grande facilità risultati molto
piacevoli e scenografici. Differenze tra HC-05 e HC-06. La differenza più evidente è il numero di piedini: 6 per HC05 e quattr per HC06. Tuttavia, i quattro piedini centrali di HC05 sono gli stessi e nella stessa sequenza, per cui portando attenzione, possono essere collegati sullo stesso zoccolo, in quanto per i nostri scopi i due piedini esterni di HC05 sono ininfluenti. La differenza ecnica è che HC05 può essere una periferica sia master (principale) che slave (secondaria) per la rete bluetooth, mentre HC06 può essere solo secondaria, ovvero ricevere dei comandi e darne conferma. |
HC-05 |
|
Ecco i
le informazioni e i programmi presenti in questa pagina: |
|
|
|
Come collegare un modulo HC05/HC06 alla rete bluetooth |
|
I moduli Hc-05 - HC-06 si collegano al cellulare in modo
analogo agli altri apparecchi Bluetooth. Appena alimentati,
entrano in modalità "paring" ovvero in modalità
accoppiamento; il led presente su entrambi comincia a
lampeggiare. Quando HC-05 viene agganciato dal cellulare, il
suo led emette due rapidi lampeggi e poi rimane spento per
alcuni secondi e dopo riprende il ciclo; mentre quando si è
collegato HC-06, il suo led rimane acceso in modo fisso. Dopo aver acceso il modulo e attenso che il led lampeggi, andare sulle impostazioni del cellulare e cercare la voce Bluetooth. Aperta l'applicazione, si vedrà la lista dei dispositivi connessi. Premere su "accoppia nuovo dispositivo" e attendere qualche secondo. Dovrebbe apparire il nome della nostra scheda. A volte viene richiesta una password di connessione, in genere "1234" oppure "0000". Inserita la password, la scheda apparirà tra la lista dei dispositivi riconosciuti. |
|
|
|
|
La App per Android per controllare il sistema: Arduino Bluetoot Control |
|
Ci sono
varie App per controllare le nostre periferiche Bluetooth,
ma quella che ho preferito per semplicità e completezza è
"Arduino Bluetooth Control" della Giristudio, che per
semplicità abbrevierò dora in poi in "ABC". Come per tutte le App di Android, si può installare a mezzo "Play store" di Google. Sulla destra appare il logo di Arduino Bluetooth Control. Dopo aver scaricato e aperto l'APP, apparirà la lista dei dispositivi collegati, probabillmente con il nome HC-05 o HC-06 e il loro Macaddress. Cliccare su quello scelto. Si aprirà una nuova finestra, con la ricca lista dei possibili metodi per controllare il nostro dispositivo, come appare nell'immagine di destra. Di seguito, una breve descrizioni delle voci disponibili: - LED/Lamp control: è l'applicazione più semplice. Appare un pulsante, per cui si può accendere/spegnere un led, oppure, usando un relè, accendere o spegnere una qualsiasi periferica, amnche connessa alla rete elettrica, come una lampada. - RGB LED Control: appare un cerchio come quello presente sui programmi di grafica, in cui si possono scegliere le sfumature di colore. Se è connesso ul led a tre colori, si può selezionare la tonalità di colori preferita. - Gamepad: appare un game pad, appunto, con 10 possibilità di controllo. A ogni pulsante si può attribuire una diversa funzione. - Switches: in questa pagina ci sono 10 switches (interruttori) che possono accendere/spegnere una qualsiasi periferica collegata. - Terminal: con questa applicazione, si possno inviare a HC05/HC06 una serie di comandi scritti via terminale. - Voice Control: questa applicazione è molto divertente, perchè si possono inviare comandi vocali, anche articolati. Il riconoscimento della voce è eccellente. - Control over Internet: riceve dati da un altra periferica e le invia a un controller. Se si clicca sui tre puntini in alto a destra, appare un menù con alcune voci interessanti: - Code Examples: fornisce alcuni esempi per creare i propri sketch con Arduino o ESPxxx. - Settings: permette alcune configurazioni relative alla App. |
Il
logo dell'App
La
app con le voci disponibili
|
|
|
|
Controllo a mezzo Terminale |
|
|
Nei
due programmi seguenti utilizzeremo il terminale. In questo
caso, si aprirà una finestra in cui inserire dei comandi,
che verranno indicati durante la presentazione dei
programmi. Se il comando sarà riconosciuto ed accettato, sul
terminale apparirà la conferma della sua esecuzione. |
|
|
|
|
|
Controllo DUE
led/relè a mezzo terminale |
In
questo programma si controlleranno due led presenti sulla
basetta sperimentale, oppure due relè KY-019 presenti sugli
zoccoli "DG1" e "DG2", collegati rispettivamente alle porte
di ESP8266 su GPIO0 e GPIO2. Naturalmente nulla vieta di
pilotare contemporaneamente i relè e i led, se connessi
sulle stesse porte. il modulo Bluetooth HC-05 o HC-06 utilizzano anch'essi due porte: GPIO4 per la trasmissione dei dati e GPIO5 per la ricezione. Il nostro modulo è stato inserito sullo zoccolo I2C2, usato in altri progetti per il protocollo I2C. Nota : per pilotare i relè, il jumper JP2 deve essere settato su +5v e deve essere collegato all'ingresso "PWR" un alimentatore in grado di fornire una tensione di 6/7 volt. Attenzione: se si intende collegare ai relè apparecchi connessi alla rete elettrica, verificare di averne la competenza o oppure affidarsi a un tecnico qualificato. |
Il
programma riconosce alcuni comandi, che devono essere
scritti esattamente sul terminale di "Arduino Bluetooth
Control", pena il mancato riconoscimento. I comandi sono i seguenti (attenzione allo spazio tra il numero e le lettere): 1 on: accende il "LED1" presente sulla basetta e collegato alla porta GPIO0 e/o il relè inserito in DG1"; 1 off: spegne il "LED1" presente sulla basetta e collegato alla porta GPIO0 e/o il relè inserito in DG1"; 2 on: accende il "LED2" presente sulla basetta e collegato alla porta GPIO2 e/o il relè inserito in DG2"; 2 off: spegne il "LED2" presente sulla basetta e collegato alla porta GPIO2 e/o il relè inserito in DG2"; 12 on: accende contemporaneamente entrambi i led/relè; 12 off: spegne contemporaneamente entrambi i led/relè; 12 son: accende entrambi i led/relè in sequenza, con un piccolo ritardo tra le due accensioni; 12 soff: spegne entrambi i led/relè in sequenza, con un piccolo ritardo tra i due spegnimenti. |
Lo
schema di collegamento. I led si collegano alle porte GPIO0 e GPIO2 di ESP8266 a mezzo resistenze da 220 ohm. I due relè Ky-019 (oppure qualunque relè commerciale che funzioni a +5v) si connettono alle stesse porte, utilizzando gli zoccoli "DG1" e "DG2". |
Rendering della basetta sperimentale in formato 1:1. si notino i relè sulla sinistra, HC-05 in alto e i collegamenti dei due led sulla destra. |
L'inserimento
dei componenti sulla basetta sperimentale. i relè sono rispettivamente sugli zoccoli "DG1" e "DG2. "Led1" e "Led2" sono collegati con dei ponticelli tra gli zoccoli "AUX" e DATA", rispettivamente su GPIO0 e GPIO2. Si noti il collegamento di HC-05: il piedino all'estrema destra NON è collegato alla scheda. Non è un errore nell'immagine; semplicemente non viene usato e se fosse collegato renderebbe errata la successione dei pin di alimentazione, ecc. HC-06 ha solo quattro pin, quindi verrà collegato sull'estrema destra dello zoccolo "I2C2". Prestare comunque molta attenzione ai collegamenti. Se si usano i relè, è necessario collegare un alimentatore esterno sulla presa "PWR". Il jumper JP1 deve essere settato su +3v per non danneggiare HC-05 o HC06. |
|
Controllo di QUATTRO (o cinque)
led/relè a mezzo terminale |
Questo
programma è una semplice evoluzione del precedente e mostra
come ampliare le possibilità di conntrollo via Bluetooth con
ESP8266. Nel programma precedente sono state
utilizzate le porte GPIO4 e GPIO5 per il modulo Bluetooth, e
le porte GPIO0 e GPIO2 per controllare due led e/o relè. Rimangono ancora tre porte tra quelle consigliate per l'uso degli utenti, e sono rispettivamente GPIO12, GPIO13, GPIO14, perciò potremmo controllare fino a 5 led e/o relè. Sulla nostra basetta sono presenti solo tre led liberamente utilizzabili, quindi se ne volessimo collegare un quarto, sarà necessario inserirlo su di una porta dello zoccolo "DATA", che indirizzeremo correttamente allo scopo. Poichè esistono dei moduli commerciali a prezzo veramente contenuto con quattro relè, il progetto verrà scritto con queste specifiche, utilizzando , oltre le porte GPIO0 e GPIO2, anche le GPIO12 e GPIO13. Sarà semplice, nel caso si volessero usare cinque periferiche, aggiungere al programma anche le linee per gestire la porta GPIO14. |
Il problema dei comandi per l'accensione/spegnimento dei relè |
Ho
riscontrato che ci può essere un problema sui comandi
relativi all'accensione e spegnimento delle periferiche.
Abitualmente un relè KY-019 o un led si attivano/accendono
quando la porta viene portata a livello "HIGH" e
disattivano/spengono quando essa ritorna a livello "LOW", e
questo vale anche per la nostra basetta sperimentale, mentre
ho notato
che utilizzando il modulo commerciale con un relè
(immagine in alto a sinistra), tutto funziona alla
rovescia, per cui quando si dà il comando di accensione,
si spegne il led o il relè, e quando si invia il comando
di spegnimento, esso si attiva! Per
approfondire l'argomento, vedi la pagina relativa alla gestione
dei relè Ho inserito nel programma una variabile "ChangeVal". Se la variabile è uguale a "1", i comandi sono rovesciati (acceso = "LOW"), adatti per molti moduli commerciali di relè; per qualsiasi altro valore numerico (per restare in ambito digitale, uso "0"), i comandi sono standard (acceso = "HIGH") e sono adatti per i led e i relè su scheda KY-019. |
La variabile numerica changeVal |
schema
4 relè |
Lo schema elettrico del collegamento verso HC05/HC06 e il blocco di 4 relè |
Il
rendering dei componenti sulla basetta sperimentale.
Per motivi di impaginazione, è leggermente più piccola che in originale. HC-05/HC06 sono connessi sullo zoccolo I2C2. Attenzione al collegamento corretto! Il gruppo di 4 relè è connesso dulle porte GPIO0/2/14/12. JP2 deve essere settato a +5v. Necessaria l'alimentazione con un alimentatore esterno che fornisca 6/9 v connesso su "PWR" |
I
comandi per la gestione dei relè: 1 on: accende il "Relay1", collegato alla porta GPIO0 dello zoccolo "DATA"; 1 off: spegne il il "Relay1"; 2 on: accende il "Relay2", collegato alla porta GPIO2 dello zoccolo "DATA"; 2 off: spegne il il "Relay1"; 3 on: accende il "Relay3", collegato alla porta GPIO14 dello zoccolo "DATA"; 3 off: spegne il il "Relay3"; 4 on: accende il "Relay4", collegato alla porta GPIO12 dello zoccolo "DATA"; 4 off: spegne il il "Relay4"; 14 on: accende contemporaneamente tutti i relè; 14 off: spegne contemporaneamente etutti i relè: 14 son: accende i relè in sequenza, con un piccolo ritardo tra le quattro accensioni; 14 soff: spegne i relè in sequenza, con un piccolo ritardo tra i quattro spegnimenti. |
Clicca
qui per visualizzare il programma Clicca qui per scaricare il programma in formato ".zip". Naturalmente i relè possono essere sostituiti da led; se si collegano allo zoccolo "DATA", è necessario interporre tra led e alimentazione una resistenza da 220 ohm, per evitare che si brucino rapidamente. Attenzione: se si intende collegare ai relè apparecchi connessi alla rete elettrica, verificare di averne la competenza o oppure affidarsi a un tecnico qualificato. |
|
Controllo di led/relè con alcuni switch |
Nel
programma seguente vedremo come gestire quattro relè (o led)
con altrettanti interruttori. |
|
Controllo di QUATTRO (o
cinque) relè per mezzo di interruttori |
Questo
programma è molto simile al precedente; semplicemente sono
stati sostituiti i comandi, in modo che non sia
necessariousare il terminale, ma i relè (o led) sono
comandati da interruttori, molto più rapidi da usare che non
scrivere comandi su di un terminale. Valgono quindi le stesse considerazioni del programma precedente; anche in questo si può gestire un relè/led aggiuntivo, collegandolo sulla porta GPIO13 di ESP8266, aggiungendo le righe di programma necessarie. Pure per questo programma è stata inserita la variante "changeVal", per adattare i comandi sia per relè commerciali che per i led, che spesso usano una logica diversa. Di default la variabile e posta a "1", ovvero adatta per le scehe commerciali con 4 relè. |
Anche
lo schema elettrico e quello di collegamento della scheda
Bluetooth e dei relè è identico a quelli presentati nel
programma precedente. Clicca
qui per visualizzarlo. I comandi usati per questo programma: -Switch1: accendi/spegni il "Relay1" (GPIO0) -Switch2: accendi/spegni il "Relay2" (GPIO2) -Switch3: accendi/spegni il "Relay3" (GPIO14) -Switch4: accendi/spegni il "Relay4" (GPIO12) - Switch5: accendi/spegni TUTTI i relè -Switch6: accendi/spegni TUTTI i relè in swequenza Gli switch da 7 a 10 non sono usati in questo programma. Clicca qui per visualizzare il programma Clicca qui per scaricare il programma in formato ".zip" Naturalmente i relè possono essere sostituiti da led; se si collegano allo zoccolo "DATA", è necessario interporre tra led e alimentazione una resistenza da 220 ohm, per evitare che si brucino rapidamente. Attenzione: se si intende collegare ai relè apparecchi connessi alla rete elettrica, verificare di averne la competenza o oppure affidarsi a un tecnico qualificato. |
Schermata
del controllo con switch.
sono attivi i relè 2 e 4. |
|
Controllo cromatico di un led a tre colori |
In questo programma si può controllare la tonalità di colore di un led RGB (Red Green Blue), ovvero di un led a tre colori. |
|
Controllo di un led RGB |
Un
led RGB possiede al suo interno tre sorgenti di colore,
rosso, verde, blu e in base all'intensità che si può
controllare singolarmente, permette di ottenere un grande
numero di sfumature di colori diversi. Gli schermi di
computer, televisori, ecc. hanno al loro interno migliaia,
addirittura milioni di questi minuscoli led. Con questo programma si potrà variare graficamente la tonalità di colore. |
led
RGB Ky-016
|
Dopo
aver agganciato il modulo Bluetooth (vedi inizio
pagina)Selezionare la seconda opzione di "Arduino Bluetooth
Control", ovvero RGB LED Control. Apparirà un disco con diverse sfumature di colore, simile a quello presente nell'immagine di destra. Esercitando pressione con il dito sulla sezione desiderata, il led RGB muterà la tonalità sul colore prescelto. |
Lo
schema elettrico del collegamento di un led a tre colori. E'
rappresentato sia il collegamento di un led su basetta (come
KY-016) che un semplice led a tre colori, che viene
collegato alle porte di ESP8266 con tre resistenze da 220
ohm, per l'imitare la corrente che attraversa il led. |
Schema
di collegamento con la basetta sperimentale in formato 1:1
Mostra
il collegamento sia con KY-016 che con un led a 3 colori
con resistenze da 220 ohm.
|
Lo
stesso schema, però visto sulla basetta sperimentale |
Clicca
qui per visualizzare il programma Clicca qui per scaricare il programma in formato ".zip" |
|
Controllo di led/relè a mezzo vocale |
Il
controllo vocale è la sesta voce del menù, ed è molto
scenografico e divertente; inoltre il riconoscimento vocale
è ottimo: gli errori di interpretazione sono veramente
pochissimi. |
|
Controllare QUATTRO (o cinque)
relè con il comando vocale |
Aprendo
questo menù, in basso appare l'icona di un microfono.
Premendolo si è invitati a dire una frase. Se essa verrà
riconosciuta e risulterà corretta nel confronto di quanto
scritto nel programma, allora verrà eseguito il comando. |
Anche in questo programma, interagendo con relè, è stata introdotta la variabile "changeVal" che permette di invertire i comandi "HIGH" e "LOW" relativi all'accensione e spegnimento delle periferiche, in quanto i led si accendono quando essa è posta ad "HIGH", mentre i relè commerciali su scheda per la maggior parte si attivano quando viene posta a "LOW". Perciò, invece di entrare nel programma e sostituire manualmente questi valori, è sufficiente porre "changeVal" = 0 per i relè, e "changeVal" = 1 per i led. | La variabile numerica changeVal |
Lo schema elettrico del collegamento verso HC05/HC06 e il blocco di 4 relè |
Il
rendering dei componenti sulla basetta sperimentale.
Per motivi di impaginazione, è leggermente più piccola che in originale. HC-05/HC06 sono connessi sullo zoccolo I2C2. Attenzione al collegamento corretto! Il gruppo di 4 relè è connesso dulle porte GPIO0/2/14/12. JP2 deve essere settato a +5v. Necessaria l'alimentazione con un alimentatore esterno che fornisca 6/9 v connesso su "PWR" |
I
comandi vocali per gestire l'attivazione/disattivazione dei
relè (o led): - "accendi il primo" attiva il primo relè/led collegato alla porta GPIO0; - "accendi il secondo" attiva il secondo relè/led collegato alla porta GPIO2; - "accendi il terzo" attiva il terzo relè/led collegato alla porta GPIO14; - "accendi il quarto" attiva il quarto relè/led collegato alla porta GPIO12; - "spegni il primo" disattiva il primo relè/led collegato alla porta GPIO0; - "spegni il secondo" disattiva il secondo relè/led collegato alla porta GPIO2; - "spegni il terzo" disattiva il terzo relè/led collegato alla porta GPIO14; - "spegni il quarto" disattiva il quarto relè/led collegato alla porta GPIO12; - "accendi tutti" attiva contemporaneamente tutti i relè/led; - "spegni tutti" disattiva contemporaneamente tutti i relè/led; - "accendi tutti in sequenza" attiva tutti i relè/led con una piccola pausa tra uno e l'altro; - "spegni tutti in sequenza" disattiva tutti i relè/led con una piccola pausa tra uno e l'altro. |
Naturalmente i relè possono essere sostituiti da led; se si collegano allo zoccolo "DATA", è necessario interporre tra led e alimentazione una resistenza da 220 ohm, per evitare che si brucino rapidamente. Attenzione: se si intende collegare ai relè apparecchi connessi alla rete elettrica, verificare di averne la competenza o oppure affidarsi a un tecnico qualificato. |
Clicca
qui per visualizzare il programma Clicca qui per scaricare il programma in formato ".zip" |