El sensor, propuesto por Instructables con el sobrenombre de AdnanA61, le permite detectar la radiación infrarroja de onda corta de fuentes como controles remotos, fuego, lámparas incandescentes y el sol. No responde a otra forma de radiación infrarroja: onda larga, cuyas fuentes son todos los objetos calentados a temperaturas normales. Hecho en casa produce dos tipos de señales: analógicas y discretas, la segunda de ellas está formada por un comparador, cuyo umbral se ajusta. Ambas señales pueden aplicarse tanto a Arduinoy a otros dispositivos con o sin microcontrolador. El siguiente es otro diseño de placa, el circuito no es diferente:
El sensor está hecho en uno de los dos comparadores del microcircuito LM393; el segundo puede usarse para resolver otro problema si lo desea. Si no lo usa, es mejor conectar sus dos entradas con un cable común y dejar la salida sin conectar.
El esquema está diseñado para que leerlo no sea muy conveniente. Tres puntos, designados como A0, deben estar interconectados. Dos puntos designados como D0 - también. Entonces queda claro qué está conectado y cómo funciona. Sin acertijos. Si ensamblas el sensor del diseñador, el pinout del peine en el tablero incluido en el kit será el siguiente:
Por supuesto, en un tablero improvisado, impreso o de tablero, este pinout puede hacerse conveniente para usted. Puede verificar la placa en acción y ajustar el umbral del comparador inmediatamente después del ensamblaje, simplemente suministrando energía, gracias al LED a bordo. El segundo LED se ilumina continuamente cuando la alimentación está encendida. Luego puede conectar el sensor al Arduino y probar la salida analógica con este boceto:
// copia este código en el ide de arduino desde esta línea
// nota: este código es para valor analógico
int sensor = A0; // inicializando el pin analógico
zumbador int = 3; // inicializando el zumbador
valor int;
configuración nula () {
Serial.begin (9600);
pinMode (sensor, ENTRADA); // evaluando el tipo de pin del pin como entrada o salida
pinMode (zumbador, SALIDA);
}
bucle vacío () {
valor = analogRead (sensor); // leyendo el valus desde el sensor
valor = mapa (valor, 0.1023,0,255); // mapeando el valor de 0 a 1023 b / w 0 a 255
digitalWrite (zumbador, valor); // activar o desactivar el zumbador por el valor asignado
}
Y digital, con otro boceto:
// copia este código en el ide de arduino desde esta línea
// nota: este código es para valor digital
int sensor_digital = 2; // inicializando el pin digital
zumbador int = 3;
valor int;
configuración nula () {
Serial.begin (9600);
pinMode (sensor_digital, ENTRADA);
pinMode (zumbador, SALIDA);
}
bucle vacío () {
valor = digitalRead (sensor_digital); // leyendo el dato digital desde el sensor
digitalWrite (zumbador, valor); // activar o desactivar el timbre
}
Cuando todo funciona, puede escribir programas que implementen algoritmos de mayor complejidad. Por ejemplo, para un robot "temeroso" acercarse a una llama o una lámpara incandescente potente para no deteriorarse. Y está haciendo lo correcto, ya que sujetar la placa del sensor a fuentes de calor fuerte a una distancia de menos de 100 mm puede dañarla.