Stap 4: Recepetor Infra Rojo
Primero que todo Qué es Infra Rojo?
Infra-Rojo /debajo Rojo del /
Básicamente, la luz infrarroja es una luz con una longitud de onda burgemeester a la que se encuentra nl el espectro zichtbaar y por ende onoverwinnelijk al ojo humano. Es muy poco común encontrarla de forma natuurlijke, por lo que se gebruikt mucho nl aplicaciones electrónicas. El TSOP382 tiene filtros que logran que solo luz de 980 nanómetros pase, por lo cual un ambiente con mucha luz geen amendementen afectara nl nada. Además, nuestro código esta ontworpen para tomar nl cuenta reizigers luz que este parpadeando een 38.5 kHz, tal y como los controles de televisie. (Ver Foto # uno)
¿OK, y como funciona la comunicación?
El TSOP382 es normalmente: abierto, está ontworpen de esta forma para que cada vez que reciba alguna Sal se corte el pulso que mandamos al microprocesador. Nl nuestro código, una vez que el pulso se corta, se empieza el protocolo de comunicación. CON 2.4 ms de que el este Seguiremosrecibiendo un pulso (Seguiremosrecibiendo lage nl el Arduino) se entiende que se quiere empezar una comunicación. Los ceros se representan con pulsos de 0.6 ms, los unos con pulsos 2.4, y entre cada pulso hooi 0.6 ms de descanso. (Ver Foto # dos)
Lo que Dion consiguiendo es una cadena de números binaria única para cada botún que presionamos. Finalmente, podemos usar estos unos y ceros para sabelen cual botón del controle se presiono y actuar según corresponda.
Nuestro código funciona con el equivalente del numero binary nl decimaal. La de la foto numero tres muestra el numero binary y el equivalente decimale de los botones de mi tafelbeheersing. Es importante notar que aunque normalmente todos los controles envían el mismo numero binary para cada botón, algunos controles varian. Si este es el caso con su controle, o simplemente quieren agregar otros botones, pueden correr el código de abajo para obtener el numero decimale que corresponde een determinado botón de su besturingselement. Nl este ejemplo se imprime en el monitor seriële el numero decimale que corresponde al botón que presionamos. Recuerden que necesitan la librería IRremote descargada y nl la carpeta correcta.
#include < IRremote.h >
IRrecv sensor(6);
decode_results resultados;
VOID Setup {}
Serial.begin(9600);
sensor.enableIRIn(); habilitamos "sensor" para recibir
}
void loop {}
Als (irrecv.decode (& resultaten)) {/ / la función .decode nos devuelve 1 si se decodificó correctamente o 0 si geen.
Serial.println(resultados); NOS DA EL NUMERO QUE NECESITAMOS
irrecv.resume(); Preparamos el sensor para recibir el siguiente valor
}
}