Sensor Infrarrojo básico

Sensor Infrarrojo Básico

Introducción

Con esta guía usted aprenderá como construir un sensor infrarrojo básico y cómo configurarlo con Arduino.

El sensor infrarrojo es uno de los mas utilizados en el mundo Maker, los podemos encontrar en diversos proyectos desempeñando variedad de funciones:

  • Barrera
  • Interrupción
  • Aproximación
  • Etc

Tipos de sensores infrarrojos

Los sensores infrarrojos IR pueden ser pasivos o activos:

  • Los sensores de infrarrojos pasivos son, básicamente, detectores de infrarrojos. Los sensores de infrarrojos pasivos no utilizan ninguna fuente de infrarrojos y detecta la energía emitida por los obstáculos en su campo de visión.
  • Los sensores de infrarrojos activos consisten en dos elementos: las fuentes infrarrojas (LED infrarrojo) y los detectores de infrarrojos (fototransistor). Estos ultimos son los explicados en esta guia.

¿Cómo funcionan?

Los sensores infrarrojos activos prensentan el LED infrarrojo y el fototransistor colocados uno al lado del otro, de forma que el LED actúa como emisor y el fototransistor como receptor.

Componentes de un sensor infrarrojo (IR)
Componentes de un sensor infrarrojo (IR)

Algunos emisores los encontramos transparentes o con un ligero color en púrpura y los receptores en trasparentes o negros, estos últimos por un filtro UV que les permite trabajar mejor incluso expuesto a la luz solar.

El LED infrarrojo emite luz infrarroja, o sea, de mayor longitud de onda (o menor frecuencia) que la podemos ver los humanos, así que para nosotros es invisible.

  • Si esta luz choca contra una superficie blanca se reflejará y llegará al fototransistor.
  • Si por el contrario golpea en una superficie negra, el material absorberá la mayoría de la luz y no llegará al fotoreceptor.
Espectro electromagnético y luz visible
Espectro electromagnético y luz visible

Conexiones

Su configuración consiste básicamente en mantener el LED Infrarrojo encendido y estarlo monitoreando a través del fototransistor, el cual trabaja a manera de compuerta cerrada cuando esta en reposo y abierta cuando es excitado por la luz infrarroja.

Existen dos tipos de configuración según el propósito y la información que se quiera mandar al microcontrolador:

  • La opción A es un clásico Pull Up que en la salida al Pin proporciona un estado alto (HIGH) cuando el fototransistor se encuentra en reposo (cerrado) y un estado bajo (LOW) cuando esta excitado (abierto).
  • La opción B funciona de manera inversa.
{gallery}/images/guias/sensores/infrarojos/gallery-configuraciones/|bottom{/gallery}

Para el ejemplo usaremos la opción A.

Al ser un sensor de luz infrarroja su valor puede variar dependiendo de la intensidad del LED, la distancia entre ambos componentes e incluso por la luz natural, así que el fototransistor (receptor) tendrá que ser conectado a un Pin analógico para poder leer su variación.

Código

El código es simple, solo leemos la variación de la lectura y la comparamos con un valor definido.

Dependiendo de para que se este usando podemos hacer una cosa cuando la lectura esta por debajo de nuestro valor definido u otra cuando esta sobre el, para el ejemplo solo encenderemos/apagaremos un LED.


const int analogInPin = A1;   //Pin analogico 1 para la lectura del fototransistor
const int OutPin = 13;        //Pin para el led indicador

int sensorValue = 0;          //Inicializamos el valor del sensor

void setup() {
  Serial.begin(9600);         //Inicializamos la comunicación serial a 9600 bps
  pinMode(OutPin, OUTPUT);
}

void loop() {
  sensorValue = analogRead(analogInPin);  //Leemos el pin 
                                          //y asignamos el valor a la variable

  if(sensorValue > 900) {                 //Si el valor obtenido es >900
    digitalWrite(OutPin, HIGH);           //se activa el LED
  }
  else {
    digitalWrite(OutPin, LOW);
  }

  Serial.print("sensor = " );             //Imprimimos el valor en el monitor
  Serial.println(sensorValue);     

  delay(100);                     
}