Upload
lamdien
View
217
Download
0
Embed Size (px)
Citation preview
UNIVERSIDAD TÉCNICA PARTICULAR DE LOJA
Escuela de Electrónica y Telecomunicaciones
Proyecto de Fin de Curso de Metodología de la Programación
Tema: “Chat Vía Infrarrojo”
Integrantes:María José Araujo
Nathaly CampoverdeRonald Torres
Paralelo: “A”
2
PROYECTO DE METODOLOGÍA DE LA PROGRAMACIÓNEstudiantes del primer ciclo, Escuela de Electrónica y Telecomunicaciones
Periodo:Octubre 2009 – Febrero 2010
3
PROYECTO DE METODOLOGÍA DE LA PROGRAMACIÓNEstudiantes del primer ciclo, Escuela de Electrónica y Telecomunicaciones
1. Objetivos1.1 General
Construcción de un dispositivo transeiver para enviar y recibir datos
usando la interface infrarroja vía puerto serial con el lenguaje Python.
1.2 Específico
Aplicar el estándar RS-232 para transmisión y recepción de datos.
Construir una interface infrarroja de envío y recepción de señales.
Incluir el envío y recepción de archivos de texto
2. Descripción
Imagen 1. Esquema de proyecto
El proyecto consta de dos etapas:
a) Desarrollo de un programa en el lenguaje Python que interactúa con el
puerto serial (DB-9) para la transmisión y recepción de datos tipo string
(cadena de caracteres) y archivos de texto.
b) Una interface para la transmisión y recepción de la trama vía infrarrojo
usando un PIC (microcontrolador) para la generación del dato de salida.
El proyecto funcionará de la siguiente manera:
El usuario digita una palabra o conjunto de palabras en una ventana de edición
de texto. Una vez que ha completado la redacción, pulsa un botón de envío para
4
PROYECTO DE METODOLOGÍA DE LA PROGRAMACIÓNEstudiantes del primer ciclo, Escuela de Electrónica y Telecomunicaciones
la transmisión de los datos por el puerto serial. Estos datos se pasan a un
circuito que hará de transmisor usando la interfaz infrarroja (λ=4000-400 cm-
1). El circuito del usuario receptor captura la señal infrarroja con el sensor y la
pasa al puerto serial (DB-9). El programa del usuario lee el puerto de entrada y
presenta el mensaje en un cuadro estático de texto.
3. Herramientas
3.1 Hardware (por usuario):
oCable DB-9 (1).
o Led infrarrojo (2).
oReceptor infrarrojo (1).
o Transistores 2N2906 (3).
oMicrocontrolador PIC 12FXX (1).
oRegulador de voltaje 7805 (1).
o Juego de resistencias (8).
o Juego de capacitores (3).
3.2 Software:
oPC con programa Python y puerto serial.
4. Metodología
La metodología se divide en las siguientes etapas:
Etapa 1: investigación de la teoría sobre comunicación serial, estándar RS-232,
comandos de comunicación serial del lenguaje Python, programación en CCS del
microcontrolador, comunicación infrarroja, operación de los transistores,
regulación de voltaje, acondicionamiento de la señal. Para la realización de esta
primera etapa nos regimos por la técnica investigativa de la “V Heurística”, puesto
5
PROYECTO DE METODOLOGÍA DE LA PROGRAMACIÓNEstudiantes del primer ciclo, Escuela de Electrónica y Telecomunicaciones
que esta técnica permite plantear preguntas directas al proyecto propuesto y
obtener respuestas concretas y claras respecto a las dudas trazadas.
Etapa 2: pruebas de comunicación serial con Python, manejo de cadena de
caracteres, construcción del circuito transceptor, prueba del circuito con el
Hyperterminal. Determinamos utilizar el lenguaje Python debido a que el
compilador es compatible con cualquier plataforma. Además usamos el
Hyperterminal porque permite conectar otros aparatos independientes a la
computadora por el puerto serial.
Imagen [2]. Circuito de “Transeiver”
Etapa 3: presentación del programa de transmisión serial en Python. Integración
del programa precedente con el circuito de comunicación infrarroja.
5. Fundamentos Teóricos
CHAT: “El chat (término proveniente del inglés que en español equivale a charla),
también conocido como cibercharla, designa una comunicación escrita realizada de
manera instantánea a través de Internet entre dos o más personas ya sea de manera
pública a través de los llamados chats públicos (mediante los cuales cualquier usuario
6
PROYECTO DE METODOLOGÍA DE LA PROGRAMACIÓNEstudiantes del primer ciclo, Escuela de Electrónica y Telecomunicaciones
puede tener acceso a la conversación) o privada, en los que se comunican sólo 2 personas
a la vez.” [4.1.]
PYTHON:”es un lenguaje de scripting independiente de plataforma y orientado a
objetos, preparado para realizar cualquier tipo de programa, desde aplicaciones Windows
a servidores de red o incluso, páginas web. Es un lenguaje interpretado, lo que significa
que no se necesita compilar el código fuente para poder ejecutarlo, lo que ofrece ventajas
como la rapidez de desarrollo e inconvenientes como una menor velocidad.”[4.2.]
PUERTO SERIAL: “Los puertos seriales (también llamados RS-232, por el nombre del
estándar al que hacen referencia) fueron las primeras interfaces que permitieron que los
equipos intercambien información con el mundo exterior. El
término serial se refiere a los datos enviados mediante un solo
hilo: los bits se envían uno detrás del otro”. [4.3.]
Imagen [3.] Puerto Serial
VIA INFRARROJA: “Radiación infrarroja (radiación térmica), tipo de radiación
electromagnética de mayor longitud de onda que la
luz visible pero menos que las microondas. Los rayos
infrarrojos son utilizados para visión nocturna,
comando a distancia, comunicación a corta distancia
entre periféricos y las computadoras.” [4.4.]
Imagen [4.] Comunicación Infrarroja
7
PROYECTO DE METODOLOGÍA DE LA PROGRAMACIÓNEstudiantes del primer ciclo, Escuela de Electrónica y Telecomunicaciones
MICROCONTROLADOR: “Un microcontrolador es un circuito integrado o chip que
incluye en su interior las tres unidades funcionales de
una computadora: unidad central de procesamiento,
memoria y unidades de E/S (entrada/salida).”[4.5.]
Imagen [5.] PIC
LED INFRARROJO: “Diodo emisor de luz, también conocido como LED (acrónimo del
inglés de Light-Emitting Diode) es un dispositivo semiconductor (diodo) que emite luz
incoherente de espectro reducido cuando se polariza de forma directa la unión PN del
mismo y circula por él una corriente eléctrica. Este fenómeno es una forma de
electroluminiscencia. El color (longitud de onda), depende del
material semiconductor empleado en la construcción del
diodo y puede variar desde el ultravioleta, pasando por el
visible, hasta el infrarrojo” [4.6.] Imagen [6.] Leds
RECEPTOR: “Están diseñados especialmente para la detección, clasificación y
posicionado de objetos; la detección de formas, colores y diferencias de superficie, incluso
bajo condiciones ambientales extremas.”[4.7.]
8
PROYECTO DE METODOLOGÍA DE LA PROGRAMACIÓNEstudiantes del primer ciclo, Escuela de Electrónica y Telecomunicaciones
REGULADOR DE VOLTAJE: “Un regulador de tensión (a veces traducido del inglés
como Regulador de Voltaje) es un dispositivo electrónico diseñado con el objetivo de
proteger aparatos eléctricos y electrónicos delicados de
variaciones de diferencia de potencial (tensión/voltaje),
descargas eléctricas y "ruido" existente en la corriente
alterna de la distribución eléctrica.” [4.8.]
Imagen [7.] Regulador de voltaje
6. Alcance
El programa enviará y receptará solamente datos tipo string (cadena de
caracteres). Aunque este tipo de comunicación permite el envío de archivos como
imágenes, documentos de texto, etc., esto no está dentro del desarrollo, debido a
la desventaja de la baja tasa de transmisión (lo que haría el tiempo de envío
demasiado lento).
7. Resultado esperados
Una vez finalizado el proyecto, se tendrá un dispositivo capaz de comunicar dos
usuarios en modo chat (envío y recepción de texto) vía inalámbrica a través del
medio infrarrojo. Ambos usuarios deberán tener línea de vista para poder
comunicarse. La distancia máxima de comunicación se obtendrá luego de las
pruebas de campo.
9
PROYECTO DE METODOLOGÍA DE LA PROGRAMACIÓNEstudiantes del primer ciclo, Escuela de Electrónica y Telecomunicaciones
8 DESARROLLO DE MÓDULOS
8.1 Hardware
Los pasos a describir son concurrentes, es decir que se realizan todos a la vez.
1ra. Etapa
Envió de pulsos por el pin 3 hacia el PIC para transformación de codificación
deline de bipolar a unipolar.
2da. Etapa
Enviar los pulsos (0V – 5V) hacia el LED receptor para transferencia por el Pin del
PIC.
3ra. Etapa
Recepción con el LED transmisor y LED receptor, y transformación al Pin 2 del
puerto serial.
8.2 Software
Los pasos a describir son secuenciales.
1ra. Etapa
Establecer objeto de transmisión y recepción serial.
2da. Etapa
Establecer parámetros de comunicación serial.
o Baud Rate: 9600
o Bit de Datos: 8
o Paridad: none
10
PROYECTO DE METODOLOGÍA DE LA PROGRAMACIÓNEstudiantes del primer ciclo, Escuela de Electrónica y Telecomunicaciones
o Bit de Parada: 1
o Control de flujo: none
3ra. Etapa
Iniciar el objeto de comunicación serial.
4ta. Etapa
Entrada de caracteres por teclado en un editor de texto y su almacenamiento en
una variable
5ta. Etapa
Transmisión de cadenas string vía comunicación serial en modo Full Duplex.
6ta. Etapa
Recepción de datos vía serial y almacenamiento temporal en una variable. Luego
presentación de la variable en un static - text
7ma. Etapa
Transmisión de archivos de texto. Igual a la transmisión de cadena de caracteres.
8va. Etapa
Recepción de archivos de texto.
11
PROYECTO DE METODOLOGÍA DE LA PROGRAMACIÓNEstudiantes del primer ciclo, Escuela de Electrónica y Telecomunicaciones
9. Flujograma
9.1. Flujograma Transmisor
12
PROYECTO DE METODOLOGÍA DE LA PROGRAMACIÓNEstudiantes del primer ciclo, Escuela de Electrónica y Telecomunicaciones
9.1. 1. Algoritmo Transmisor (Pseudocódigo)
1. INICIO2. Crear objeto de transmisión serial3. Establecer parámetros de comunicación 4. Baud Rate: 96005. Bit de Datos: 86. Paridad: none 7. Bit de Parada: 18. Control de flujo: none9. Inicio de comunicación10. Si (computador == encendido)11. {12. Leer entrada de datos13. Almacenar en opción14. Si (opción = = archivo de texto)15. {16. Mostrar “¿Desea enviar el archivo de texto?”17. Almacenar en opcion118. Si (opcion1 == true)19. {20. Seleccionar el archivo a enviar21. Transmisión de archivo22. Mostrar “¿Desea continuar enviando archivos de texto?”23. Almacenar en opcion224. Si (opcion2 == true)25. Regresar a sentencia N° 1626. Caso contrario27. {28. Mostrar “¿Desea continuar en el chat?”29. Almacenar en opcion330. Si (opcion3 == true)31. Regresar a sentencia 1232. Caso contrario33. Salir del Programa34. }35. }36. Caso contrario
13
PROYECTO DE METODOLOGÍA DE LA PROGRAMACIÓNEstudiantes del primer ciclo, Escuela de Electrónica y Telecomunicaciones
37. Imposible realizar acción38. }39. Caso contrario40. {41. Ingreso de datos42. Almacenar en variable “texto”43. Mostrar “¿Desea enviar trama?44. Almacenar en op45. Si (op == true)46. Transmisión de trama47. Caso contrario48. {49. Regresar a sentencia 4050. Mostrar “¿Desea continuar enviando datos?”51. Almacenar en op152. Si (op1== true)53. Regresar a sentencia N° 1254. Caso contrario:55. Terminar conexión56. } 57. }58. }59. Caso contrario60. Imposible realizar actividad61. FIN
9.2. Flujograma Receptor
14
PROYECTO DE METODOLOGÍA DE LA PROGRAMACIÓNEstudiantes del primer ciclo, Escuela de Electrónica y Telecomunicaciones
15
PROYECTO DE METODOLOGÍA DE LA PROGRAMACIÓNEstudiantes del primer ciclo, Escuela de Electrónica y Telecomunicaciones
9.2. 1. Algoritmo Receptor (Pseudocódigo)
1. INICIO2. Crear objeto de transmisión serial3. Establecer parámetros de comunicación 4. Baud Rate: 96005. Bit de Datos: 86. Paridad: none 7. Bit de Parada: 18. Control de flujo: none9. Inicio de comunicación10. Si (computador == encendido)11. {12. Leer entrada de datos13. Almacenar en opción14. Si (opción = = archivo de texto)15. {16. Mostrar “¿Desea recibir el archivo de texto?”17. Almacenar en opcion118. Si (opcion1 == true)19. {20. Buscar dirección de almacenamiento de archivo21. Recepción de archivo22. Mostrar “¿Desea continuar recibiendo archivos de texto?”23. Almacenar en opcion224. Si (opcion2 == true)25. Regresar a sentencia N° 1626. Caso contrario27. {28. Mostrar “¿Desea continuar en el chat?”29. Almacenar en opcion330. Si (opcion3 == true)31. Regresar a sentencia 1232. Caso contrario33. Salir del Programa34. }35. }36. Caso contrario
16
PROYECTO DE METODOLOGÍA DE LA PROGRAMACIÓNEstudiantes del primer ciclo, Escuela de Electrónica y Telecomunicaciones
37. Imposible realizar acción38. }39. Caso contrario40. {41. Leer puerto serial42. Mostrar “¿Llego trama?”43. Almacenar en op44. Si (op == true)45. {46. Almacenar en variable “texto”47. Presentar “texto”48. Mostrar “¿Desea continuar recibiendo datos?”49. Almacenar en op150. Si (op1== true)51. Regresar a sentencia N° 1252. Caso contrario:53. Terminar conexión54. } 55. Caso contrario56. Regresar a sentencia 4157. }58. }59. Caso contrario60. Imposible realizar actividad61. FIN
17
PROYECTO DE METODOLOGÍA DE LA PROGRAMACIÓNEstudiantes del primer ciclo, Escuela de Electrónica y Telecomunicaciones
9.3. Flujograma del Microcontrolador
18
PROYECTO DE METODOLOGÍA DE LA PROGRAMACIÓNEstudiantes del primer ciclo, Escuela de Electrónica y Telecomunicaciones
9.3.1. Algoritmo Microcontrolador (Pseudocódigo)
1. INICIO.
2. Incluir Librería “modedefs.bas” para Comunicación Serial.
3. Declaración de variables.
4. A de tipo BYTE para datos de entrada.
5. B de tipo BYTE para datos de salida.
6. Llamar a la función SERIN
7. Establecer Baud Rate= 9600
8. Bit de datos= 8
9. Paridad= none
10. Bit de parada= 1
11. Control de Flujo= none
12. Definir Pin de Recepción
13. Definir Pin de Transmisión
14. Mientras (conexión == True) {
15. Leer PIN 7
16. Modular “A”, a frecuencia de 40 KHz.
17. Almacenar señal modular en “B”.
18. Transmitir datos de “B” por PIN 6. }
19. Fin Mientras.
20. FIN
19
PROYECTO DE METODOLOGÍA DE LA PROGRAMACIÓNEstudiantes del primer ciclo, Escuela de Electrónica y Telecomunicaciones
10Recomendaciones
o Al realizar un proyecto similar al que proponemos, tome en
cuenta que debe seguir un proceso determinado.
o En caso de no existir “puerto serial” en el computador que se va
a ejecutar el programa, para evitar algún inconveniente, utilice
un convertidor de puerto “USB” a “puerto serial”.
o Tomar en cuenta que la comunicación vía infrarroja se realiza
solo a cortas distancias.
o Evitar interferencias en el medio durante la conexión infrarroja.
11Bibliografía
C. J. Savant Jr. - Martin S. Roden - Gordon L. Carpenter, “Diseño Electrónico” Tercera edición, California State University
JOYANES AGUILAR Luis, “PROGRAMACIÓN EN C++ Algoritmos, Estructuras de datos y objetos”, Primera edición 2000, Edigrafos, S. L. Págs. 19 y 20.
12 Referencias
o [4.1] CHAT, esta página fue modificada por última vez el 21:42, 22 oct 2009. Disponible en: http://es.wikipedia.org/wiki/chat
o Imagen [2]. Transmit & Receive Infrared Signals With Your PC Serial Port. Disponible en: file:///H:/Proyecto_C/IR_TRANSCEIVER.htm
o Imagen [3] FOROS DE CHW.Disponible en: http://www.markallen.com/teaching/ucsd/147b
o [4.2.] QUÉ ES PYTHON, Miguel Ángel Álvarez.Disponible en: http://www.desarrolloweb.com/articulos/1325.php
o [4.3.] PUERTO SERIAL Y PUERTO PARALELO.Disponible en: http://es.kioskea.net/contents/pc/serie.php3
o [4.4.] DEFINICIÓN DE INFRARROJO, ALEGSA.Disponible en: http://www.alegsa.com.ar/Dic/infrarrojo.php
o Imagen [4.] COMUNICACIÓN INFRARROJADisponible en: http://www.pdm.com.co/images/Noticias/Images%20Noticias%20Dic01-2007%20-%20Feb29-2008/Transferencia%20IR%20a%201%20Gbps.jpg
o [4.5.] e imagen [5.] MICROCONTROLADOR, Esta página fue modificada por última vez el 22:45, 27 oct. .2009Disponible en: http://es.wikipedia.org/wiki/Microcontrolador
o [4.6]. DIODO EMISOR DE LUZ, esta página fue modificada por última vez el 14:49, 29 oct. Del 2009.
20
PROYECTO DE METODOLOGÍA DE LA PROGRAMACIÓNEstudiantes del primer ciclo, Escuela de Electrónica y Telecomunicaciones
Disponible en: http://es.wikipedia.org/wiki/Diodo_emisor_de_luzo Imagen [6.] EP POWER
Disponible en: http://img.directindustry.es/images_di/photo-g/led-infrarrojo-364086.jpgo [4.7.] RECEPTOR INFRARROJO
Disponible en: http://www.psicofxp.com/forums/electronica.149/423469-receptor-infrarrojo.htmlo [4.8.] REGULADOR DE TENSIÓN, esta página fue modificada por última vez el 02:07, 19 oct 2009
Disponible en: http://es.wikipedia.org/wiki/Regulador_de_tensi%C3%B3no Imagen [7.] REGULADOR DE VOLTAJE
Disponible en: http://www.electronica2000.com/fuentes/imagenesfuen/regvolt.gif
21
PROYECTO DE METODOLOGÍA DE LA PROGRAMACIÓNEstudiantes del primer ciclo, Escuela de Electrónica y Telecomunicaciones