Los sensores IR son uno de los componentes más versátiles en robótica. Detectan luz infrarroja reflejada y se usan para detección de obstáculos, seguimiento de líneas y medición de proximidad.
Los pines del sensor
La mayoría de los módulos de sensor IR tienen tres pines: VCC, GND y una salida digital. Algunos también exponen un pin de salida analógica.
- VCC → 3,3V
- GND → GND
- Salida digital → D1
- Salida analógica → A0 (opcional)
Leyendo el sensor
En modo digital el sensor emite HIGH o LOW dependiendo de si detecta luz IR reflejada. El pin analógico da un valor bruto entre 0 y 1023 — útil para medir la proximidad con más precisión.
El código
Código completo: github.com/viktoriabuilds/esp8266-ir-sensor
const int IR_DIGITAL = D1;
const int IR_ANALOG = A0;
void setup() {
Serial.begin(115200);
delay(1000);
pinMode(IR_DIGITAL, INPUT);
Serial.println();
Serial.print("Start");
}
void loop() {
int digitalState = digitalRead(IR_DIGITAL);
int analogValue = analogRead(IR_ANALOG);
Serial.print("Digital: ");
if (digitalState == HIGH) {
Serial.print("HIGH");
} else {
Serial.print("LOW");
}
Serial.print(" Analog: ");
Serial.println(analogValue);
delay(500);
}Abre el Monitor Serie a 115200 baudios. Verás el estado digital y el valor analógico bruto cada medio segundo.
Consejos
- Ajusta el potenciómetro integrado para calibrar la sensibilidad
- La luz ambiental intensa (especialmente la solar) puede interferir con las lecturas
- Funciona mejor en superficies mate y no reflectantes