Este módulo sensor infrarrojo es emisor y receptor. Se puede adaptar a luz ambiente y distancia de detección a través de un potenciómetro que viene incluido en la placa, dicha distancia se encuentra comprendida entre 1cm~20cm, con un ángulo de detección de 35°. Estos infrarrojos emiten señales a cierta frecuencia cuando se encuentra detección de algún obstáculo (superficie de reflexión). La señal captada por estos sensores es acondicionada mediante un circuito comparador, esto se ve reflejado mediante un LED indicador de color verde, en donde dependiendo de la configuración del usuario, podrá establecer niveles altos (1 lógico) y bajos (0 lógico) de tensión. Este sensor suele ser usado en robots diseñados para evadir obstáculos, seguidor de línea de color negra o blanca, entre otras. La señal captada por los sensores puede ser llevada directamente a un circuito de control como un microcontrolador, Arduino o Raspberry , para ser tratada dependiendo de la aplicación específica.
De fácil uso y programación con las placas de Arduino, Raspberry y microcontroladores.
Especificaciones técnicas
- Voltaje de funcionamiento: 3.3V~5V
- Corriente de trabajo: 18mA – 20 mA a 5 V
- Ángulo para detección: 35°
- Terminales de conexión: OUT: Señal / GND: Tierra / VCC: Alimentación
- Datasheet
ESQUEMA ELÉCTRICO
El montaje es sencillo. Alimentamos el módulo a través de Vcc y GND conectándolos, respectivamente, a la salida de 5V y GND en Arduino.
Finalmente, conectamos la salida digital del sensor a una entrada digital para leer el estado del sensor.
Opcionalmente, calibramos el umbral de disparo acercando un objeto al detector de obstáculos y regulando la salida digital con el potenciómetro. Si quieres te puedes saltar este paso dejando el potenciómetro en un valor medio.
EJEMPLO DE CÓDIGO
El código es igualmente sencillo. Simplemente leemos el estado de la entrada digital.
Si el sensor se dispara, ejecutamos las acciones necesarias.
1 const int sensorPin = 9;
2
3 void setup() {
4 Serial.begin(9600); //iniciar puerto serie
5 pinMode(sensorPin , INPUT); //definir pin como entrada
6 }
7
8 void loop(){
9 int value = 0;
10 value = digitalRead(sensorPin ); //lectura digital de pin
11
12 if (value == HIGH) {
13 Serial.println(«Detectado obstáculo»);
1 }
15 delay(1000);
16 }