Indice articoli

Arduino-EasyVR-copertina1Ciao a tutti ragazzi e ragazze, in questo articolo scopriremo insieme il fantastico mondo della domotica, e lo faremo implementando un sistema di controllo vocale per la casa, costruito con un Arduino e con lo shield EasyVR 2.0.

 

Prima di entrare nel vivo di questa guida, mi presento: il mio nome d’arte è EletroLaix, sono un ragazzo di 18 anni e ho una forte passione per la tecnologia, l’elettronica e la fotografia, mi definisco un Maker.

 

Qualche anno fa però ho voluto condividere Questa mia forte passione con tutto il mondo e per questo ho aperto un canale YouTube (www.YouTube.it/EletroLaix) dove realizzo veri e propri tutorial su quello che faccio: dai più semplici progetti con Arduino, come il rilevamento di temperatura in una stanza, alla realizzazione di macchine più complesse come si può definire una Stampante 3D.

Recentemente sono entrato nella “famiglia” di XtremeHardware dove pubblicherò in contemporanea (o quasi) all’uscita dei miei video articoli che spiegheranno più nel dettaglio i miei tutorial, integrandoli con foto dettagliate e script da scaricare, ovviamente gratuitamente, per far sì che tutti possiate comprendere e realizzare questi progetti nel migliore dei modi.

 

Benissimo, adesso che mi conoscete, iniziamo a parlare del mio ultimo progetto.  Per vederlo in funzione vi consiglio ovviamente di prendere visione del video tutorial  che ho realizzato:

 

Iniziamo dal principio.

Quanti di voi sanno cosa significa domotica?

Wikipedia ci dice che “la domotica, dall'unione delle parole domus (che in latino significa "casa") + robotica, è la scienza interdisciplinare che si occupa dello studio delle tecnologie atte a migliorare la qualità della vita nella casa e più in generale negli ambienti antropizzati. Questa area fortemente interdisciplinare richiede l'apporto di molte tecnologie e professionalità, tra le quali ingegneria edile,ingegneria energetica, automazione, elettrotecnica, elettronica, telecomunicazioni ed informatica.

 

Quanti di voi sognano di realizzare qualcosa del genere nelle proprie case? Tutto questo entusiasmo svanisce probabilmente quando si vanno a vedere i costi e la complessità di lavori del genere, tuttavia con un po’ di impegno e passione si può fare qualcosa di simile che comunque ci permette di migliorare il nostro modo di vivere la nostra casa. Premetto che quello che andremo a realizzare non arriverà mai ai livelli di impianti che costano migliaia di euro ma ci darà comunque un ottimo risultato, stabile e bello da tenere in casa. Con questo progetto infatti andremo a vedere come implementare il controllo vocale all’interno della nostra casa così da poter comandare qualsiasi luce, elettrodomestico o tapparella con una semplice parola o rumore (es. battito di mani). Vediamo insieme nelle prossime pagine cosa ci serve per realizzare questo progetto.

 


 

Cosa ci serve

Iniziamo ad elencare il materiale che sarà indispensabile per questo progetto, ovviamente escluderò tutto quello che a mio parere è scontato come per esempio cavi elettrici, scotch isolante, forbici ecc., insomma tutte le cose che un buon maker non si farà mai mancare.

Prima di tutto abbiamo bisogno del nostro caro e amato (100% italiano) Arduino. Per chi non lo conoscesse, stiamo parlando di una piccola scheda elettronica che monta un microcontroller (precisamente l’ATmega328P per l’Arduino UNO) molto semplice da utilizzare. Arduino ci permette infatti di realizzare infiniti progetti, dai più semplici ai più complicati, e sarà il nostro “ponte” tra il software e l’hardware. Grazie a lui potremo comandare qualsiasi cosa (es. motorini, LED, relè, ecc.), ma anche ricevere ed inviare informazioni con qualsiasi tipo di comunicazione (es. Wi-Fi, Bluetooth, infrarossi ecc.) per non parlare dei suoi 6 ingressi analogici che ci permetteranno di ricevere informazioni da ogni qualsivoglia sensore (es. sensore di temperatura, umidità, accelerometro, barometro ecc.). Insomma ragazzi, preparatevi perché con questo piccolissimo oggetto tra le mani vi si aprirà un infinito mondo da scoprire.

Arduino-EasyVR-IMG 0381

 

Seconda cosa fondamentale al fine di controllare la nostra casa con la voce è l’EasyVR 2.0. Esso si trova in due versioni.

Arduino-EasyVR-IMG 0361

La prima è uno shield che si adatta perfettamente per l’utilizzo con Arduino dato che basterà solamente inserirlo al di sopra del nostro microcontroller per far partire il tutto. Gli shield ci permettono di continuare ad usufruire della maggior parte delle funzionalità del nostro Arduino e replicano infatti tutti i pin presenti sulla board sottostante.

Arduino-EasyVR-EasyVR2.2 -3

La seconda versione è più essenziale e contiene solamente quello che serve per gestire il riconoscimento vocale. Questa versione deve  essere collegata manualmente all’Arduino, spostando i vari cavetti, in base a quello che abbiamo intenzione di fare (caricare file audio, il programma oppure inserire nuove parole da riconoscere). Io ho preferito la prima di queste due versioni, ma, per tutti quelli che vorranno risparmiare un po’, lascerò tra l’elenco di cose da scaricare un PDF (ufficiale) dove verrà spiegato come collegare il vostro EasyVR 2.0 all’Arduino per tutte e tre le modalità.

EasyVR ha diverse caratteristiche che lo rendono unico: prima di tutto può riconoscere fino a un massimo di 32 parole o rumori (es. battito di mani o schiocco di dita) escludendo le password vocali (a differenza dei normali comandi, l’EasyVR sfrutta un riconoscimento biometrico per identificare la persona), i comandi preimpostati e i trigger (che vedremo in seguito cosa sono) .Ovviamente supporta fino a 6 lingue differenti (Inglese US, italiano, tedesco, francese, spagnolo, giapponese) e ha la possibilità di memorizzare fino a 28 file audio di massimo 9 minuti da riprodurre all’occorrenza (come la parola “fatto !” o “come desideri” che potrete sentire nel video quando chiedo di accendere la luce o alzare la tapparella) inoltre ha la possibilità di codificare segnali DTMF e di crearne nuovi per comunicare con altri dispositivi come appunto un altro EasyVR (detto in parole povere i segnali DTMF sono quei suoni che riproduce il vostro telefono quando utilizzate il tastierino). Altre caratteristiche interessanti da conoscere su questo fantastico shield sono la possibilità di sfruttare tre porte GPIO (General Purpose Input/Output), cioè normali porte che possono essere utilizzate sia come ingresso che come uscite, e la possibilità di collegare un piccolo altoparlante (da massimo 8 ohm) per ascoltare i nostri file audio.

 

Infine, abbiamo bisogno di un modulo per gestire i relè che andranno ad agire sul nostro impianto elettrico.

Arduino-EasyVR-IMG 0354

Nel mio caso stiamo parlando di un piccolissimo modulo con due relè ma ovviamente ne esistono di tutte le dimensioni e specie. Per avere più informazioni a riguardo vi rimando a questo mio precedente tutorial:

 

 


 

Collegare l’Easy VR 2.0

 

Ok ragazzi, adesso che abbiamo tutto sulla scrivania, possiamo iniziare a realizzare il nostro progetto. Per questa prima parte vedremo solo come collegare il nostro EasyVR all’Arduino in modo corretto, cosa che sembra semplice ma che mi ha fatto buttare al vento due giornate di lavoro!   Il nostro scopo sarà quello di collegare lo shield all’Arduino in modo che tutti i pin combacino, ma per verificare questo dovremo fare un piccolo passaggio: prima di tutto carichiamo un qualsiasi esempio sul nostro Arduino in modo tale che all’esecuzione del programma faccia accendere il LED del pin 13 o uno dei due LED dedicati alla comunicazione (TX, RX) per esempio potremo caricare l’esempio Blink (il quale farà accendere il nostro pin 13 ad intermittenza) poi inseriamo tranquillamente il nostro shield sull’Arduino.

Arduino-EasyVR-IMG 0359

Impostiamo quindi l’EasyVR in modalità UP, ovvero quella modalità che ci permette di caricare i file audio sul nostro EasyVR. Sfruttiamo questa modalità perché ha lo scopo di mandare in reset il nostro ATmega328P per comunicare “direttamente” con il PC e di conseguenza non avviare qualsiasi programma al suo interno. Questa modalità, quindi, non farà accendere nessun LED presente sulla scheda (tranne ovviamente quello verde di ON)

Arduino-EasyVR-IMG 0367

Adesso possiamo collegare il nostro cavo USB

Arduino-EasyVR-IMG 0386

Noterete che all’avvio dello shield si accenderà un LED rosso invece del solito LED verde che dovrà essere spento; in caso contrario provate a scollegare e ricollegare. Se come è successo nel mio caso non è collegato bene, noterete il LED giallo acceso al di sotto dello shield, ma spostandolo un po’ e facendo qualche prova vedrete il LED spegnersi, e questo sarà il segnale che il vostro shield è collegato bene.

Arduino-EasyVR-IMG 0373

Adesso passiamo all’ultima fase di questa prima parte del tutorial: colleghiamo le componenti necessarie per far “sentire” e “parlare” il nostro EasyVR, quindi colleghiamo il microfono all’apposito connettore bianco.

Arduino-EasyVR-IMG 0389

Infine, connettiamo le nostre casse all’ingresso jack da 3.5mm…

Arduino-EasyVR-IMG 0397

…oppure ai morsetti verdi presenti sullo shield (è indifferente quale sia positivo o negativo):

Arduino-EasyVR-IMG 0409

Voglio precisare che le due uscite audio possono essere anche utilizzate in contemporanea senza alcun problema.

 


Conclusioni

Bene ragazzi, siamo arrivati alla fine di questo primo tutorial dedicato al controllo vocale per realizzare una casa domotica. Nelle prossime puntate vedremo meglio come configurare il software dell'EasyVR e come controllare elementi della casa tramite relè. Vi ricordo che sul mio canale YouTube troverete il video tutorial mostrato all’inizio di questo articolo, oltre a numerosi altri video-tutorial. Voglio infine ringraziare i ragazzi di XtremeHardware per avermi dato la possibilità di pubblicare sul loro sito i miei progetti e ovviamente ringrazio voi per aver letto questo articolo.  Il Kit EasyVR più Shield è disponibile attualmente su Amazon al seguente link http://amzn.to/1W6w4xZ ad un prezzo di 57€.

 

EletroLaix