comunicacion por infarrojo.1

17
Comunicación por infrarrojo con filtros activos. Heiner Darío Londoño Hernández 20081473007; Cristian Leonardo Serna 20081473028; Aneider Angulo A. 20081473026; Jhon Edison Chaparro 200621473 Facultad Tecnologica Tecnologia en electronica Mayo del 2010 Resumen Por medio de la comunicación de datos se ha podido comandar gran parte de aparatos y dispositivos industriales que tiene una función indispensable de la seguridad, procesos industriales, comandar, ordenar, direccionar y operar maquinas y etapas técnicadas. En el presente trabajo empleamos unos sensores de led infrarrojos, que tienen la función de transmitirnos a mediana distancia unos datos (Códigos ASCCI), donde se podrá en una LCD ver la frecuencia, la que ese está transmitiendo. Además se adiciona al proyecto unos filtros activos de 1, 5 y 10KHz. Palabras clave: Microcontrolador, comunicación, infrarrojo, RS232, emisor, receptor, visualización, teclado matricial. Introducción Hemos muchas veces preguntado y ver funcionar un control remoto pero muchas veces no salimos de nuestra incógnita, su funcionamiento es muy fácil el cual en este proyecto aplicaremos el principio del control remoto que envía datos, en forma de frecuencia por una señal infrarroja. Se debe además un microcontrolador debe de generar una serie de frecuencias que son producida por un teclado matricial, donde cada digito y letra representa su respectiva en una oscilación en KHz, entra el papel de nuestro control que son los led infrarrojos emisor y receptor, la distancia de transmisión esta de 1.5 a 2 mts. En la etapa de recepción hay un circuito electrónico encargado de recibir y acondicionar tal señal que tenga coincidencia de las frecuencia de envió a la recibida, para luego otro microcontrolador pueda interpretar esta oscilación y sea visualizada y proporcionar la información de frecuencia y la tecla oprimida y adicionalmente se encenderán unos led cuando sea detectados las oscilaciones de 1, 5, 10 KHz. Este proyecto cuenta con una etapa donde se tendrán en cuenta y se deben de controlar de manera prudente los factores externos, para que nuestro proyecto cumpla su objetivo de funcionalidad. Astract There are many asked times and to see work a remote control

Upload: serna001

Post on 19-Jun-2015

508 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: comunicacion por  infarrojo.1

Comunicación por infrarrojo con filtros activos.Heiner Darío Londoño Hernández 20081473007; Cristian Leonardo Serna 20081473028; Aneider Angulo A. 20081473026; Jhon Edison Chaparro

200621473Facultad Tecnologica Tecnologia en electronica

Mayo del 2010

Resumen

Por medio de la comunicación de datos se ha podido comandar gran parte de aparatos y dispositivos industriales que tiene una función indispensable de la seguridad, procesos industriales, comandar, ordenar, direccionar y operar maquinas y etapas técnicadas. En el presente trabajo empleamos unos sensores de led infrarrojos, que tienen la función de transmitirnos a mediana distancia unos datos (Códigos ASCCI), donde se podrá en una LCD ver la frecuencia, la que ese está transmitiendo. Además se adiciona al proyecto unos filtros activos de 1, 5 y 10KHz.

Palabras clave:Microcontrolador, comunicación, infrarrojo, RS232, emisor, receptor, visualización, teclado matricial.

Introducción

Hemos muchas veces preguntado y ver funcionar un control remoto pero muchas veces no salimos de nuestra incógnita, su funcionamiento es muy fácil el cual en este proyecto aplicaremos el principio del control remoto que envía datos, en forma de frecuencia por una señal infrarroja. Se debe además un microcontrolador debe de generar una serie de frecuencias que son producida por un teclado matricial, donde cada digito y letra representa su respectiva en una oscilación en KHz, entra el papel de nuestro control que son los led infrarrojos emisor y receptor, la distancia de transmisión esta de 1.5 a 2 mts. En la etapa de recepción hay un circuito electrónico encargado de recibir y acondicionar tal señal que tenga coincidencia de las frecuencia de envió a la recibida, para luego otro microcontrolador pueda interpretar esta oscilación y sea visualizada y proporcionar la información de frecuencia y la tecla oprimida y adicionalmente se encenderán unos led cuando sea detectados las oscilaciones de 1, 5, 10 KHz. Este proyecto cuenta con una etapa donde se tendrán en

cuenta y se deben de controlar de manera prudente los factores externos, para que nuestro proyecto cumpla su objetivo de funcionalidad.

Astract

There are many asked times and to see work a remote control but many times doesn't come out of our incognito one, their operation is very easy which we will apply the start of the remote control that sends data, in form of frequency for an infrared handles in this project. It owes himself a microcontroller it should also generate a series of frequencies that you/they are produced by a matrix keypad, where each I finger and letter represents its respective one in an oscillation in KHz, it’s enters the paper of our control that you/they are the infrared issuing and receiving led, the transmission distance this from 1.5 to 2 mts. In the acceptance stage there is a circuit electronic manager of to receive and to condition such a handles that has match of the frequency of he/she sent to the received one, it stops another microcontroller then it’s can interpret this oscillation and be displayed and to provide the information of frequency and the oppressed key and additionally they will light some led when it is detected the oscillations of 1, 5, 10 KHz. This project has a stage where they will be kept in mind and they should control you in a wise way the extraneous factors, so that our project completes its objective of capability.

Justificación

En la vida real las comunicaciones es una tecnología que aparte de permitirnos interactuar, se puede activar, operar, comandar, direccionar y registrar diferentes dispositivos y diversos sistemas. Este trabajo es una aplicación de controlar y registrar una orden por lo tanto es un sistema que ayuda cuando se requiere para realizar una orden

Page 2: comunicacion por  infarrojo.1

controlada tipo un control remoto ya que no expone al operador ante peligro.

Contenido.

Marco teórico.

Comunicaciones

La transmisión de datos IR (señal infrarrojo) también se emplea en la comunicación de corto alcance entre los periférico de computadora y ayudantes digitales personales. Estos dispositivos se conforman generalmente con los estándares publicados cerca IrDA, la asociación infrarroja de los datos. Mandos a distancia e infrarrojo del uso de los dispositivos de IrDA diodos electro luminosos (LED) emitir la radiación infrarroja que es enfocada por un plástico lente en una viga estrecha. La viga es modulada, es decir. Cambiado por intervalos, para codificar datos. El receptor utiliza a silicio fotodiodo para convertir la radiación infrarroja a un eléctrico actual. Responde solamente a la señal rápidamente de pulsación creada por el transmisor, y filtra hacia fuera la radiación infrarroja lentamente que cambia de la luz ambiente. Las comunicaciones infrarrojas son útiles para el uso de interior en áreas de la alta densidad demográfica. IR no penetra las paredes y así que no interfiere con otros dispositivos en cuartos colindantes. El infrarrojo es la manera más común para mandos a distancia a las aplicaciones del comando.

Transmisión de datos mediante infrarrojos

El protocolo de IrDA (Asociación de datos por infrarrojos, del inglés Infrared Data Association) es un estándar industrial para las comunicaciones inalámbricas que utiliza infrarrojos. Muchos de los equipos portátiles actuales incorporan un emisor/receptor que permite la comunicación con otros dispositivos, tales como impresoras, módems, LAN u otros portátiles. La velocidad de transferencia oscila entre 2400 bps y 4 Mbps.

IrDA cuenta con dos modos de funcionamiento. El modo estándar SIR se comunica con el puerto infrarrojo a través de una interfaz en serie. Este modo funciona con casi todos los sistemas y cumple la mayoría de las exigencias. El modo más rápido FIR requiere un controlador especial para el chip IrDA, pero el modo FIR no admite todos los tipos de chips porque no existen controladores adecuados para todos ellos. En el BIOS del equipo hay que definir el modo IrDA que se desea usar. El BIOS también muestra qué interfaz en serie se utiliza en el modo SIR.

Protocolo RS232

El protocolo RS-232 es una norma o estándar mundial que rige los parámetros de uno de los modos de comunicación serial. Por medio de este protocolo se estandarizan las velocidades de transferencia de datos, la forma de control que utiliza dicha transferencia, los niveles de voltajes utilizados, el tipo de cable permitido, las distancias entre equipos, los conectores, etc.Además de las líneas de Transmisión (Tx) y Recepción (Rx), las comunicaciones seriales poseen otras líneas de control de flujo (Hands-hake), donde su uso es opcional dependiendo del dispositivo a conectar.

A nivel de software, la configuración principal que se debe dar a una conexión a través de puertos seriales. RS-232 es básicamente la selección de la velocidad en baudios (1200, 2400, 4800, etc.), la verificación de datos o paridad (parida par o paridad impar o sin paridad), los bits de parada luego de cada dato(1 ó 2), y la cantidad de bits por dato (7 ó 8), que se utiliza para cada símbolo o carácter enviado.

Para facilitar la conexión entre DTE y DCE se han desarrollado múltiples estándares que determinan todas las características físicas, eléctricas, mecánicas y funcionales de la conexión constituyendo lo que denominamos la definición de una interface. Estos estándares constituyen un ejemplo de los protocolos del nivel físico, y se encuadrarían en el nivel más bajo del modelo de referencia OSI.Posiblemente el más conocido y popular es el "Recomended Standard 232". El RS-232 es

Page 3: comunicacion por  infarrojo.1

una norma para la conexión entre un DTE y un DCE que define:

El tipo de conector a emplear. Las características eléctricas. Los niveles de tensión. Las longitudes máximas a distintas

velocidades.

Los nombres de las señales que intervienen en el funcionamiento y la estructura del protocolo de comunicación.

Led infrarrojo¿Qué aplicaciones tiene este sensor?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.

Para la selección de un led infrarrojo debe tenerse en cuenta lo siguiente:

Que provea un suficiente ángulo de radiación de acuerdo a la aplicación.

Que opere a la misma longitud de onda que el led o módulo detector.

El  ángulo de radiación es muy importante ya que algunos led tienen ángulos de radiación muy estrechos, lo que los hace adecuados en aplicaciones como detección de objetos en caminos estrechos o donde se requiera la concentración puntual de la energía infrarroja. Los led con ángulos de radiación anchos son preferidos para aplicaciones donde se requiera cubrir amplia área como en grandes cuartos.

Fig. 1 Características del led infrarrojo.

La longitud de onda en el caso de luz infrarroja es muy pequeña y se expresa en nanómetros. Cuando examinamos la hoja de especificación para un Led infrarrojo nos encontramos que su longitud de onda es de 940nm o 880nm.

Para asegurar una  optima operación de su sistema infrarrojo, es muy importante que la longitud de onda del led transmisor este muy cercana a la del Led o módulo detector. En la fig. 1  se observa la gráfica de sensibilidad espectral de un led donde se concluye que en la longitud de onda de 940nm es donde opera mejor.

Fig. 2 Sensibilidad Espectral de un LED IR típico

Teclado matricial

Los teclados de matriz son muy utilizados en los proyectos de electrónica debido a su versatilidad, pues permiten disponer de una completa interfaz de entrada consumiendo un número mínimo de puertos de E/S. Esto se puede ver en el teclado de matriz del esquema: en este se ocupan 7 bits (3 columnas + 4 filas), si el mismo teclado se implementase conectando cada uno de los pulsadores directamente a los puertos se ocuparían 12 (uno por cada pulsador). En este caso la diferencia no es muy grande, pero imaginemos un teclado de ordenador con mas

Page 4: comunicacion por  infarrojo.1

100 teclas: resultaría muy poco eficiente conectar cada una de las teclas a un pin de E/S del controlador del teclado.

Descripción: Dispositivo de entrada de datos que consta de 16 teclas o pulsadores, dispuestos e interconectados en filas y columnas. Dispone de un conector SIL (Single In Line) macho de 8 pines que se corresponden con las 4 filas y las cuatro columnas de las que dispone.

Funcionamiento:

En la siguiente figura vemos el esquema de conexionado interno del teclado matricial y sus correspondientes pines de salida numerados de izquierda a derecha mirando el teclado tal y como se ve en la foto anterior. Cuando se presiona un pulsador se conecta una fila con una columna, teniendo en cuenta este hecho es muy fácil averiguar que tecla fue pulsada. También podemos ver el conexionado típico con el puerto B del µC PIC.Las resistencias de 2k2 son necesarias para poder compartir el puerto del pic independientemente del teclado y por ejemplo poder conectar un LCD o una barra de leds al mismo tiempo. Durante la fase de lectura del teclado la mitad de la puerta B es configurada como entrada y la otra mitad como lectura y durante la escritura en el lcd o otro sistema, la puerta B es configurada como salidas. Entonces se podrían cortocircuitar accidentalmente las salidas de los puertos provocando su destrucción, si pulsásemos alguna tecla es ese momento con lo que al poner estas resistencias evitamos este hecho y así si se produjera el cortocircuito tan solo circularía una pequeña corriente y el puerto del µC no correría ningún riesgo.

Filtro activos

filtro activo es un tipo de análogo filtro electrónico, distinguido por el uso de uno o más componentes activos es decir, Voltaje amplificadores o amplificadores del almacenador intermediario. Ésta será típicamente a tubo de vacío, transistor o amplificador operacional.

Los filtros activos tienen dos ventajas principales encima filtros pasivos. El primer es que el amplificador que acciona el filtro

se puede utilizar para formar la respuesta del filtro, e.g., cómo rápidamente y cómo se mueve escarpado desde su passband en su stopband. (Para hacer esto pasivo, uno debe utilizar los inductores, que tienden para escoger señales electromágneticas para arriba que rodean y son a menudo absolutamente físicamente grandes.) el segundo es que el amplificador que acciona el filtro se puede utilizar para proteger el filtro de los componentes electrónicos que conduce. Esto es a menudo necesario de modo que no afecten las acciones del filtro.

FILTROS PASA BANDA.

Este tipo de filtro, permite el paso de las frecuencias comprendidas entre la frecuencia de corte superior y la frecuencia de corte inferior, suele estar constituido por la asociación de un filtro pasa bajos y un filtro pasa altos. 

Fig 3 circuito electrónico de filtro activo pasabanda.

Un filtro pasa banda es útil cuando se quiere sintonizar una señal de radio o televisión. También se utiliza en equipos de comunicación telefónica para separar las diferentes conversaciones que simultáneamente se transmiten sobre el mismo medio de comunicación.

Visualización por LCD.

Los LCD son visualizadores pasivos, esto significa que no emiten luz como el visualizador o display alfanumérico hecho a base de un arreglo de diodos LEDs. Es por esa razón que, algunas veces, cuando intentamos ver la hora en un reloj que utiliza esta tecnología, es necesario una fuente de luz adicional.

Page 5: comunicacion por  infarrojo.1

El LCD tiene muy bajo consumo de energía si se lo compara con el display o visualizador alfanumérico y son compatibles con la tecnología CMOS, característica que permite que se utilice en equipos portátiles (ejemplo: los relojes de pulsera, calculadoras, etc.).Tiene una vida aproximada de 50,000 horas. Hay diferentes tipos de presentaciones y son muy fáciles de configurar. Hay desde visualizadores comunes de 7 segmentos, hasta una matriz de puntos, todos ellos muy delgados.

Descripción:

La pantalla de cristal liquido o LCD (Liquid Crystal Display) es un dispositivo µControlado de visualización grafico para la presentación de caracteres, símbolos o incluso dibujos (en algunos modelos), es este caso dispone de 2 filas de 16 caracteres cada una y cada carácter dispone de una matriz de 5x7 puntos (pixels), aunque los hay de otro número de filas y caracteres. Este dispositivo esta gobernado internamente por un microcontrolador Hitachi 44780 y regula todos los parámetros de presentación, este modelo es el mas comúnmente usado y esta información se basará en el manejo de este u otro LCD compatible.

Caracteristicas principales:

-Pantalla de caracteres ASCII, además de los caracteres Kanji y Griegos.-Desplazamiento de los caracteres hacia la izquierda o la derecha.-Proporciona la dirección de la posición absoluta o relativa del caracter.-Memoria de 40 caracteres por línea de pantalla.-Movimiento del cursor y cambio de su aspecto.-Permite que el usuario pueda programar 8 caracteres.-Conexión a un procesador usando un interfaz de 4 u 8 bits

Materiales

Cantidad

Componentes Valor unita

Total

rio

Control2 Microcontrolador 8000 160004 Cristal 800 320012 Resistencias 25 3002 Bid switch 450 9001 Teclado matriz. 9000 9000Comunicación infrarroja2 Led infrarrojos 500 10002 Resistencias 25 501 Lm 358 800 800Acople de señal2 Lf353 1200 24008 Resistencias 25 2003 Condensadores 450 1350Visualización1 LCD 9500 95004 Resistencias 25 1001 Potenciómetro 1500 1500Fuente1 Lm7805 900 9001 Condensador 450 450Filtros3 Lf353 1200 36004 Resistencias 25 1003 Trimmer 1000 30006 Condensadores 450 2700

Resultados

Se logro el envió y la recepción por los led infrarrojos, metiéndolos dentro de un tubo pintado de negro, para quitar interferencia de las luz ya que sabemos que los rayos solares o halógena de las bombillas están formadas por diversas rayos, y perturba la comunicación, con estos tubitos logramos optimizar de un 60% la recepción en la señal.

La etapa de comunicación, logramos obtenerla mucho mejor no viendo el salida de las amplificaciones sino se monto por etapas de circuitos con amplificadores, como la fue el seguidor, amplificación, se vio que la señal, entre mayor su distancia menos señal le llegaba por eso se tomo la decisión de amplificar dos veces el voltaje por 10 veces, para alcanzar una distancia alrededor de 2 metros.

Conclusiones

Page 6: comunicacion por  infarrojo.1

analizando el envió de la señal logramos observar que es muy baja la amplitud de la señal en la recepción, por tanto podemos decir que es importante la amplificación en saturación del lm324, ya que logramos reconstruir la señal para un mejor acoplamiento al microcontrolador 16f877A , por otro lado al realizar un barrido de frecuencia se puede observar que este solo puede trabajar con frecuencias inferiores a 100KHz.En el presente proyecto algo que nos costo fue reconstrucción de la señal, por eso se hizo un amplio investigación y se busco diversos circuitos para que el envió y recepción tenga éxito, se pudo ver que aparte de la los rayos de luz, la fuente cumple un papel importante ya que el trabajar el led emisor toma 3.5 V, además la alineación debe por factores

técnicos de ondas infrarrojas, muy riguroso ya que por algún movimiento se daña y se interrumpe la señal.En cuanto la parte de los filtros toco rectificar la señal para obtener un nivel voltaje dc par luego hacer una comparación y así lograr encender los leds las frecuencias determinadas.Finalmente en cuanto a la programación de los micros no hubo gran problema solo fue usar las instrucciones del rs232 del pic c y en cuanto a la generación de la frecuencia toco calcular la frecuencia y luego calibrarlas con el osciloscopio ya que el pic c genera mas líneas aumentado el tiempo de ejecución.

Referencia bibliográfica

http://mecatronica.wordpress.com/2007/09/24/sensor-infrarrojo/http://rdedatos.tripod.com/rs232.htmhttp://neo.lcc.uma.es/evirtual/cdd/tutorial/fisico/inter232.htmlhttp://www.unicrom.com/Tut_LCD.asphttp://www.worldlingo.com/ma/enwiki/es/Infrared

http://www.bolivar.udo.edu.ve/microinternet/articulos/control%20remoto%20IR%2038KHZ/Control%20Remoto%20IR%2038Khz.htmhttp://www.electronica2000.net/curso_elec/leccion65.htm

Anexos

Fig. 1. Envió y recepción entre microcontroladores 16F877A.

Page 7: comunicacion por  infarrojo.1

Fig. 2. Envió y Recepción por la etapa de infrarrojos.

Cálculos matemáticos.

Filtro de 1 KHz

Page 8: comunicacion por  infarrojo.1

Filtro de 5 KHz

Page 9: comunicacion por  infarrojo.1

Filtro de 10 KHz

Page 10: comunicacion por  infarrojo.1

Códigos:Transmisión:

#include <16f877a.h>#fuses hs, nowdt#use delay(clock=20000000)#include <kbd_lib.c>#use rs232 (baud= 9600, xmit= pin_c6, rcv= pin_c7, parity= n, bits=8)#use fast_io(b)

char tecla;

void main(){for(;;){tecla=kbd_getc();putc(tecla);delay_ms(50);}

}Recepccion y generación de frecuencia:

#include <16f877a.h>#fuses hs, nowdt#use delay (clock=20000000)#use rs232(baud=9600, xmit=pin_c6, rcv=pin_c7, bits=8)#include <lcd_lib.c>char valor;int s;#int_rdarda_isr(){valor=getc();}void main(){lcd_init();enable_interrupts(int_rda);enable_interrupts(global);for(;;){output_low(pin_c0);if(valor=='1'){printf(lcd_putc, "\fFrecuencia= 1KHz");s=valor;while(s=='1' && valor!='2' && valor!='3' && valor!='4' && valor!='5' && valor!='6' && valor!='7' && valor!='8' && valor!='9' && valor!='0' && valor!='*' && valor!='#' && valor!='A' && valor!='B' && valor!='C' && valor!='D'){output_high(pin_c0);delay_us(500);output_low(pin_c0);delay_us(500);}}elseif(valor=='2'){printf(lcd_putc, "\fFrecuencia= 2KHz");s=valor;while(s=='2' && valor!='1' && valor!='3' && valor!='4' && valor!='5' && valor!='6' && valor!='7' && valor!='8' && valor!='9' && valor!='0' && valor!='*' && valor!='#' && valor!='A' && valor!='B' && valor!='C' && valor!='D'){

Page 11: comunicacion por  infarrojo.1

output_high(pin_c0);delay_us(240);output_low(pin_c0);delay_us(240);}}elseif(valor=='3'){printf(lcd_putc, "\fFrecuencia= 3KHz");s=valor;while(s=='3' && valor!='1' && valor!='2' && valor!='4' && valor!='5' && valor!='6' && valor!='7' && valor!='8' && valor!='9' && valor!='0' && valor!='*' && valor!='#' && valor!='A' && valor!='B' && valor!='C' && valor!='D'){output_high(pin_c0);delay_us(157);output_low(pin_c0);delay_us(157);}}elseif(valor=='4'){printf(lcd_putc, "\fFrecuencia= 4KHz");s=valor;while(s=='4' && valor!='1' && valor!='2' && valor!='3' && valor!='5' && valor!='6' && valor!='7' && valor!='8' && valor!='9' && valor!='0' && valor!='*' && valor!='#' && valor!='A' && valor!='B' && valor!='C' && valor!='D'){output_high(pin_c0);delay_us(120);output_low(pin_c0);delay_us(120);}}elseif(valor=='5'){printf(lcd_putc, "\fFrecuencia= 5KHz");s=valor;while(s=='5' && valor!='1' && valor!='2' && valor!='3' && valor!='4' && valor!='6' && valor!='7' && valor!='8' && valor!='9' && valor!='0' && valor!='*' && valor!='#' && valor!='A' && valor!='B' && valor!='C' && valor!='D'){output_high(pin_c0);delay_us(90);output_low(pin_c0);delay_us(90);}}elseif(valor=='6'){printf(lcd_putc, "\fFrecuencia= 6KHz");s=valor;while(s=='6' && valor!='1' && valor!='2' && valor!='3' && valor!='4' && valor!='5' && valor!='7' && valor!='8' && valor!='9' && valor!='0' && valor!='*' && valor!='#' && valor!='A' && valor!='B' && valor!='C' && valor!='D'){output_high(pin_c0);delay_us(76);output_low(pin_c0);delay_us(76);}}elseif(valor=='7'){

Page 12: comunicacion por  infarrojo.1

printf(lcd_putc, "\fFrecuencia= 7KHz");s=valor;while(s=='7' && valor!='1' && valor!='2' && valor!='3' && valor!='4' && valor!='5' && valor!='6' && valor!='8' && valor!='9' && valor!='0' && valor!='*' && valor!='#' && valor!='A' && valor!='B' && valor!='C' && valor!='D'){output_high(pin_c0);delay_us(64);output_low(pin_c0);delay_us(64);}}elseif(valor=='8'){printf(lcd_putc, "\fFrecuencia= 8KHz");s=valor;while(s=='8' && valor!='1' && valor!='2' && valor!='3' && valor!='4' && valor!='5' && valor!='6' && valor!='7' && valor!='9' && valor!='0' && valor!='*' && valor!='#' && valor!='A' && valor!='B' && valor!='C' && valor!='D'){output_high(pin_c0);delay_us(55);output_low(pin_c0);delay_us(55);}}elseif(valor=='9'){printf(lcd_putc, "\fFrecuencia= 9KHz");s=valor;while(s=='9' && valor!='1' && valor!='2' && valor!='3' && valor!='4' && valor!='5' && valor!='6' && valor!='7' && valor!='8' && valor!='0' && valor!='*' && valor!='#' && valor!='A' && valor!='B' && valor!='C' && valor!='D'){output_high(pin_c0);delay_us(48);output_low(pin_c0);delay_us(48);}}elseif(valor=='0'){printf(lcd_putc, "\fFrecuencia=10KHz");s=valor;while(s=='0' && valor!='1' && valor!='2' && valor!='3' && valor!='4' && valor!='5' && valor!='6' && valor!='7' && valor!='8' && valor!='9' && valor!='*' && valor!='#' && valor!='A' && valor!='B' && valor!='C' && valor!='D'){output_high(pin_c0);delay_us(42);output_low(pin_c0);delay_us(42);}}elseif(valor=='A'){printf(lcd_putc, "\fA");s=valor;while(s=='A' && valor!='1' && valor!='2' && valor!='3' && valor!='4' && valor!='5' && valor!='6' && valor!='7' && valor!='8' && valor!='9' && valor!='0' && valor!='*' && valor!='#' && valor!='B' && valor!='C' && valor!='D'){output_low(pin_c0);}}

Page 13: comunicacion por  infarrojo.1

elseif(valor=='B'){printf(lcd_putc, "\fB");s=valor;while(s=='B' && valor!='1' && valor!='2' && valor!='3' && valor!='4' && valor!='5' && valor!='6' && valor!='7' && valor!='8' && valor!='9' && valor!='0' && valor!='*' && valor!='#' && valor!='A' && valor!='C' && valor!='D'){output_low(pin_c0);}}elseif(valor=='C'){printf(lcd_putc, "\fC");s=valor;while(s=='C' && valor!='1' && valor!='2' && valor!='3' && valor!='4' && valor!='5' && valor!='6' && valor!='7' && valor!='8' && valor!='9' && valor!='0' && valor!='*' && valor!='#' && valor!='A' && valor!='B' && valor!='D'){output_low(pin_c0);}}elseif(valor=='D'){printf(lcd_putc, "\fD");s=valor;while(s=='D' && valor!='1' && valor!='2' && valor!='3' && valor!='4' && valor!='5' && valor!='6' && valor!='7' && valor!='8' && valor!='9' && valor!='0' && valor!='*' && valor!='#' && valor!='A' && valor!='B' && valor!='C'){output_low(pin_c0);}}elseif(valor=='*'){printf(lcd_putc, "\f*");s=valor;while(s=='*' && valor!='1' && valor!='2' && valor!='3' && valor!='4' && valor!='5' && valor!='6' && valor!='7' && valor!='8' && valor!='9' && valor!='0' && valor!='#' && valor!='A' && valor!='B' && valor!='C' && valor!='D'){output_low(pin_c0);}}elseif(valor=='#'){printf(lcd_putc, "\f#");s=valor;while(s=='#' && valor!='1' && valor!='2' && valor!='3' && valor!='4' && valor!='5' && valor!='6' && valor!='7' && valor!='8' && valor!='9' && valor!='0' && valor!='*' && valor!='A' && valor!='B' && valor!='C' && valor!='D'){output_low(pin_c0);}}}

}