Download - Rostro Expresivo
UNIVERSIDAD TÉCNICA PARTICULAR DE LOJA
“ROSTRO EXPRESIVO”
Autores: Luis Fernando Benítez Carpio
Eduardo Israel Brito Vivanco
Eduardo Campoverde Encalada
Primer Ciclo
Carrera: Ingeniería Electrónica y Telecomunicaciones
Asesor: Ing. Patricio Puchaicela Huaca
Loja-Ecuador
2009-2010
1. TEMA:
Proyecto de Programación
Interfaz
PIC 16F628ACOMUNIC.Rs232 (SERIAL)
Servomotores
Rostro ( visualización)
Rostro Expresivo.
2. DESCRIPCIÓN:
Se desarrollará un programa en el lenguaje C++ para que interactúe con el puerto serial,
pudiendo transmitir al PIC tipos de datos char, y así el rostro exprese emociones como
felicidad, tristeza o enojo. Además una interfaz para que el PIC retorne a la computadora
mensajes de inicialización de movimiento y finalización del mismo. Para ello:
El rostro consta de cuello, cejas, ojos y boca; de las cuales las cejas y boca son móviles, pues
mediante servomotores se permitirá el movimiento de los mismos para que puedan expresar
emociones como tristeza, alegría o enojo, también de un cuello móvil en el que se encuentra un
servomotor, permitiendo que el rostro gire conforme se le envíe órdenes desde la computadora
los grados que necesitemos.
La clase de emoción será ingresada a la computadora mediante el teclado; la
computadora mediante comunicación serial envía el dato al PIC y este a su vez lo
transmite a los diferentes servomotores para que ejecuten el movimiento
correspondiente a las cejas, el cuello y la boca, permitiendo visualizar la emoción
ingresada. Una vez completado el movimiento de las cejas y de la boca el PIC enviará a
la computadora mensajes como: “Estoy feliz”, “Estoy triste” o “Estoy enojado” según
haya sido la orden del usuario.
Figura 1. Rostro expresivo.
3. OBJETIVOS:
3.1.GENERAL:
Construir un rostro inteligente que permita visualizar emociones insertadas por
computadora con la ayuda de herramientas como: computadora, grabador de pics,
project board, programa C++, microcode estudio y winpic 800.
3.2.ESPECÍFICOS:
Construir un rostro que conste de tres servomotores para que permita el
movimiento de las cejas, la boca y el cuello, es decir, el hardware de nuestro
proyecto.
Programar con el programa C++ el movimiento de los servomotores las cejas,
boca y cuello, respectivamente, para que realicen los giros adecuados
representando las emociones insertadas.
Programar la computadora y enviar las sentencias por medio de un puerto serial
al PIC.
Programar el PIC para que reciba órdenes de la computadora y las transmita a
los servomotores y éste a su vez retorne mensajes a la computadora.
Conseguir que el rostro a través de los sensores gire y siga un haz de luz.
4. METODOLOGÍA:
La metodología empleada en la ejecución del presente proyecto se enmarcó en los
siguientes métodos:
El Método Científico, que será la guía principal de nuestro proyecto, nos permitirá
conocer la forma en cómo debemos llevar a cabo el proyecto. Dentro de este método
podemos mencionar los siguientes métodos que sirven para el desarrollo de este
proceso:
Método Analítico: en nuestro proyecto lo aplicaremos fundamentalmente en el análisis
de lo que queremos lograr con el proyecto y conforme a esto analizaremos también los
algoritmos tomando en cuenta que tienen que ser sencillos, claros y precisos conforme
con lo que queremos lograr en el proyecto; se analizará las bibliotecas que debemos
utilizar y las funciones que requerimos aplicar en la programación del hardware.
Aplicaremos también el análisis en la consulta bibliográfica acerca de la programación,
herramientas y en si fundamentos teóricos que debemos tener para el desarrollo de
nuestro proyecto.
Método Sintético: La revisión bibliográfica que hicimos acerca de nuestro proyecto la
reduciremos a lo principal o que creemos más importante y de mayor uso para la
realización de nuestro proyecto. El método sintético también estará presente en la
reducción al máximo de las sentencias del programa que crearemos para el
funcionamiento de nuestro hardware tomando en cuenta que el programa debe ser
sencillo, claro y preciso.
Método Deductivo: De los programas que iremos creando poco a poco que funcionen
con un puerto serial deducimos la estructura y ciertas funciones y sentencias que nos
servirán en nuestro software.
Método Inductivo: De las deducciones sacadas en el método deductivo las
incorporaremos en el programa por comparación con otros programas que presenten
estructura y resultados similares.
Método Experimental: Este método es sin duda el más importante de nuestro proyecto
ya que dependiendo de una experimentación bien ejecutada obtendremos las
conclusiones óptimas, este método lo aplicaremos en todo el desarrollo de nuestro
proyecto en sí, tanto en la creación de nuestro hardware como en la creación de nuestro
software.
Diagrama de conexión del PIC y el CI. MAX 232 para enviar y recibir datos
entre un PC y el PIC.
Figura 2. Esquema de comunicación desde le PIC a la PC.
5. ALCANCE:
Con este proyecto se logrará que el rostro exprese tres emociones: alegría, tristeza o
enojo; según la opción que el usuario ingrese; retornando a la computadora el estado de
ánimo en el que se encuentra el rostro. Además, el rostro logre seguir un haz de luz
siempre que éste apunte a los ojos de dicho rostro.
6. RESULTADOS ESPERADOS:
Se espera cumplir con el objetivo general y los objetivos específicos, es decir, poder
construir un rostro inteligente que permita visualizar tres estados de ánimo: alegría,
tristeza o enojo, de acuerdo a la opción ingresada por computadora; con la ayuda de
herramientas como: computadora, grabador de pics, project board, programa C++,
microcode estudio y winpic 800. Para ello esperamos realizar lo siguiente:
Construir un rostro que conste de tres servomotores para que permita el movimiento de
las cejas, la boca y el cuello, es decir, el hardware de nuestro proyecto. Luego
programar en C++ el movimiento de los servomotores las cejas, boca y cuello,
respectivamente, para que realicen los giros adecuados representando las emociones
insertadas. Para ello debemos programar la computadora y enviar las sentencias por
medio de un puerto serial al PIC; logrando que el PIC reciba órdenes de la computadora
y las transmita a los servomotores y éste a su vez retorne mensajes de orden ejecutada a
la computadora. Añadiendo a ello que el rostro a través de los sensores gire y siga un
haz de luz.
7. HERRAMIENTAS:
7.1.HARDWARE:
Computadora: dispositivo electrónico para el ingreso, procesamiento, y
salida de datos.
Servomotor: dispositivo actuador que tiene la capacidad de ubicarse en cualquier posición dentro de su rango de operación, y de mantenerse estable en dicha posición. Está formado por un motor de corriente continua, una caja reductora y un circuito de control, y su margen de funcionamiento generalmente es de menos de una vuelta completa [1].
Figura 3. Servomotor
Displays: dispositivos de visualización
Puerto serial: “Interfaz física de comunicación en serie a través de la cual se transfiere información mandando o recibiendo un bit”.[7.2]
Dicho puerto de comunicación que trabaja con voltajes de ±10 V , y velocidad de transmisión que es medida en baudios.
Figura 4. Puerto Serial
Cable serial: cable que va a comunicar desde el puerto serial de la
computadora hasta el PIC.
PIC 16F628A: microcontrolador o chip que soporta hasta 100000 ciclos de
escritura en su memoria FLASH, y 1’000000 ciclos en su memoria Eeprom.
Dicho PIC incorpora tres características importantes que son:
Procesador tipo RISC (Procesador con un Conjunto Reducido de
Instrucciones)
Procesador segmentado
Arquitectura HARVARD
“Con la estructura segmentada se pueden realizar simultáneamente las dos fases
en que se descompone cada instrucción, ejecución de la instrucción y búsqueda
de la siguiente.La separación de los dos tipos de memoria son los pilares de la arquitectura
Harvard esto permite acceder en forma simultánea e independiente a la a de
datos y a la de instrucciones. El tener memorias separadas permite que cada una
tenga el ancho y tamaño más adecuado. Así en el PIC 16F628 el ancho de los
datos es de un byte, mientras que la de las instrucciones es de 14 bits”. [7.3]
Figura 5. PIC 16F628
CI. MAX 232: es un dispositivo que sirve de solución para transmitir a
mayor distancia, ya que incrementa los niveles de voltaje de 5V a gracias a
un juego de capacitores que le ayudan a doblar los voltajes, por lo que para
su alimentación sólo se requiere una fuente de 5V.
±10 V
Grabador de PIC: es un dispositivo que permite grabar en el PIC el
programa realizado en el Microcode estudio.
Project board: placa para armar los circuitos y probarlos (placa de
pruebas).
7.2.SOFTWARE:
Programa C++: entorno de desarrollo del algoritmo en computadora.
Microcode estudio: “Herramienta de generación de código que permite a un usuario para implementar rápidamente la comunicación bidireccional entre un microcontrolador PIC ™ integrado y un PC”. [7.4]
Winpic 800: Software para grabación del microcontrolador. se usa para
enviarle el software al PIC.
8. DESARROLLO DE MÓDULOS.
8.1 HARDWARE:
Los pasos a describir son secuenciales.
1ra Etapa:
Envió de pulsos por el pin 3 hacia el PIC para la transformación de las órdenes a código
binario.
2da Etapa:
Enviar los pulsos del PIC al rostro expresivo.
3ra Etapa:
Recepción de pulsos y transformar código binario a instrucción normal
8.2 SOFTWARE:
Los pasos a describir son secuenciales
1ra Etapa:
Implantar objeto de transmisión serial.
2da Etapa:
Implantar puntos de comunicación serial.
3ra Etapa:
Empezar comunicación serial.
4ta Etapa:
Ingreso de instrucciones por teclado y su almacenamiento en sus respectivas variables.
5ta Etapa:
Transmisión de datos vía comunicación serial.
6ta Etapa:
Recepción y ejecución de instrucciones.
9. ALGORITMOS:
Programación de Computadora
1. Inicio
2. Abrir puerto serial
3. Si (respuesta=ok)
4. Hacer
5. Hacer
6. Presentar “Programa para mover el rostro expresivo”
“Seleccione la expresión del rostro: “
“1. Rostro Alegre”
“2. Rostro Triste”
“3. Rostro Enojado”
“0. Salir del programa”
7. Ingresar y leer opción.
8. Mientras (opción es diferente de ‘1’, ‘2’, ‘3’, ‘0’)
9. Si(opción=’1’)
10. Enviar por el PIN2 del puerto serial opción=’1’ al PIC.
11. Si(opción=’2’)
12. Enviar por el PIN2 del puerto serial opción=’2’ al PIC.
13. Si(opción=’3’)
14. Enviar por el PIN2 del puerto serial opción=’3’ al PIC.
15. Pausa o espera de la respuesta de confirmación.
16. Recibir confirmación por el PIN3 del puerto serial.
17. Si(confirmación=’1’)
18. Presentar “Estoy feliz”
19. Si(confirmación=’2’)
20. Presentar “Estoy triste”
21. Si(confirmación=’3’)
22. Presentar “Estoy enojado”
23. Mientras(opción es diferente de ‘0’)
24. Fin
Inicio
Rostro alegre
Abrir puerto serial
Rostro triste
Rostro enojado
Salir
Seleccione una opción
OP
(OP=0 | OP=1 |OP=2 | OP=3)
OP=1
Estoy feliz
V
OP=2
Estoy triste
V
OP=3
Estoy enojado
V
OP=0
Fin
F
F
9.1. DIAGRAMA DE FLUJO
Programación de
Computadora
Programación Del PIC
1. Inicio
2. Recibir opción por el puerto serial por el PORTB.1 y almacenar en opción.
3. Generar secuencia de movimiento de los servomotores.
4. Si (opción=’1’)
5. Servomotores de las cejas permanecer en 0º.
6. Servomotores de la boca girar 90º hacia arriba.
7. Si(opción=’2’)
8. Servomotor de la ceja derecha girar 45º
9. Servomotor de la ceja izquierda girar 135º
10. Servomotores de la boca girar 90º hacia abajo
11. Si (opción=’3’)
12. Servomotor de la ceja derecha girar 135º
13. Servomotor de la ceja izquierda girar 45º
14. Servomotores de la boca permanecer en 0º
15. opción=confirmación
16. Enviar confirmación a la computadora por el puerto serial.
Movimiento con sensores
Como los sensores que van ubicados en los ojos son fotosensibles, al detectar un haz luminoso el servomotor del cuello gira a la posición de donde se está enfocando dicho haz luminoso.
9.2.
Inicio
Rostro alegre
Abrir puerto serial
Rostro triste
Rostro enojado
Salir
Seleccione una opción
OP
(OP=0 | OP=1 |OP=2 | OP=3)
OP=1
Estoy feliz
V
OP=2
Estoy triste
V
OP=3
Estoy enojado
V
OP=0
Fin
F
F
DIAGRAMA DE FLUJO
Programación Del PIC
10. BIBIOGLAFÍA:
ANDER-EGG, Ezequiel, AGUILAR IDÂÑEZ, María José, “Como
elaborar un proyecto”.
Benjamín Pinza Suárez, “PRONTUARIO ACADÉMICO Y DE
INVESTIGACIÓN”.
QUEZADA, Miguel, “PROYECTO DE INVESTIGACIÓN”, para
Segundo año de Bachillerato.
SOTELO, José. “Guía de la investigación comparada para la
metodología”.
REYES, Carlos, “Microcontroladores PIC”, Segunda Edición.
11. REFERENCIAS:
Figura [1]. http://axxon.com.ar/not/158/c-1580271.htm
Figura [2]. INTERFAZ PIC-PC. Disponible en REYES, Carlos, “Microcontroladores PIC”,
Segunda Edición - Página 135.
[7.1] y Figura [3]. MOTOR PASO-PASO. Disponible en http://es.wikipedia.org/wiki/ Servomotor
[7.2] y Figura [4]. PUERTOSERIAL. Disponible en http://es.wikipedia.org/wiki/ Puertoserial
[7.3] y Figura [5]. PIC 16F628. Disponible en http://micropic.wordpress.com/2007/ 01/12/el-pic-16f628/