Sensor Infrarrojo IR Arduino
Sensor Infrarrojo MH-Series para Arduino
1º Año EMS - Proyecto Robot SUMO.uy
El ojo de tu robot
El módulo infrarrojo (como el TCRT5000) funciona imitando cómo vemos los colores, pero usando luz invisible para nosotros (Infrarroja).
- Emisor (LED transparente/azulado): Dispara un rayo de luz infrarroja constantemente hacia el suelo.
- Receptor (Fotodiodo negro): Actúa como un ojo. Espera a que la luz rebote en el suelo y regrese a él.
La física del color:
El color Blanco refleja casi toda la luz. El color Negro la absorbe.
Por lo tanto, si el sensor pasa por una línea blanca, la luz rebota, el receptor la detecta y envía una señal a tu Arduino.
Por lo tanto, si el sensor pasa por una línea blanca, la luz rebota, el receptor la detecta y envía una señal a tu Arduino.
Conectando los cables
Para nuestro proyecto "Detector de Línea Blanca", necesitamos conectar el sensor y un LED indicador a la placa Arduino UNO.
| Componente | Pin / Pata | Arduino UNO |
|---|---|---|
| Sensor Infrarrojo | VCC | 5V (Energía) |
| Sensor Infrarrojo | GND | GND (Tierra) |
| Sensor Infrarrojo | OUT / D0 | Pin Digital 2 |
| LED Testigo | Ánodo (Pata larga) | Pin Digital 8 (con resistencia 220Ω) |
| LED Testigo | Cátodo (Pata corta) | GND (Tierra) |
El cerebro del sistema (Código)
Copia y pega este código en tu IDE de Arduino. Lee los comentarios en verde para entender cada paso.
// Definimos los pines de conexión
const int pinSensor = 2;
const int pinLed = 8;
void setup() {
// Configuramos cómo actúan los pines
pinMode(pinSensor, INPUT); // Recibe datos (Entrada)
pinMode(pinLed, OUTPUT); // Envía voltaje (Salida)
Serial.begin(9600); // Inicia monitor serie
}
void loop() {
// Leer estado del sensor (LOW=Reflejo/Blanco, HIGH=Negro)
int lectura = digitalRead(pinSensor);
if (lectura == LOW) {
// Detectó luz rebotada -> Línea Blanca
digitalWrite(pinLed, HIGH); // Enciende el LED
Serial.println("detectada linea"); // Envia mensansaje al monitor serie
Serial.println("¡Línea Blanca detectada!");
} else {
// No hay luz rebotada -> Superficie Negra
digitalWrite(pinLed, LOW); // Apaga el LED
Serial.println("Superficie Negra...");
}
delay(100); // Pequeña pausa para no saturar
}
Simulador Lógico
Toca el bloque de abajo para simular que el robot pasa de una superficie negra a una línea blanca. Observa cómo reacciona el LED virtual conectado al Pin 8.
Estado del LED (Pin 8)
Lectura: HIGH (No hay reflejo)
Superficie debajo del sensor
Superficie Negra (Tocar)
Desarrollado por Andrés Franchi Ugartemendía | www.servicioti.com.uy
