{"id":1117,"date":"2020-01-16T23:11:25","date_gmt":"2020-01-16T23:11:25","guid":{"rendered":"http:\/\/robots-argentina.com.ar\/didactica\/?p=1117"},"modified":"2020-11-02T00:58:13","modified_gmt":"2020-11-02T00:58:14","slug":"modulo-transmisor-de-infrarrojo-ky-005-kit-de-sensores-keyes-5","status":"publish","type":"post","link":"https:\/\/robots-argentina.com.ar\/didactica\/modulo-transmisor-de-infrarrojo-ky-005-kit-de-sensores-keyes-5\/","title":{"rendered":"M\u00f3dulo transmisor de infrarrojo KY-005 (Kit de sensores Keyes 5)"},"content":{"rendered":"

Este m\u00f3dulo de Keyes contiene un led emisor de luz infrarroja y una resistencia limitadora de corriente.<\/p>\n

\"\"<\/a><\/p>\n

El m\u00f3dulo transmisor de infrarrojo consiste de un led infrarrojo de 5mm y un resistor asociado. Funciona en conjunto con el receptor de infrarrojo KY-022<\/strong>.<\/p>\n

\u25a0 Voltaje de Operaci\u00f3n:<\/strong> 5V
\n\u25a0 Corriente Directa:<\/strong> 30 ~ 60 mA
\n\u25a0 Consumo de energ\u00eda:<\/strong> 90mW
\n\u25a0 Temperatura de Operaci\u00f3n:<\/strong> -25\u00b0C to 80\u00b0C
\n\u25a0 Dimensiones:<\/strong> 18,5mm x 15mm<\/p>\n

La l\u00ednea central del m\u00f3dulo es la alimentaci\u00f3n, y se conecta a los +5V<\/strong> del Arduino. La l\u00ednea marcada con el signo \u2013<\/strong> va conectada a GND<\/strong> del Arduino. La l\u00ednea marcada con la letra S<\/strong> va conectada a la l\u00ednea digital 2<\/strong> del Arduino.<\/p>\n

C\u00f3digo de ejemplo:<\/strong><\/p>\n

El siguiente programa de Arduino utiliza la biblioteca IRremote<\/strong> para enviar se\u00f1ales de infrarrojos en serie con el KY-005<\/strong>.<\/p>\n

La conexi\u00f3n del pin de salida la determina la biblioteca: la entrada digital 3<\/strong> en Arduino Uno<\/strong>. Depende de la placa que se est\u00e9 utilizando, de modo que si utiliza otra se debe verificar la documentaci\u00f3n de la biblioteca de IRremote<\/strong>. Ser\u00e1 necesario un receptor de infrarrojos como el KY-022<\/strong> para procesar la se\u00f1al.<\/p>\n

\"\"<\/a><\/p>\n

Los enlaces a las bibliotecas requeridas para el programa de ejemplo de Arduino con KY-005<\/strong> se pueden encontrar en los enlaces m\u00e1s abajo.<\/p>\n

\/*\r\n * Prueba de modulo de led infrarrojo KY-005  \r\n *\/\r\n#include <IRremote.h>\r\nIRsend irsend; \/\/ iniciar el objeto infrarrojo\r\n\r\nvoid setup()\r\n{\r\nSerial.begin(9600); \/\/ iniciar comunicacion serie\r\n}\r\nvoid loop()\r\n{\r\nif (Serial.read() != -1) {\r\n     for (int i=0; i<3; i++) {\r\n       irsend.sendSony(0xa90, 12); \/\/ codigo de encendido de Sony TV\r\n       delay(100);\r\n     }\r\n   }\r\n}\r\n<\/pre>\n

Este programa env\u00eda un c\u00f3digo de encendido\/apagado de Sony TV<\/strong> cada vez que se env\u00eda un caracter al puerto serie, lo que permite que Arduino encienda o apague el televisor. (Tenga en cuenta que los c\u00f3digos de Sony deben enviarse 3 veces de acuerdo con el dise\u00f1o del protocolo).<\/p>\n

Biblioteca IRremote: una biblioteca remota de infrarrojos multiprotocolo para Arduino<\/strong><\/p>\n

El c\u00f3digo m\u00e1s reciente est\u00e1 en github.com\/shirriff\/Arduino-IRremote<\/a><\/strong><\/p>\n

La biblioteca remota IRremote<\/strong> permite enviar y recibir c\u00f3digos remotos de IR en m\u00faltiples protocolos. Es compatible con NEC<\/strong>, Sony SIRC<\/strong>, Philips RC5<\/strong>, Philips RC6<\/strong> y protocolos sin formato. Si se necesitan protocolos adicionales, son f\u00e1ciles de agregar. Incluso la biblioteca puede utilizarse para grabar c\u00f3digos desde su control remoto y retransmitirlos, como un control remoto universal m\u00ednimo.<\/p>\n

Para usar la biblioteca, descargue desde github<\/a> y siga las instrucciones de instalaci\u00f3n en el archivo readme<\/strong>.<\/p>\n

C\u00f3mo enviar:<\/strong><\/p>\n

Esta biblioteca remota de infrarrojos consta de dos partes: IRsend<\/strong> transmite paquetes remotos IR, mientras que IRrecv<\/strong> recibe y decodifica un mensaje IR. IRsend<\/strong> utiliza un LED infrarrojo conectado al pin digital 3<\/strong>. Para enviar un mensaje, llame al m\u00e9todo de env\u00edo para el protocolo deseado con los datos a enviar y la cantidad de bits a enviar. Los ejemplos de la biblioteca proporcionan programas simples que muestran c\u00f3mo enviar c\u00f3digos. Uno de ellos es el que est\u00e1 listado m\u00e1s arriba. <\/p>\n

C\u00f3mo recibir:<\/strong><\/p>\n

IRrecv<\/strong> utiliza un detector de infrarrojos conectado a cualquier pin de entrada digital.<\/p>\n

El ejemplo IRrecvDemo<\/strong> en la biblioteca aporta un ejemplo simple de c\u00f3mo recibir c\u00f3digos:<\/p>\n

\/*\r\n * Receptor de infrarrojos  \r\n *\/\r\n \r\n#include <IRremote.h>\r\n\r\n int pin_Recepcion = 11;\r\n IRrecv irrecv(pin_Recepcion);\r\n decode_results resultados;\r\n\r\n void setup()\r\n {\r\n   Serial.begin (9600);\r\n   irrecv.enableIRIn(); \/\/ iniciar el receptor\r\n }\r\n\r\n void loop() {\r\n   if (irrecv.decode (&resultados)) {\r\n     Serial.println(resultados.value, HEX);\r\n     irrecv.resume(); \/\/ Recibe el siguiente valor\r\n   }\r\n }\r\n<\/pre>\n

La clase IRrecv<\/strong> realiza la decodificaci\u00f3n y se inicializa con enableIRIn()<\/strong>. Se llama al m\u00e9todo decode()<\/strong> para ver si se ha recibido un c\u00f3digo; si es as\u00ed, devuelve un valor distinto de cero y coloca los resultados en la estructura decode_results<\/strong>. Una vez que se ha descodificado un c\u00f3digo, se debe llamar al m\u00e9todo resume()<\/strong> para reanudar la recepci\u00f3n de c\u00f3digos. Tenga en cuenta que decode()<\/strong> no bloquea; el croquis puede realizar otras operaciones mientras espera un c\u00f3digo porque los c\u00f3digos son recibidos por una rutina de interrupci\u00f3n.
\n


\n