Você está na página 1de 9

Como utilizar o mdulo de reconhecimento de voz SPCE061A

com o Arduno

Bruno Stabile

brn.stabile@gmail.com

Pontifcia Universidade Catlica de So Paulo

Faculdade de Cincias Exatas e Tecnologia

Engenheria Eltrica

Captulos

1. Introduo
2. Configurao do Sistema
3. Comunicao Serial com o mdulo
4. Integrao ao Arduno

Introduo

Este documento prope explicitar como programar o mdulo de reconhecimento de voz produzido

pela ELECHOUSE que possui o microcontrolador SPCE061A produzido pela SUNPLUS.

O modulo capacitado realizar a gravao de 15 padres diferentes, sendo estes


padres de comandos de voz, frequncias pr definidas ou tambm como variaes de sinais

eltricos, entretanto aqui iremos apenas demonstrar como ativar e desativar um LED, sendo que isto
j retrata a base de conhecimento mnima necessria para realizar outras operaes como ligar um
motor.

Configurao do Sistema

O mdulo foi utilizado em dois sistemas operacionais, Windows XP Professional e Windows 7


Professional, ambos no apresentaram problemas de compatibilidade.

O kit comercializado pela ELECHOUSE[1] , inclui o modulo de reconhecimento de voz, cabos para
ligao no Arduno e o microfone para realizar a gravao dos comandos. Porm, para gravar os
comandos no microcontrolador do modulo, necessitamos de um conversor USB TTL que ir
interpretar os comandos enviados para o microcontrolador. Este conversor TTL[2] poder ser
encontrado na mesma loja que o mdulo de reconhecimento de voz. Outrora, podemos utilizar
qualquer conversor TTL que possua interface de comunicao USB ou Serial.

Entretanto, caso utilizar o conversor comercializado pela ELECHOUSE, necessrio

instalar os drivers que iro reconhecer o dispositivo em nosso sistema, e disponvel no link abaixo:

Drivers do ConversorUSB-TTL[3]

Aps realizar o download, certifique-se que o conversor esteja desconectado do computador, assim

abra a pasta "PL2303_Prolific_DriverInstaller_v1_7_0", caso o arquivo estiver compactado com


extenses .zip ou .7z descompacte-o para que no ocorram erros na instalao, e execute o arquivo
"PL2303_Prolific_DriverInstaller_v1.7.0.exe". Concluda a instalao introduza o conversor em uma
das portas USB e espere o termino de configurao do dispositivo. Devemos tambm verificar em
qual porta COM do sistema o conversor est instalado, sendo que esta verificao dever ser feita
pelo Gerenciador de Dispositivos do Windows, sendo que este pode ser acessado pelo comando
devmgmt.msc introduzido no Executar que localizado no Menu Iniciar. Com o gerenciador
aberto, expandir a opo COM/LPT e verificar o dispositivo assim como na figura 1.

Figura 1: Gerenciador de Dispositivos Portas COM

Para verificar se a instalao foi concluda, utilize o arquivo "PL2303CheckChipVersion.exe"


localizado na mesma pasta de instalao, sendo que este dever exibir a verso instalada assim
como na figura 2.
Figura 2: Verificao da instalao do Conversor TTL

Com o conversor j configurado com o sistema operacional, conecte o mdulo de voz ao conversor
TTL seguindo o esquema de ligao da figura 3.

figura 3 : Esquema de ligao do mdulo com o conversor

Comunicao Serial com o mdulo

Aqui podemos utilizar qualquer software que envie comandos pela porta Serial de comunicao do
computador, assim como o HyperTerminal.

Os comandos de configurao do mdulo sero enviados a partir do software AccessPort[4] neste


tutorial, sendo que estes comandos so pr definidos pelo fabricante do microcontrolador. Os
comandos podero ser encontrados no manual elaborado pela ELECHOUSE[5].

Aps realizar o download do AccessPort execute-o pelo arquivo AccessPort.exe, e lembre-se que
este provavelmente tambm estar compactado, assim devemos configurar a comunicao com o
mdulo em tools>configuration, ou ento pressionando a tecla F2, abaixo esto as configuraes
necessrias:

COMx*
Baud rate: 9600
Parity bit: None
Data bit: 8
Stop bit: 1
Send format: Hex
Receive format: Char

* O x representa a porta conectada ao conversor verificada no gerenciador de dispositivos

Com as corretas configuraes pressione CTRL+P e certifique-se o envio de comandos


Hexadecimais pressionando Hex na parte de envio de comandos Send->.

Inicialmente enviaremos o comando AA 11 que representa ao microcontrolador a ao de gravar o


primeiro grupo de comandos, sendo que possvel gravar at 3 grupos de comandos com 5 tipos
diferentes em cada.

Alguns feedbacks sero enviados para o AccessPort para o orientar o programador qual a instruo
interpretada, veja na figura 4.
Figura 4: Comunicando com o mdulo de voz

A completa gravao de um comando representada como Finish one, sendo que ao finalizar a
gravao dos 5 comandos do grupo a mensagem Group1 finished exibida .

Aps finalizada a gravao do primeiro grupo de instrues devemos enviar o comando AA 21 que
representa ao microcontrolador a ao de importar os comandos gravados no grupo 1 e iniciar o
reconhecimento destes comandos.

Integrao ao Arduno

Com a programao do mdulo concluda podemos iniciar a montagem do circuito junto ao Arduno
conforme a figura 6.
Figura 6 : Esquema de ligao do mdulo de voz com o Arduno

Abaixo o cdigo para programao do Arduno com alguns comentrios.

int led = 13; //ligar led no pino 13

byte com = 0; //comandos recebidos pelo modulo de voz

void setup()

Serial.begin(9600);

//definicao do led 13 como sada

pinMode(led, OUTPUT);
delay(2000);

//Comandos de configuracao do modulo de voz

Serial.write(0xAA);

Serial.write(0x37);

delay(1000);

//Comandos de configuracao do modulo de voz

Serial.write(0xAA);

Serial.write(0x22);

//Pre definicao do estado do led 13

digitalWrite(led,HIGH);

void loop() // funcao de recorrencia

while(Serial.available())

com = Serial.read();

switch(com)

//A cada comando reconhecido pelo mdulo o Arduino ir piscar o LED 13

case 0x21:

digitalWrite(led,LOW);

delay(250);

digitalWrite(led,HIGH);

break;

case 0x22:

digitalWrite(led,LOW);

delay(250);

digitalWrite(led,HIGH);
break;

case 0x23:

digitalWrite(led,LOW);

delay(250);

digitalWrite(led,HIGH);

break;

case 0x24:

digitalWrite(led,LOW);

digitalWrite(led,HIGH);

break;

case 0x25:

digitalWrite(led,LOW);

delay(250);

digitalWrite(led,HIGH);

break;

Aps a compilao do programa acima e feito o upload para a placa do Arduno, pressione o boto
reset do Arduno e o sistema j poder ser utilizado para acionar o LED 13.

Links

[1]
kit comercializado pela ELECHOUSE

http://www.elechouse.com/elechouse/index.php?main_page=product_info&cPath=168_170&product
s_id=2151

[2]
conversor TTL

http://www.elechouse.com/elechouse/index.php?main_page=product_info...

[3]
Drivers do ConversorUSB-TTL

http://www.elechouse.com/elechouse/index.php?main_page=product_info...

[4]
software AccessPort
http://www.sudt.com/en/ap/download.htm

[5]
manual elaborado pela ELECHOUSE

http://www.elechouse.com/elechouse/images/product/Voice%20Recogniti...

Você também pode gostar