.... Chi non ha mai sognato di comandare vocalmente le luci di casa.
Computer ... luci ... -------------------------Erano le parole che pronunciava Picard (Kirk per la previus generation ) per accendere l'illuminazione della proprio alloggio.
E questa mattina fantasticando con il mio piccolo (che tanto piccolo non lo è più ) gli ho proposto se voleva comandare le luci della cameretta con la voce ....
Effetto cozza tutta la mattina ... e alla fine abbiamo raggiunto il nostro scopo ....
Bé il progetto è molto simile a Star Trek e sfrutta la grande potenza di calcolo dei nostri smartphone per elaborare l'audio (in realtà ci pensa Google
) e basta una semplice interfaccia Bluetooth per completare il nostro primo telecomando a controllo vocale.... e non solo...
IL SOFTWAREIl programma nasce per dispositivi Android smartphone o tablet .
L'installazione risulta molto semplice ,basterà cliccare sul file allegato a spuntare la voce "sorgenti sconosciute"... finito.
A questo punto bisogna realizzare la parte hardware che si preoccuperà di interfacciare il dispositivo al mondo esterno e associarla al dispositivo...ma lo vedremo più avanti.
Per semplicità ho scelto l'accensione di due luci ,ma il programma può evolversi in funzione dell'interesse che porterà.
DOWNLOADL'INTERFACCIA HARDWAREL'interfaccia hardware altro non è che un Arduino con un ricevitore Bluetooth HC-05 e dei relè .
Di default il ricevitore BT è già configurato per in nostri scopi ,quindi se non avete necessità particolari potete connetterlo direttamente.
I parametri di default sono :
-BT SLAVE
-Password 1234
-Velocità 9600 Baud
Quindi collegare il modulo :
+5V con il VCC del BT
GND con GND del BT
Pin0 con TXD del BT
I relè invece andranno collegati con il negativo in comune e connessi al GND di Arduino e i rispettivi positivi al Pin2 e al Pin3.
E' bene non oltrepassare il numero di tre relè allo stadio solido senza un ulteriore modulo buffer ,oppure usare direttamente moduli relè con buffer integrato.
Questo è per evitare di prelevare una corrente troppo elevata per il microcontrollore che potrebbe danneggiarsi.
IL CODICEDi seguito il codice che interpreta i comandi che vengono ricevuti dal modulo BT.
//*****RX COMANDI VOCALI***
//Realizzato da ElettroshockNow
// e condiviso su EnergiAlternativa.org
//
//ATTENZIONE:
//
//CC BY-NC-SA 4.0
//Uso non commerciale, modificabile, con obbligo di condivisione-
//http://creativecommons.org/licenses/by-nc-sa/4.0/deed.it
//
//
int luce1 = 2;
int luce2 = 3;
char Stringa_Ricevuta[5];
byte Indice_RX = 0;
byte inByte;
void setup() {
Serial.begin(9600) ;
pinMode(luce1, OUTPUT);
pinMode(luce2, OUTPUT);
}
void loop()
{
if (Serial.available())
{
inByte =Serial.read();
if ((inByte != 47) && (Indice_RX < 6)) //Ricevi il dato fino / all'invio e max 5 byte
{
Stringa_Ricevuta[Indice_RX++] = inByte;
}
else
{
if (strcmp(Stringa_Ricevuta, "ON1") == 0)digitalWrite(luce1, HIGH);
else if (strcmp(Stringa_Ricevuta, "OFF1") == 0)digitalWrite(luce1, LOW);
else if (strcmp(Stringa_Ricevuta, "ON2") == 0)digitalWrite(luce2, HIGH);
else if (strcmp(Stringa_Ricevuta, "OFF2") == 0)digitalWrite(luce2, LOW);
else if (strcmp(Stringa_Ricevuta, "ONT") == 0){
digitalWrite(luce1, HIGH);
digitalWrite(luce2, HIGH);
}
else if (strcmp(Stringa_Ricevuta, "OFFT") == 0){
digitalWrite(luce1, LOW);
digitalWrite(luce2, LOW);
}
Stringa_Ricevuta[Indice_RX] = 0;
Indice_RX = 0;
}
}
}
IL FUNZIONAMENTO-Dopo aver caricato il codice sull'Arduino il circuito è pronto (ricordarsi di disconnettere il PIn0 durante il caricamento)
-Associare il BT al dispositivo android ricercandolo nel menù BT e impostando la password 1234
-Avviare il programma
-Dal menù selezionare il modulo BT con il quale creare una connessione .
-Selezionare "Connetti" .... e se tutto è và bene una voce confermerà l'avvenuta connessione
A questo punto potrete gestire l'illuminazione tramite i pulsanti oppure premendo "COMANDI VOCALI" controllarle tramite la voce.
Ciao e Buon EnergiAlternativa.org a tutti
ElettroshockNow