cortes de luz abril 2024 en la provincia de tungurahua
Rostro Expresivo
1. UNIVERSIDAD TÉCNICA PARTICULAR DE LOJA “ROSTRO EXPRESIVO” Proyecto de Programación 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 TEMA: Rostro Expresivo. 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. InterfazPIC 16F628ACOMUNIC.Rs232 (SERIAL)ServomotoresRostro ( visualización)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. OBJETIVOS: 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. 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. 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. 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. 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. HERRAMIENTAS: 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 , 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. 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). 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. 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. [4].MICROCODEESTUDIO. Disponible en http://www.mecanique.co.uk/code-studio/[7.3].MICROCODEESTUDIO. Disponible en http://www.mecanique.co.uk/code-studio/ ALGORITMOS: Programación de Computadora Inicio Abrir puerto serial Si (respuesta=ok) Hacer Hacer 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” Ingresar y leer opción. Mientras (opción es diferente de ‘1’, ‘2’, ‘3’, ‘0’) Si(opción=’1’) Enviar por el PIN2 del puerto serial opción=’1’ al PIC. Si(opción=’2’) Enviar por el PIN2 del puerto serial opción=’2’ al PIC. Si(opción=’3’) Enviar por el PIN2 del puerto serial opción=’3’ al PIC. Pausa o espera de la respuesta de confirmación. Recibir confirmación por el PIN3 del puerto serial. Si(confirmación=’1’) Presentar “Estoy feliz” Si(confirmación=’2’) Presentar “Estoy triste” Si(confirmación=’3’) Presentar “Estoy enojado” Mientras(opción es diferente de ‘0’) Fin InicioRostro alegreAbrir puerto serialRostro tristeRostro enojadoSalirSeleccione una opciónOP(OP=0 | OP=1 |OP=2 | OP=3)OP=1 Estoy felizVOP=2 Estoy tristeVOP=3Estoy enojadoVOP=0FinFFDIAGRAMA DE FLUJO Programación de Computadora Programación Del PIC Inicio Recibir opción por el puerto serial por el PORTB.1 y almacenar en opción. Generar secuencia de movimiento de los servomotores. Si (opción=’1’) Servomotores de las cejas permanecer en 0º. Servomotores de la boca girar 90º hacia arriba. Si(opción=’2’) Servomotor de la ceja derecha girar 45º Servomotor de la ceja izquierda girar 135º Servomotores de la boca girar 90º hacia abajo Si (opción=’3’) Servomotor de la ceja derecha girar 135º Servomotor de la ceja izquierda girar 45º Servomotores de la boca permanecer en 0º opción=confirmación 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. InicioRostro alegreAbrir puerto serialRostro tristeRostro enojadoSalirSeleccione una opciónOP(OP=0 | OP=1 |OP=2 | OP=3)OP=1 Estoy felizVOP=2 Estoy tristeVOP=3Estoy enojadoVOP=0FinFFDIAGRAMA DE FLUJO Programación Del PIC 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. 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/