Il comando vocale

Comando vocale EasyVR

1_circ

Spiegazione del progetto

Il progetto consiste nel comandare, a voce, una macchina telecomandata. Per capire di cosa si tratta facciamo riferimento allo schema a blocchi del circuito. 2_schema Abbiamo, a sinistra, il riconoscitore vocale EasyVR, il PIC (microcontrollore programmabile) in centro ed infine la macchina telecomandata a destra. Le parole che useremo per manovrare la macchinina saranno: “AVANTI”, “INDIETRO”, “A DESTRA”, “A SINISTRA”, “FERMO”.

Utilizzo riconoscitore vocale

Il riconoscitore vocale, che si chiama EasyVR, è uno speciale circuito integrato che è in grado di ascoltare la voce umana attraverso un microfono ed interpretare le parole. E’ in grado di capire diverse lingue, Inglese, Italiano, Giapponese, Tedesco, Spagnolo e Francese. Elabora le parole e le rende dei dati digitali. Questi dati, a loro volta, possono essere elaborati ed interpretati da un processore, nel nostro caso si tratta del PIC. Vi sono due modalità di utilizzo del riconoscitore; lo si può configurare per riconoscere tante parole pronunciate da una persona sola, quindi una sola voce, oppure poche parole pronunciate da tante persone, quindi voci diverse. Nel primo caso si ha a disposizione un set abbastanza ampio di comandi  pronunciabili, ma difficilmente interpretati se pronunciati da un’altra voce. Nel secondo caso, invece, molte voci posso pronunciare le parole di un ristretto set di istruzioni. Una volta interpretate le parole, il comando vocale invia i dati elaborati al processore attraverso la comunicazione seriale.

Comunicazione seriale

3_seriale La comunicazione seriale è una tecnica per far parlare due entità digitali, in questo caso il riconoscitore vocale ed il PIC, microcontrollore programmabile. La comunicazione va in due versi, dal ETX (Trasmettitore dell’ EasyVR) al RX (Ricevitore del PIC) e dal TX (Trasmettitore del PIC) al ERX (Ricevitore dell’EasyVR), su due canali differenti. Quando il riconoscitore interpreta una parola, produce uno specifico dato che gli corrisponde e lo invia al secondo. Questo dato è costituito da 8 bit ed uno alla volta viene spedito. E’ questo il senso del “seriale”, cioè ogni bit è spedito in serie ad un altro, sullo stesso  canale di comunicazione. VCC e GND sono rispettivamente 5 volt di alimentazione e la massa. Il PIC deve essere in grado di ricevere gli 8 bit e ricostruire il dato per poi elaborarlo correttamente, al fine di produrre il risultato voluto. Ovvero, con la parola “AVANTI”, noi vogliamo che la macchinina si muova in avanti. Il riconoscitore vocale interpreta la parola “AVANTI”, produce un dato di 8 bit, lo invia serialmente al PIC, il PIC lo riceve e lo elabora, capisce che si tratta del comando AVANTI e gestisce la macchinina per farla muovere.

PIC e adattamento al telecomando

Il PIC è un microprocessore che può essere programmato, ovvero si scrive un programma al computer, lo si carica sul PIC e quest’ultimo svolge le azioni dettate dal programma stesso. Il linguaggio di programmazione da noi usato è il BASIC. Questo integrato è in grado di gestire varie periferiche, come ad esempio interruttori, relè, led ed altro. Il nostro lavoro consiste nell’adattare i comandi del telecomando, in modo che sia il PIC stesso a gestirli. Il suo compito è quello di rimanere in ascolto fino a quando riceve un dato prodotto dal riconoscitore vocale. Lo elabora, confrontandolo con un elenco di dati già presenti in memoria ed esegue il comando. Se riceve il comando “AVANTI”, riesce ad interpretarlo perchè il dato a cui corrisponde gli è noto, quindi compie le operazioni per far andare in avanti la macchinina; cioè attiva una serie di interruttori che sono collegati al comando per far avanzare la macchinina. L’adattamento al telecomando è la parte più critica del lavoro perchè dobbiamo fare in modo che la macchina non vada ne troppo veloce, ne troppo lenta in altre parole gestire correttamente la levetta del telecomando.quarta_dx quarta_sx

 

 

 

 

 

 

foto_macchinina_13_04_14