IR-DECODING Sensor infrarrojo Decodificador

[IR-DECODING ] IR-DECODING Sensor infrarrojo Decodificador

https://electrofranko.com/web/image/product.template/1550/image_1920?unique=dec3f6f

S/ 18.00 18.0 PEN S/ 18.00

S/ 18.00

Not Available For Sale

Esta combinación no existe.

Términos y condiciones
Envío: 2-3 días laborales


Referencia Interna: IR-DECODING

Módulo Decodificador de Control Remoto Infrarrojo (IR-DECODING)

Receptor y transceptor IR inteligente con interfaz de comunicación UART TTL automatizada.

El decodificador infrarrojo IR-DECODING es una solución electrónica avanzada diseñada para simplificar la recepción y transmisión de señales inalámbricas mediante comunicación serial UART. Este dispositivo integra un receptor de 38 kHz y un microcontrolador dedicado que procesa de forma autónoma complejos protocolos de temporización, como el formato NEC, eliminando la carga de procesamiento en el hardware principal. Al capturar un código IR, el módulo lo decodifica y transmite en formato hexadecimal a través de comandos TTL estándar, facilitando la automatización residencial, el control remoto robótico y el desarrollo rápido de interfaces de usuario robustas.

Especificaciones Técnicas

Parámetro Detalle
Tensión de TrabajoDC 5.0 V Estables
Corriente de Funcionamiento< 15 mA (Fase de actividad)
Corriente en Reposo< 5 mA (Modo de bajo consumo)
Interfaz de ComunicaciónUART Serial de nivel lógico TTL
Velocidad de Transmisión9600 bps por defecto (8-N-1)
Protocolo IR SoportadoFormato de codificación fija NEC
Parámetro Detalle
Frecuencia de Portadora38 kHz (Recepción estándar universal)
Distancia de Cobertura6 a 10 metros (Línea de visión libre)
Modos de ConfiguraciónReceptor autónomo / Transmisor manual
Mapeo de TerminalesVCC, GND, TXD, RXD (Estandarizado)
Dimensiones de Tarjeta27 mm x 17 mm x 12 mm
Tipo de HardwareDecodificador embebido con MCU integrado

Diagrama de Conexiones y Mapeo de Pines

Diagrama de Conexión IR-DECODING

Ventajas del Módulo

Decodificación por Hardware Dedicado: Libera completamente al microcontrolador principal de tareas críticas de temporización e interrupciones repetitivas, delegando todo el procesamiento del protocolo NEC al chip integrado.

Salida Serial Directa y Limpia: Transmite la información procesada directamente en bytes estructurados legibles, evitando la manipulación compleja de arreglos de datos o decodificaciones algebraicas de código de barras óptico.

Función Dual de Transmisión Remota: Además de funcionar como receptor avanzado, el pin RX permite inyectar comandos seriales estructurados para que el diodo emisor genere ráfagas infrarrojas simulando cualquier control del mercado.

Código Arduino Completo y Optimizado

// Código de Control Completo para el Sensor Decodificador Infrarrojo IR-DECODING // Implementa recepción serial por software con almacenamiento de buffer y máquina de estados #include <SoftwareSerial.h> // Definición de pines para la interfaz UART del decodificador const int pinRX = 10; // Conectado al pin TXD del decodificador IR const int pinTX = 11; // Conectado al pin RXD del decodificador IR SoftwareSerial serialIR(pinRX, pinTX); // Inicialización del puerto serial emulado // VARIABLES INTEGRADAS PARA MÁQUINA DE ESTADOS Y DIAGNÓSTICO (Líneas extendidas adicionadas) byte bufferComando[3]; // Almacena los bytes del código NEC decodificado int indiceBuffer = 0; // Índice dinámico de posición del flujo unsigned long timestampUltimoByte = 0; // Monitoreo de desbordamiento por tiempo de espera const unsigned long timeoutLimite = 150; // Límite en milisegundos para reiniciar el paquete unsigned long conteoComandosValidos = 0; // Contador histórico de tramas exitosas unsigned long conteoErroresTrama = 0; // Contador histórico de bytes huérfanos o corrupt void setup() { Serial.begin(9600); serialIR.begin(9600); Serial.println("--- Sistema Decodificador IR-DECODING Inicializado ---"); Serial.println("Esperando comandos hexadecimales desde el puerto UART..."); } void loop() { // VERIFICACIÓN ESTRUCTURAL DE TIMEOUT PARA EL REINICIO DE BUFFER (Líneas extendidas adicionadas) if (indiceBuffer > 0 && (millis() - timestampUltimoByte > timeoutLimite)) { indiceBuffer = 0; conteoErroresTrama++; Serial.println("\n[ ERROR: Tiempo de espera agotado. Buffer reiniciado ]"); } // Lectura activa del flujo de datos proveniente de la MCU del decodificador while (serialIR.available() > 0) { byte byteEntrante = serialIR.read(); timestampUltimoByte = millis(); // Actualiza el marcador de tiempo del último byte recibido // Almacenamiento secuencial seguro dentro de la matriz asignada if (indiceBuffer < 3) { bufferComando[indiceBuffer] = byteEntrante; indiceBuffer++; } // Procesamiento e interpretación lógica al completar la trama de 3 bytes (Formato estándar YS-IRTM) if (indiceBuffer == 3) { conteoComandosValidos++; Serial.print("Comando No. "); Serial.print(conteoComandosValidos); Serial.print(" -> Código Completo Detectado: [0x"); // Impresión formateada de la estructura de datos en sistema Hexadecimal for (int i = 0; i < 3; i++) { if (bufferComando[i] < 0x10) Serial.print("0"); Serial.print(bufferComando[i], HEX); if (i < 2) Serial.print(" "); } Serial.println("]"); // Evaluación lógica interna de control basada en los bytes decodificados if (bufferComando[0] == 0x00 && bufferComando[1] == 0xFF) { Serial.println(" Accionamiento ejecutado: [ BOTÓN DE ENCENDIDO CENTRAL ]"); } else if (bufferComando[0] == 0x00 && bufferComando[1] == 0x1C) { Serial.println(" Accionamiento ejecutado: [ MODO DE CONFIGURACIÓN ]"); } else { Serial.println(" Código reconocido pero sin función mapeada en memoria."); } // NOTIFICACIÓN ADICIONAL DE ESTADO OPERATIVO DEL BUS (Líneas extendidas adicionadas) Serial.print("Diagnóstico general del bus: "); Serial.print(conteoErroresTrama); Serial.println(" desbordes detectados y corregidos."); Serial.println("-----------------------------------------------------"); indiceBuffer = 0; // Reseteo inmediato del índice para la siguiente ráfaga infrarroja } } }