Detector de infrarrojos y lógica inversa

      1 comentario en Detector de infrarrojos y lógica inversa

Resumen en vídeo

Sensor infrarrojo (IR)

Un sensor infrarrojo es un tipo de sensor óptico que es capaz de distinguir entre superficies oscuras y claras.  Está formado por dos partes:

  • Un led (emisor infrarrojo) que emite luz infrarroja (IR)
  • Un fotodiodo que es capaz de recibir esa luz infrarroja y transmitir una señal.

Puede que la luz emitida por el emisor no vuelva a ser recibida por el receptor. Esto puede ocurrir por dos motivos:

  1. Porque no hay ningún obstáculo delante
  2. Porque rebota en un obstáculo de color oscuro que absorbe casi toda la luz emitida.

Por tanto, en ciertas condiciones es un sensor que permite detectar si hay obstáculos delante, y en otras, permite distinguir diferenciar entre colores claros y oscuros. En la siguiente imagen se detalla su funcionamiento de forma gráfica:

Estos detectores son común mente usados para:

  • Para distinguir el color de una superficie. Por ejemplo para realizar robot sigue línea
  • Detectar un obstáculo. Por ejemplo como final de carrera.

Mediante el potenciómetro que trae incorporado se puede regular la distancia a la que detecta.

En ArduinoBlocks hay un bloque específico para este sensor, que puedes encontrar en el apartado Sensores. Su funcionalidad es la misma que si introduces una lectura digital genérica del puerto en el que está conectado el sensor.

Programa: Encendido de una luz tras la detección de un obstáculo

Con el siguiente programa, de forma muy simple vamos a hacer que se encienda un led (como indicador luminoso) mientras el sensor esté detectando un obstáculo delante.

IMPORTANTE:

  • La detección del obstáculo depende de la distancia a la que se coloque y de su color. Si es muy oscuro, aunque esté muy cerca, no lo va a detectar.
  • La distancia de detección se puede regular con el potenciómetro que lleva incorporado.
  • Funciona con lógica negativa, es decir, cuando detecta un obstáculo delante, manda un cero a Arduino y cuando no detecta nada, manda 5V. Es por esto que, para que el led se encienda cuando hay un obstáculo, hay dos posibilidades al hacer el programa:

1. Negar la entrada de señal:

2. Cambiar las condiciones de encendido y apagado:

Se podría realizar el mismo programa pero utilizando un detector de movimiento. El esquema de conexión sería el siguiente:

Programa: Barrera de parking con servo

Para que se mueva la barrera de nuestro parking particular y podamos entrar, tenemos que accionar un pulsador conectado al pin 2. Tras abrirse la barrera, esta quedará en esa posición hasta que el vehículo entre y sea detectado por el sensor IR. Tras dejar pasar unos segundos, la barrera se cerrará automáticamente.

A continuación se propone el mismo programa pero simulando el servo con un led, para poder practicar el ejercicio si no se dispone de servo. Para ello, el led se ha conectado al pin 5.

Programa: Barrera de parking con servo y pantalla LCD

Vamos a realizar el mismo programa que el caso anterior, pero ahora, cuando la barrera esté cerrada, en una pantalla LCD aparecerá un texto indicando la forma de abrir la barrera: «Accione el pulsador para entrar». Al abrirse la barrera, en la pantalla aparecerá un texto dando la bienvenida a los clientes.

Programa Robot Sigue Línea

La realización de un robot sigue línea exige conocer la programación de controladores de motores, elemento que aún no se ha estudiado. Para los que no se puedan aguantar, dejamos a continuación el enlace a la lista de reproducción en la que se explica en vídeo, como realizar y programar un robot de esas características.

 

Preguntas, sugerencias, propuestas…

Realiza cualquier cuestión, sugerencia o propuesta sobre el artículo o vídeo, en el foro del curso. Muchas gracias.

1 pensamiento en “Detector de infrarrojos y lógica inversa

  1. alborada_lm

    Buenas PEDRO
    muy bien explicado muy bueno los información todo muy bueno un curso muy bueno espero que siga realizando muchos mas
    muy buen curso

    Responder

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *