IR सेंसर रोबोटिक्स के लिए सबसे बहुमुखी घटकों में से एक हैं। वे सतहों से परावर्तित इन्फ्रारेड प्रकाश का पता लगाते हैं और बाधा परिहार, लाइन फॉलोइंग, और प्रॉक्सिमिटी डिटेक्शन के लिए उपयोग किए जाते हैं।
सेंसर के पिन
अधिकांश IR सेंसर मॉड्यूल में तीन पिन होते हैं: VCC, GND, और एक डिजिटल आउटपुट। कुछ में एनालॉग आउटपुट पिन भी होता है।
- VCC → 3.3V
- GND → GND
- Digital OUT → D1
- Analog OUT → A0 (वैकल्पिक)
सेंसर पढ़ना
डिजिटल मोड में सेंसर HIGH या LOW आउटपुट देता है, यह इस पर निर्भर करता है कि वह परावर्तित IR प्रकाश का पता लगाता है या नहीं। एनालॉग पिन 0 से 1023 तक एक कच्चा मान देता है — प्रॉक्सिमिटी को अधिक सटीक रूप से मापने के लिए उपयोगी।
कोड
पूरा सोर्स: 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);
}Serial Monitor को 115200 baud पर खोलें। आपको हर आधे सेकंड में डिजिटल स्थिति और कच्चा एनालॉग मान दोनों प्रिंट होते दिखेंगे।
सुझाव
- डिटेक्शन थ्रेशोल्ड को ट्यून करने के लिए ऑनबोर्ड पोटेंशियोमीटर को एडजस्ट करें
- तेज़ परिवेश प्रकाश (विशेष रूप से सूरज की रोशनी) रीडिंग में हस्तक्षेप कर सकती है
- मैट, गैर-परावर्तक सतहों पर सबसे अच्छा काम करता है