Sensor infrarrojo reflectante de obstáculos y Arduino

Los automóviles autónomos funcionan de manera similar a los robots que siguen líneas, que identifican la diferencia de reflectancia entre una línea y el suelo e intentan permanecer dentro de la línea mientras caminan. Por lo tanto, al crear dispositivos que necesitan identificar la reflectancia de una superficie, el sensor de obstáculos reflectante infrarrojo.

El propósito de este artículo es mostrar cómo funcionan los sensores infrarrojos de obstáculos reflectantes, cuáles son sus especificaciones y cómo usarlos junto con Arduino para crear sus robots autónomos.

¿Qué es el sensor de obstáculos reflectante infrarrojo?

El sensor infrarrojo reflectante consiste en un módulo con dos LED infrarrojos, un emisor y un receptor y también con un trimpot ya que es necesario ajustar la precisión del sistema.

sensor de obstáculos reflectante infrarrojo

El sensor puede usarse como un sensor de obstáculos, pero es mejor usar el HC-SR04, un sensor ultrasónico. Por lo tanto, la aplicación principal del sensor es identificar la reflectancia de las superficies, como en los robots de seguimiento de línea, que necesitan identificar la diferencia entre el piso blanco y la línea negra.

Cómo funciona el sensor de reflectancia infrarroja

El módulo tiene dos LED, un emisor, que emite y otro que recibe luz infrarroja, por lo tanto, un receptor. Sin embargo, para que la luz llegue al LED receptor, debe encontrarse con un obstáculo en su camino y reflejarse. Por lo tanto, si la luz no encuentra un obstáculo o es absorbida por el obstáculo, no alcanzará el LED receptor.

Te puede interesar  ARDUINO NANO

Por lo tanto, cuanto mayor es la distancia entre el sensor y el obstáculo, menor es la intensidad de la luz infrarroja que llega al LED del receptor. Por lo tanto, cuanto más corta sea la distancia entre el sensor y el obstáculo, mayor será la corriente eléctrica que pasa a través del LED del receptor.

El módulo tiene 3 pines, uno para alimentación (generalmente 3.3V o 5V), uno es GND y el otro la salida digital, ya que necesita enviar sus lecturas. Por lo tanto, si hay un obstáculo, el sensor envía el nivel lógico bajo, y si no, el sensor envía el nivel lógico alto.

Hay un trimpot, es decir, una resistencia variable en su cuerpo para definir la cantidad de luz que debe ser absorbida por el sensor para enviar el nivel lógico bajo. Por lo tanto, en otras palabras, el trimpot sirve para regular la precisión del sensor.

Especificaciones del sensor de reflectancia

Las especificaciones del módulo sensor infrarrojo de obstáculos reflectantes son las siguientes:

  • Controlador: LM393;
  • Voltaje de operación de 5VDC, pero puede usarse a 3.3VDC;
  • Distancia de detección de obstáculos de 2 cm a 30 cm;
  • Ángulo de detección de 35º alrededor de los LED;
  • Salida de señal digital y analógica;
  • Indicador LED activado por sensor;
  • Indicador LED de voltaje en el sensor;
  • Sensibilidad de lectura ajustable a través de trimpot.

Por lo tanto, utilizando estos componentes, también es posible construir su propio sensor de reflectancia infrarroja.

Cómo conectar el sensor infrarrojo reflectante en Arduino

El sensor está conectado con su puerto OUT en un pin digital Arduino, que no necesariamente tiene que ser PWM, ya que no es necesario variar el ancho del pulso. Por lo tanto, se recibirá un valor que será 0 o 1 del sensor, y así se puede usar para identificar obstáculos frente al sensor o para identificar una línea negra en un piso blanco. Por lo tanto, el negro será 0 y el blanco será 1.

Te puede interesar  ARDUINO: Una guía de inicio. Empezando con Arduino

sensor infrarrojo reflectante arduino

El objetivo es encender y apagar un LED dependiendo de la reflectancia del obstáculo al que apunta el LED. Por lo tanto, si la superficie es negra, el LED estará apagado, si es blanco, el LED estará encendido.

#define sensor_reflexivo 2 // Pino em que o sensor reflexivo está conectado
#define led 13 // Será utilizado o LED já soldado no Arduino

void setup() {
  pinMode(sensor_reflexivo, INPUT); // Define o pino do sensor como entrada
  pinMode(led, OUTPUT); // Define o LED como saída
}

void loop() {
  bool sensor = digitalRead(sensor_reflexivo);
  if(sensor == 0){
    digitalWrite(led, HIGH);
  }else{
    digitalWrite(led, LOW);
  }
}

Por lo tanto, con este código, es posible construir un robot de seguimiento de línea, que necesitará identificar la reflectancia de la superficie para saber cuándo está en la línea.

¿Quieres aprender más sobre electrónica?