Les capteurs IR sont parmi les composants les plus polyvalents en robotique. Ils détectent la lumière infrarouge réfléchie et sont utilisés pour la détection d'obstacles, le suivi de ligne et la mesure de proximité.
Les broches du capteur
La plupart des modules capteurs IR ont trois broches : VCC, GND et une sortie numérique. Certains exposent aussi une broche de sortie analogique.
- VCC → 3,3V
- GND → GND
- Sortie numérique → D1
- Sortie analogique → A0 (optionnel)
Lire le capteur
En mode numérique le capteur renvoie HIGH ou LOW selon qu'il détecte ou non de la lumière IR réfléchie. La broche analogique donne une valeur brute entre 0 et 1023 — utile pour une mesure de proximité plus précise.
Le code
Code source complet : 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);
}Ouvre le Moniteur Série à 115200 bauds. Tu verras l'état numérique et la valeur analogique brute s'afficher toutes les demi-secondes.
Conseils
- Règle le potentiomètre intégré pour calibrer la sensibilité
- Une forte lumière ambiante (surtout le soleil) peut perturber les lectures
- Fonctionne mieux sur des surfaces mates et non réfléchissantes