Vous êtes sur la page 1sur 24

PONTIFICIA UNIVERSIDAD CATLICA DE VALPARASO

ESCUELA DE INGENIERA ELCTRICA

INFORME FINAL

CONTROL DE ILUMINACION DE UNA CASA POR VOZ

Alumnos:

SERGIO ANDRS GALAZ MIRANDA


MARIO ALFONSO VASQUEZ MENA

Profesor:

JOAQUIN ASTORGA CORNEJO

Ramo

EIE582-1: MICROCONTROLADORES APLICADOS

VALPARAISO, 17 DE ENERO 2012

NDICE

INTRODUCCIN .............................................................................................. 2
OBJETIVOS ..................................................................................................... 3
1.1. Objetivo General ................................................................................ 3
1.2. Objetivos Especficos ......................................................................... 3
MATERIALES .................................................................................................. 4
CAPITULO 1
MODULO EASYVR ARDUINO SHIELD .......................................................... 5
CAPITULO 2
MONTAJE ........................................................................................................ 9
2.1.
Maqueta de Casa............................................................................... 9
2.2.
Montaje de Modulo EasyVR y Audio................................................ 10
CAPITULO 3
PROGRAMACION.......................................................................................... 13
3.1.
Entrenamiento del Modulo de Reconocimiento de Voz................. 13
3.2.
Cargado de la Tabla de Sonidos ..................................................... 14
3.3.
Programacin Arduino..................................................................... 15
CAPITULO 4
RESUMEN DEL FUNCIONAMIENTO DEL SISTEMA ................................... 19
CAPITULO 5
CONTRATIEMPOS ........................................................................................ 20
CONCLUSIN................................................................................................ 22
BIBLIOGRAFA.............................................................................................. 23

INTRODUCCIN

El presente proyecto ha sido desarrollado para su implementacin en el rea


de la domtica. Al ser un proyecto para el ramo de Micro-controladores aplicados,
este proyecto fue realizado a escala e implementado de forma didctica sobre una
maqueta que simula una casa, donde el objetivo principal es desarrollar la idea del
proyecto que podra ser mayormente elaborado aplicando dems reas de la
electrnica y electricidad para su puesta en marcha.
Este proyecto desarrolla un sistema de control que manejar variables en una
casa, especficamente un control de seguridad de acceso a una casa y el manejo de
las luces de las diferentes habitaciones a travs del reconocimiento de la voz,
incluyendo dar diferentes intensidades a la luces, utilizando sencillos comandos preentrenados como; dormitorio, cocina, encender, apagar, media, baja, etc.
El funcionamiento principal consiste en que cuando el sistema se inicia pide el
ingreso de un usuario (a travs de sonidos pregrabados en el reconocedor de voz).
Cuando se dice un usuario correcto pregunta por una contrasea. Al dar decir una
contrasea correcta se permite el ingreso a la casa abriendo la puerta para el
usuario. Una vez cumplido esto se cierra la puerta y el sistema queda a la espera de
los comandos de voz. Es as como diciendo cocina, luego encender (o de otra
forma on) el micro-controlador reconoce los comandos y enciende la luz de la
cocina y as con todas las habitaciones. Tambin estn los comandos media y
baja para conseguir otras intensidades en las luces para conseguir ambientes
deseados.
Principalmente el sistema est desarrollado en Arduino utilizando el EasyVR
Shield que es el mdulo de reconocimiento de voz que est especialmente fabricado
para ser acoplado a Arduino. Este mdulo es el componente principal del sistema,
que tiene las funciones de reconocer voz y emitir sonidos que pueden ser cargados a
l. Las seales de reconocimiento entregadas por EasyVR son procesadas por
Arduino de acuerdo a la programacin realizada para los objetivos deseados.

OBJETIVOS

1.1.

Objetivo General
Controlar el encendido/apagado y la intensidad de las luces de una casa por

medio del reconocimiento de voz. Adems implementar un sistema de seguridad que


pida ingresar un usuario y contrasea por voz para permitir el ingreso a la casa
abriendo y cerrando la puerta principal.

1.2.

Objetivos Especficos
Entrenar y configurar el modulo de reconocimiento de voz EasyVR Shield para
utilizarlo junto a Arduino.

Programar Arduino para ejecutar ordenes, segn el reconocimiento de voz


entregado por EasyVR shield, para el control de Servomotor y luces LED.

Configurar el sistema para que inicialmente pida a travs de la voz el


reconocimiento de una clave de acceso que permita empezar con las rutinas
de control.

Cada comando de voz realizar actuaciones independientes entre s, segn el


requerimiento del usuario.

Montar una maqueta de una casa con sus habitaciones respectivas, conectar
diodos LED para simular iluminarias de la casa.

Realizar las conexiones adecuadas de un y luces LED de las salidas PWM del
Arduino.

Grabar sonidos en el mdulo EasyVR que permitan hacer la interaccin con el


sistema como; Diga un usuario, contrasea invlida, intntelo nuevamente,
etc. Tambin utilizar un pitido para saber si un comando ha sido reconocido
correctamente.

Realizar un amplificador de sonido para obtener una mayor claridad y potencia


de los sonidos sern grabados en el mdulo EasyVR.

MATERIALES

Plataforma electrnica Arduino UNO.

Modulo EasyVR Shield para Arduino.

1 Servomotor de 180.

8 Resistencia de 220[], 1 Resistencia de 1k[].

Potencimetro de 10k[].

Amplificador de Audio LM386.

Condensadores Electrolticos 220u[F], 10u[F].

Condensador Cermico 0.047u[F].

Micrfono Electret.

Parlante de 8[].

Batera de 9[V].

Cables.

Computador (PC).

Cartn Madera.

Mica Transparente.

Silicona.

Cinta adhesiva de papel.

CAPITULO 1
MODULO EASYVR ARDUINO SHIELD
El modulo EasyVR Arduino Shield es un potente modulo de reconocimiento de
voz y reproduccin de sonidos. Las voces a reconocer pueden estar predefinidas y
grabadas internamente. Tambin puede grabar y reconocer voces definidas por el
propio usuario y en cualquier idioma. En este caso se tratan de voces dependientes
del micrfono, que se supone previamente han sido enseadas y grabadas en la
memoria interna del modulo.

Figura 1 EasyVR Arduino Shield.

Posee 26 comandos y voces pre-programadas en: ingls, italiano, japons,


alemn, francs y espaol. Adems pueden agregarse 32 comandos

y sus

correspondientes voces definidas por el usuario en cualquier idioma, estos 32


comandos pueden ser distribuidos en 16 grupos.
Dispone de una interfaz grfica para usuario llamada EasyVR Commander,
que se comunica con el modulo va COMx del PC. Una vez hecha la conexin,
permite entrenar los comandos (estos pueden separarse u ordenarse en 16 grupos)
y voces al mdulo. Tambin permite cargar en la memoria interna del mdulo una
tabla de sonidos.

Figura 2 Interfaz grfica para usuario EasyVR commander.


En el rea de grupos aparecen los grupos 0-16 disponibles para almacenar las
voces definidas por el usuario y otros tres llamados Wordsets 1, 2 y 3 donde estn
almacenadas las voces pregrabadas. Al lado de cada grupo aparece tambin el

nmero de voces que contiene el mismo. Debajo de todo hay un ltimo grupo,
SoundT, donde se pueden almacenar diferentes sonidos digitalizados para posterior
reproduccin.
En el rea de comandos se Editan/Visualizan las etiquetas o comandos
asociados a las voces y que posicin ocupan dentro de un determinado grupo. Un
comando o etiqueta no es ni ms ni menos que una cadena ASCII de hasta 32
caracteres. Toda etiqueta o comando debe estar asociado a una voz o viceversa,
durante la fase de enseanza. De esta forma, cuando el mdulo reconozca una voz,
devuelve el comando o etiqueta asociada a la misma.
La comunicacin con el mdulo EasyVR utiliza el estndar UART compatible
con 3.3[V] a 5[V] (niveles lgicos TTL/CMOS), de acuerdo con la tensin de
alimentacin Vcc. Una tpica conexin a un Host MCU (Multipoint Control Unit).

Figura 3 Diagrama de Comunicacin.


La configuracin inicial en el arranque es de 9600 baudios, 8 bit de datos, Sin
Paridad, 1bit de termino. (La velocidad de transmisin puede ser cambiada en el
rango de 9600 a 115200 baudios)
El protocolo de comunicacin solo utiliza caracteres ASCII imprimibles, que se
pueden dividir en dos grupos: Caracteres de mando y estado, respectivamente, en
las lneas de transmisin TX y recepcin RX. Y caracteres de comandos o detalles
del estado, de nuevo en la transmisin TX y recepcin RX.

Cada comando enviado en la lnea TX, con cero o ms un bytes de argumento


adicional, recibe una respuesta en la lnea RX en la forma de un byte de estado
seguido de un cero o ms argumentos.
La comunicacin es albergada e impulsada y cada byte de la respuesta a una
orden tiene que ser reconocida por el host para recibir informacin adicional de
estado, utilizando un espacio. Si la respuesta posee otro carcter se cancela
automticamente, no hay necesidad de leer todos los caracteres. Si el host no enva
todos los argumentos necesarios de un comando, el comando es ignorado por el
modulo, sin previa notificacin, y el host puede empezar a enviar otro comando.

CAPITULO 2
MONTAJE
2.1.

Maqueta de Casa
La maqueta de la casa consiste en una vista transversal de una casa que

contiene tres plantas (Figura 4). La primera planta contiene el Living y la Cocina. La
segunda planta contiene el Dormitorio 1, un Pasillo, el Bao y un Dormitorio 2. Por
ltimo, la tercera planta contiene el tico 1 y tico 2.

Figura 4 Maqueta de casa

Cada habitacin contiene una luz LED que es conectada a travs de una
resistencia de 220[] a las salidas digitales y PWM del Arduino, segn la Tabla 1.

Tabla 1 Pines de conexin los LED en el Arduino


Habitacin

N de Pin

Tipo de Salida (usada)

Living

PWM

Cocina

Digital

Dormitorio 1

PWM

Bao

Digital

Pasillo

10

Digital

Dormitorio 2

11

PWM

tico 1

Digital

tico 2

Digital

El Servomotor se conecto a la puerta de la casa y a la salida PWM del Arduino


en el Pin 9.

2.2.

Montaje de Modulo EasyVR y Audio.


El mdulo EasyVR dispone de una placa que contiene los mismos pines que

el Arduino, montndose fcilmente y replicando todas las entradas/salidas del


Arduino para ser utilizadas (Figura 5).

Figura 5 Montaje de modulo EasyVR en Arduino Uno.

10

El micrfono se monta directamente en la placa que contiene el mdulo


EasyVR. El modulo tambin permite conectar un parlante de 8[] sin necesidad de
usar amplificador. Sin embargo, debido a que el volumen del audio era muy bajo se
utiliz un amplificador de audio con el circuito integrado LM386, entregado por el
fabricante (Figura 6).

Figura 6 Montaje de circuito amplificador de audio y Circuito amplificador de


Audio entregado por el fabricante (Texas Instruments).

De acuerdo a lo mencionado anteriormente se obtiene el sistema mostrado en


la Figura 7 que consisten en la maqueta de la casa, la protoboard donde se mont el
Arduino con el mdulo de reconocimiento de voz, micrfono, el amplificador de audio
y el parlante.

11

Figura 7 Sistema de control de luces LED por voz.

Figura 8 Vista lateral del sistema de control de luces LED por voz.

12

CAPITULO 3
PROGRAMACION
3.1.

Entrenamiento del Modulo de Reconocimiento de Voz


Esta etapa consisti en grabar las voces que se asocian a los comandos u

rdenes que se usen durante el reconocimiento de voz. Para ello se realizaron los
siguientes pasos:
1. Se debe preparar el mdulo para conectarlo por el puerto COMx para
esto se debe colocar el jumper que trae la placa en PC.
2. Una vez hecha la conexin se selecciona el grupo al que pertenece el
comando al que se quiere asociar una voz.
3. Se seleccion el comando propiamente dicho y se asigno la etiqueta
correspondiente.
4. Mediante el botn Train Command se inicia el ciclo de enseanza.
5. Se dicta la voz en 2 instancias para tener una mayor garanta en los
posteriores reconocimientos.
6. Y se repite el proceso con todos los comandos u rdenes que se
utilizar.
7. Una vez enseado todos los comandos u rdenes se prueban
presionando el botn Test Group, as iniciando el reconocimiento.
8. Se dicta cualquiera de las voces grabadas en el grupo, si la voz es
reconocida, la etiqueta o comando asociada a ella queda resaltada. Y
as se repite el proceso para asegurarse del correcto reconocimiento de
voz.
En la Figura 9 se observan los comandos que se ensearon en sus
respectivos grupos. En el Grupo 1 se encuentran los comandos para identificar las
salas (Dormitorio 1, Dormitorio 2, Living, Cocina, etc.). En el Grupo 2 se encuentran
los usuarios que se utilizaran para tener acceso al sistema de control (Sergio, Mario).
En el Grupo 3 se encuentran las rdenes para el encendido o apagado de las luces

13

(On, Off, Media y Baja). Por ltimo, en el Grupo 16 se encuentran los password para
acceder al sistema de control de luces por voz.

Figura 9 Comandos entrenados al modulo de reconocimiento de voz.

3.2.

Cargado de la Tabla de Sonidos


Luego del proceso de entrenamiento se cargo la tabla de sonido al mdulo

siguiendo el siguiente procedimiento:


1. Se prepara el mdulo cambiando el jumper de PC a UP el cual enciende
una luz roja que indica que se puede actualizar la tabla de sonidos.
2. Luego se generaron los sonidos por medio de una herramienta llamada
TextAloud que permite por medio de la escritura de texto, reproducirlo y
grabarlo en un archivo .WAV.

14

3. Los sonidos se prepararon en el programa QuickSynthesys 5 (viene con el


EasyVR commander) los archivos deben ser WAV, con 16 bits sin
compresin y mono de 22050Hz. Generando un archivo .qxp, que permite
cargar los sonidos al mdulos mediante EasyVR commander.
4. Luego se procede a cargar los sonidos con EasyVR commander
presionando el botn Update Sound Table.

Figura 10 Actualizacin de la Tabla de Sonidos, Tabla de Sonidos en el


modulo.
Los sonidos grabados son: Hola, identificarse por favor, Por favor, diga su
password, Acceso autorizado, bienvenido seor, Acceso no autorizado, vuelva a
intentarlo, Sistema activado, Sistema desactivado, Por favor, repita y Por favor,
hable ms fuerte.

3.3.

Programacin Arduino
La programacin en Arduino es sencilla ya que EasyVR trae una librera que

se puede utilizar (el cdigo ser adjuntado en un CD ya que es muy extenso).


El cdigo consta en una primera parte, que consiste en la definicin de sus
variables y libreras a utilizar, aqu se definieron los pines para los LEDs y para el
servo motor mas unas variables auxiliares (las que se debe tener en cuenta son
group, access y aux, para efecto de la explicacin).

15

A dems detecta si se encuentra conectado el mdulo a Arduino de ser as


realiza la configuracin correspondiente (Tiempo mximo para el reconocimiento,
Idioma, Nivel de reconocimiento de voz). Luego comienza el ciclo para obtener el
usuario y el password correspondiente para activar el sistema de control de luces por
voz.
En primera instancia el programa imprime en el puerto serial todos los grupos
y comandos que se pueden utilizar, esto se puede observar abriendo el Serial
Monitor de Arduino IDE.
Luego el programa reproduce el sonido que saluda y pide identificarse. Y aqu
comienza el programa principal; primero verifica si la variable access es cero, de ser
as ejecuta el cdigo para ingresar el usuario y password. Una vez dentro de este IF
enciende el LED verde del modulo EasyVR que significa que est escuchando,
imprime en puerto serie Diga su nombre: y ah espera por un usuario. Si se dicta un
nombre este lo reconoce en el grupo 2 (Sergio, Mario) de ser correcto apaga el LED
del mdulo y reproduce el sonido Por favor, diga su password. Se dicta el
password, si este password corresponde al mismo ndice del usuario se reproduce el
sonido Acceso autorizado, bienvenido seor y adems mueve el servo a 180
espera 2.5 segundos y vuelve a 90, y por ultimo asigna a la variable access un uno.
De no ser correcto el password reproduce el sonido Acceso no autorizado, vuelva a
intentarlo y reinicia el programa volviendo a preguntar por un usuario. (Cada vez que
pasa algo imprime en el puerto serial. Por ejemplo, el usuario, el password, y lo que
reproduce, como tambin aparece un mensaje de error cuando el comando dicho no
coincide con ninguno establecido).
Una vez que el password coincide con el usuario se asignada a access un uno
por lo tanto entra al programa principal de control de luces y reproduce Sistema
Activado. Aqu queda esperando por una orden en el grupo 1 (Living, Cocina,
Dormitorio 1, etc.) enciende LED verde del modulo, si se dicta un comando el LED se
apaga y reproduce un pitido y vuelve a encender el LED, y asigna a la variable aux
un numero segn corresponda al comando dicho (Por ejemplo, Living aux=0 y
Cocina aux=1). Ahora espera por un comando del grupo 3 (On, Off, Media, Baja). Si

16

se dicta nuevamente un comando el LED se apaga y reproduce un pitido y ejecuta la


orden. Por ejemplo, si se dicta On enciende el LED correspondiente a la sala que se
dicto anteriormente y luego vuelve a esperar una orden pero del grupo 1.
Este programa no posee GUI, sin embargo, como se mencion anteriormente
se puede utilizar el Serial Monitor de Arduino IDE para visualizar como se produce el
cambio de estados, ingreso y reconocimiento de comandos. Adems para su
implementacin real esta GUI no sera estrictamente necesaria ya que no cumplira
ningn objetivo dentro del sistema.
Otra forma de visualizar el programa del sistema es a travs del diagrama de
flujos mostrado en la figura 11. Se puede observar paso a paso el funcionamiento del
programa y los lazos o loops que contiene, tanto el modo de realizar el barrido segn
se vayan realizando los reconocimientos de la voz. Tambin se observa que cuando
un comando no es reconocido, el mdulo seguir a la espera dentro del mismo
grupo, pasando al siguiente slo cuando se produce una coincidencia. Una vez
dentro de la casa en cualquier momento se podr utilizar el comando Desactivar
que fue programado para que apague todas las luces de la casa y nuevamente
quede activado el sistema de seguridad, que estar a la espera del ingreso de un
usuario para poner nuevamente en funcionamiento el programa principal.

17

Figura 11 Diagrama de flujo

18

CAPITULO 4
RESUMEN DEL FUNCIONAMIENTO DEL SISTEMA
El sistema se inicializa. El mdulo de reconocimiento de voz posee un
led verde. Cuando el mdulo est escuchando este led se mantiene encendido.
Cuando el mdulo reconoce un comando este led se apaga y realiza las acciones
programadas, reproduciendo algn sonido (en este caso un pitido o bip entre
comandos u otro sonido segn el estado del programa como; Acceso no autorizado,
intentelo nuevamente).
En primera instancia se produce un saludo: Hola, indetificarse por favor,
luego el mdulo escucha. Si se dicta un usuario correcto pide una contrsea Por
favor diga su password. Si se dicta una contrasea correcta se escucha una
bienvenida, se abre la puerta principal por un tiempo y luego se cierra; Sistema
Activado dice el sistema. Luego se puede decir el nombre de cualquier habitacin
(de las preestablecidas), si es correcto se reproduce un bip que indica que se
puede dar la siguiente orden on, off, media, baja. Si se indica una orden
correcta se repruduce un bip y se realiza la accin deseada en las luces de la casa.
Estando dentro de la casa, cuando se indica algn comando desconocido, no se
produce respuesta de ningn tipo. El sistema slo seguir escuchando. Finalmente
si se dicta el comando Desactivar todo el sistema es desactivado; se apagan todas
las luces y el sistema queda nuevamente a la espera de un usuario y su contrasea.
Cuando se ingresa un usuario o contrasea incorrecta el sistema indica Acceso no
autorizado, vuelva a intentarlo y queda a la espera. Cabe mencionar que mientras el
sistema esta energizado, en todo momento el mdulo de reconocimiento de voz est
a la espera de comandos, escuchando.

19

CAPITULO 5
CONTRATIEMPOS
Se ha agregado est seccin para manifestar el trabajo realizado como
tambin mostrar algunas ventajas y desventajas que se conocieron del proyecto.
Uno de los primero contratiempos fue la adquisicin del dispositivo EasyVR de
reconocimiento de voz. Por ser un mdulo relativamente nuevo en Chile no fue fcil
importarlo, debiendo para esto acudir a mtodos propios para su obtencin. Ya
pasado algn tiempo se sabe que el mdulo ya est disponible en una tienda
Chilena.
Otro inconveniente presentado fue la potencia entregada por los pines PWM
de Arduino. Al estar muchos de estos pines en funcionamiento, Arduino contaba con
potencia insuficiente ya que es alimentado usando la entrada desde el PC. Esto fue
solucionado cambiando los cdigos del programa, de forma tal que en el momento
en que se dejara de usar la seal requerida para abrir la puerta con el servomotor al
iniciar el sistema, la seal requerida fuera puesta en apagado permitiendo brindarle
ms potencia a los dems PWM que manejan las luces.
Otro problema presentado fue el nivel de reconocimiento de voz que presenta
el mdulo EasyVR. A travs de la programacin se puede establecer algunos niveles
de reconocimiento de voz; EASY, NORMAL, HARD, HARDER, HARDEST. A pesar
de esto se encontr que el sistema tiene alta sensibilidad al ruido ambiente en donde
son grabados los comandos de voz. Por s mismos los comandos grabados y
entrenados por el usuario son sensibles; debiendo usar el mismo tono de voz, las
palabras acentuadas siempre de la misma forma y reconocimiento especial de las
frecuencias de cierto usuario. Para esto se debe entrenar al dispositivo en el mismo
ambiente en que ser ocupado, para evitar problemas con los ruidos indeseados de
otros ambientes. Tambin puede hacerse un entrenamiento tratando de ocupar un
tono de voz ms general y marcando bien los acentos de las palabras y modulando
de forma correcta.

20

Otro inconveniente se encuentra en la potencia del sonido de salida del


EasyVR siendo solucionado aplicando un circuito amplificador de sonido.

21

CONCLUSIN
Para el proyecto fueron alcanzados todos los objetivos planteados
inicialmente. Se consigui construir un sistema que maneja por voz la iluminacin de
una casa, diferenciando las habitaciones y dndole grados distintos de intensidad a
las luces para conseguir ambientes de iluminacin deseados. Adems se concret la
idea de implementar el sistema de seguridad que permita el acceso a la casa solo a
travs del reconocimiento de voz de un usuario y una contrasea correcta.
En cuanto a los objetivos planteados por un sistema en domtica, se
tiene que hay una mejora en el Confort; que conlleva llevar a cabo las acciones que
mejoren la comodidad de sus ocupantes, por ejemplo en el caso de poder encender
y apagar las luces de la casa de forma independiente y desde cualquier lugar de la
casa, estando sentado, de pie, y con diferentes intensidades para dar mejores
ambientes. Se producen tambin mejoras en la seguridad gracias al sistema de
seguridad inicial implementado. En cuanto a accesibilidad se tiene gran ventaja
debido al control remoto del sistema ya que personas con ciertas discapacidades
podran ver facilitadas sus opciones de interaccin lo que lo hace un sistema
accesible y podra ser explotada en mayor medida esta caracterstica del sistema.
A travs del desarrollo de este proyecto se pudieron establecer ciertas
debilidades al momento de implementar el sistema a escala, las cuales fueron
solucionadas tanto de manera fsica, como en programacin dejando el sistema
correctamente en funcionamiento y listo para ser implementado a escala real, incluso
pudiendo agregarle dems funciones que puedan ser requeridas por los usuarios;
como abrir persianas, abrir puertas y ventanas y posiblemente implementar un
sistema de control a distancia.

22

BIBLIOGRAFA

[1] Banzi M., Getting Started with Arduino, 2009.


[2] Enrquez R., Gua de Usuario de Arduino, Noviembre, 2009.
[3] Arduino, http://www.arduino.cc
[4] Veear, EasyVR User Manual, http://www.veear.eu
[5] Mikel, EasyVR Gua rpida, Microsystems Engineering, 2011.

23

Vous aimerez peut-être aussi