Este módulo de Keyes contiene un led emisor de luz infrarroja y una resistencia limitadora de corriente.
El módulo transmisor de infrarrojo consiste de un led infrarrojo de 5mm y un resistor asociado. Funciona en conjunto con el receptor de infrarrojo KY-022.
¦ Voltaje de Operación: 5V
¦ Corriente Directa: 30 ~ 60 mA
¦ Consumo de energía: 90mW
¦ Temperatura de Operación: -25°C to 80°C
¦ Dimensiones: 18,5mm x 15mm
La línea central del módulo es la alimentación, y se conecta a los +5V del Arduino. La línea marcada con el signo – va conectada a GND del Arduino. La línea marcada con la letra S va conectada a la línea digital 2 del Arduino.
Código de ejemplo:
El siguiente programa de Arduino utiliza la biblioteca IRremote para enviar señales de infrarrojos en serie con el KY-005.
La conexión del pin de salida la determina la biblioteca: la entrada digital 3 en Arduino Uno. Depende de la placa que se esté utilizando, de modo que si utiliza otra se debe verificar la documentación de la biblioteca de IRremote. Será necesario un receptor de infrarrojos como el KY-022 para procesar la señal.
Los enlaces a las bibliotecas requeridas para el programa de ejemplo de Arduino con KY-005 se pueden encontrar en los enlaces más abajo.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
/* * Prueba de modulo de led infrarrojo KY-005 */ #include <IRremote.h> IRsend irsend; // iniciar el objeto infrarrojo void setup() { Serial.begin(9600); // iniciar comunicacion serie } void loop() { if (Serial.read() != -1) { for (int i=0; i<3; i++) { irsend.sendSony(0xa90, 12); // codigo de encendido de Sony TV delay(100); } } } |
Este programa envía un código de encendido/apagado de Sony TV cada vez que se envía un caracter al puerto serie, lo que permite que Arduino encienda o apague el televisor. (Tenga en cuenta que los códigos de Sony deben enviarse 3 veces de acuerdo con el diseño del protocolo).
Biblioteca IRremote: una biblioteca remota de infrarrojos multiprotocolo para Arduino
El código más reciente está en github.com/shirriff/Arduino-IRremote
La biblioteca remota IRremote permite enviar y recibir códigos remotos de IR en múltiples protocolos. Es compatible con NEC, Sony SIRC, Philips RC5, Philips RC6 y protocolos sin formato. Si se necesitan protocolos adicionales, son fáciles de agregar. Incluso la biblioteca puede utilizarse para grabar códigos desde su control remoto y retransmitirlos, como un control remoto universal mínimo.
Para usar la biblioteca, descargue desde github y siga las instrucciones de instalación en el archivo readme.
Cómo enviar:
Esta biblioteca remota de infrarrojos consta de dos partes: IRsend transmite paquetes remotos IR, mientras que IRrecv recibe y decodifica un mensaje IR. IRsend utiliza un LED infrarrojo conectado al pin digital 3. Para enviar un mensaje, llame al método de envío 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ómo enviar códigos. Uno de ellos es el que está listado más arriba.
Cómo recibir:
IRrecv utiliza un detector de infrarrojos conectado a cualquier pin de entrada digital.
El ejemplo IRrecvDemo en la biblioteca aporta un ejemplo simple de cómo recibir códigos:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
/* * Receptor de infrarrojos */ #include <IRremote.h> int pin_Recepcion = 11; IRrecv irrecv(pin_Recepcion); decode_results resultados; void setup() { Serial.begin (9600); irrecv.enableIRIn(); // iniciar el receptor } void loop() { if (irrecv.decode (&resultados)) { Serial.println(resultados.value, HEX); irrecv.resume(); // Recibe el siguiente valor } } |
La clase IRrecv realiza la decodificación y se inicializa con enableIRIn(). Se llama al método decode() para ver si se ha recibido un código; si es así, devuelve un valor distinto de cero y coloca los resultados en la estructura decode_results. Una vez que se ha descodificado un código, se debe llamar al método resume() para reanudar la recepción de códigos. Tenga en cuenta que decode() no bloquea; el croquis puede realizar otras operaciones mientras espera un código porque los códigos son recibidos por una rutina de interrupción.
Algunos antecedentes sobre los códigos IR
Un control remoto IR funciona encendiendo y apagando el LED en un patrón particular. Sin embargo, para evitar la interferencia de fuentes IR, como la luz solar o las luces, el LED no se enciende de manera constante, sino que se enciende y apaga a una frecuencia de modulación (generalmente 36, 38 o 40 KHz). El tiempo en que se envía una señal modulada se llama “marca”, y cuando el LED está apagado se llama “espacio”.
Cada tecla del control remoto tiene un código particular asociado (generalmente de 12 a 32 bits), y emite este código cuando se presiona la tecla. Si se mantiene presionada la tecla, el control remoto generalmente emite repetidamente el código de la tecla. Para un control remoto NEC, se envía un código especial de repetición cuando se mantiene presionada la tecla, en lugar de enviar el código repetidamente. Para los controles remotos Philips RC5 o RC6, se alterna un poco el código cada vez que se presiona una tecla; el receptor utiliza este bit de conmutación para determinar cuándo se presiona una tecla por segunda vez.
En el extremo receptor, el detector de IR demodula esta señal y emite una señal de nivel lógico que indica si está recibiendo una señal o no. El detector de IR funcionará mejor cuando su frecuencia coincida con la frecuencia del remitente, pero en la práctica no importa mucho.
Enlaces:
Biblioteca IRremote
Módulo de led emisor infrarrojo – KY-005: Dibujo de la pieza para el editor Fritzing
Artículos relacionados:
¦ Módulo sensor de temperatura KY-001 (Kit de sensores Keyes 1)
¦ Módulo detector de vibración KY-002 (Kit de sensores Keyes 2)
¦ Módulo de Sensor Magnético por efecto Hall KY-003 (Kit de sensores Keyes 3)
¦ Módulo de llave pulsadora – KY-004 (Kit de sensores Keyes 4)
¦ Módulo sensor de temperatura KY-005 (Kit de sensores Keyes 5)
¦ Módulo de emisor piezoeléctrico pasivo KY-006 (Kit de sensores Keyes 6)
¦ Módulo codificador rotativo KY-040 [ó KY-007] – (Kit de sensores Keyes 040/007)
Pingback: Módulo codificador rotativo KY-040 [ó KY-007] – (Kit de sensores Keyes 040/007) | Robots Didácticos
Pingback: Módulo de llave pulsadora – KY-004 (Kit de sensores Keyes 4) | Robots Didácticos
Pingback: Control de relés con control remoto IR: Domótica (3) | Robots Didácticos