Objetivos
MATERIAL REQUERIDO
Arduino Uno o similar. | |
Una Protoboard. | |
Un diodo LED. | |
Un sigue líneas IR. | |
Una resistencia de 330 Ohmios. | |
cables macho-macho y macho-hembra de Protoboard. |
LOS SENSORES INFRARROJOS
Los sensores infrarrojos son unos componentes electrónicos compuestos normalmente de un LED infrarrojo y un fototransistor colocados uno al lado del otro, de forma que el LED actúa como emisor y el fototransistor como receptor. 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 fotorreceptor.
Hay muchas clases de sensores de este tipo pero este que estamos usando se utiliza generalmente para construir robots seguidores de líneas. Estos robots sirven para seguir líneas (no me he quedado calvo con eso), que pueden ser negras sobre fondo blanco o blancas sobre fondo negro, de forma que con un par de sensores de estos podemos detectar si se sale por la derecha o por la izquierda de la línea y reconducirlo de nuevo al interior.
CONEXIÓN Y PROGRAMACIÓN
Este sensor tiene 3 pines de conexión, 5V y GND para la alimentación y OUT para enviar la señal al Arduino que nos indicará si está llegando o no el reflejo del LED al fototransistor, y además incorpora un LED y un potenciómetro. Funciona de esta forma:
- Si está llegando la luz al fotorreceptor se ilumirá un LED en el sensor y enviará una señal LOW al exterior.
- Si no está llegando no se iluminará el LED y enviará una señal HIGH.
- Mediante el potenciómetro ajustamos la sensibilidad del fotorreceptor.
Para comprobar su funcionamiento vamos a montar un circuito con LED y el sensor. El esquema electrónico y el montaje quedarían de esta forma:
La programación es muy sencilla y ya hemos hecho multitud de programas iguales para otros sensores y pulsadores. Lo que pretendemos es encender un LED si está sobre una superficie negra y apagarlo si está sobre blanca.
int LED = 13 ; int IR = 2; //Entrada digital conectada al sensor infrarrojo void setup() { pinMode( LED, OUTPUT) ; // LED como salida pinMode( IR , INPUT) ; //Sensor infrarrojo como entrada } void loop() { int valor = digitalRead(IR) ; //leemos el valor del sensor infrarrojo digitalWrite( LED, valor) ; }
Podéis descargar el programa completo aquí:
Como veis es muy sencillito de usar, pero a la vez será muy divertido cuando los utilicemos para construir un robot seguidor de líneas. Aquí os dejamos un vídeo que ilustra un poquito lo que hemos visto en esta sesión.
Material requerido
En esta sesión hemos aprendido varias cosas importantes: