IR Infrared Sensor คืออะไร? วิธีใช้งานตรวจจับวัตถุด้วย Arduino
IR Sensor หรือ เซ็นเซอร์อินฟราเรด คือเซ็นเซอร์อิเล็กทรอนิกส์ที่นิยมใช้ในการตรวจจับวัตถุในระยะใกล้ หรือใช้ตรวจจับการสะท้อนของแสงอินฟราเรด เป็นอุปกรณ์พื้นฐานที่สำคัญสำหรับโปรเจกต์หุ่นยนต์และระบบอัตโนมัติต่างๆ
หลักการทำงานของ IR Sensor
การทำงานของเซนเซอร์นั้นตรงไปตรงมาและเข้าใจง่าย:
-
ภาคส่ง (Transmitter): โมดูลจะปล่อยลำแสงอินฟราเรด (ซึ่งตาคนมองไม่เห็น) ออกไปจากตัวส่ง (IR LED)
-
ภาครับ (Receiver): เมื่อลำแสงนั้นไปกระทบกับวัตถุ มันจะสะท้อนกลับมา และถูกตรวจจับโดยตัวรับแสงอินฟราเรด (Photodiode หรือ Phototransistor)
-
การส่งสัญญาณ: เมื่อภาครับตรวจจับแสงสะท้อนได้ วงจรบนโมดูลจะส่งสัญญาณดิจิทัล (0 หรือ 1) ออกมาที่ขา OUT เพื่อแจ้งให้ไมโครคอนโทรลเลอร์ (เช่น Arduino) ทราบว่า "มีวัตถุอยู่ด้านหน้า"
สเปคของ IR Sensor Module (สำหรับ Arduino)
รายการ |
รายละเอียด |
แรงดันใช้งาน |
3.3V – 5V (ใช้ไฟจากบอร์ด Arduino ได้โดยตรง) |
ระยะตรวจจับ |
ประมาณ 2 – 30 ซม. (ขึ้นอยู่กับสีและความเรียบของผิววัตถุ) |
เอาต์พุต |
ดิจิทัล (Digital) ส่งค่า 0 หรือ 1 |
การปรับความไว |
สามารถปรับได้ด้วยตัวต้านทานปรับค่าได้ (VR) บนบอร์ด |
ไฟแสดงสถานะ |
มี LED แสดงสถานะการทำงาน (มักจะสว่างเมื่อตรวจพบวัตถุ) |
อินเตอร์เฟส |
3 ขา: VCC, GND, OUT |
การใช้งานกับ Arduino
✅ การต่อสาย
-
VCC → ต่อกับขา 5V บนบอร์ด Arduino
-
GND → ต่อกับขา GND บนบอร์ด Arduino
-
OUT → ต่อกับขาดิจิทัล (Digital Pin) ขาใดก็ได้ เช่น D2
✅ ตัวอย่างโค้ดใช้งานง่าย
โค้ดนี้จะอ่านค่าจาก IR Sensor และเมื่อตรวจพบวัตถุ จะสั่งให้ LED บนบอร์ด (ขา 13) ติดสว่าง พร้อมทั้งแสดงข้อความใน Serial Monitor
int irPin = 2; // ขาที่รับสัญญาณจากเซนเซอร์
int ledPin = 13; // LED Build-in บนบอร์ด Arduino
void setup() {
pinMode(irPin, INPUT); // กำหนดให้ขา irPin เป็น Input
pinMode(ledPin, OUTPUT); // กำหนดให้ขา ledPin เป็น Output
Serial.begin(9600); // เริ่มการสื่อสารแบบ Serial
}
void loop() {
int objectState = digitalRead(irPin); // อ่านค่าจากเซนเซอร์
// ตรวจสอบสถานะ: เซนเซอร์บางรุ่นจะให้ค่า LOW เมื่อเจอวัตถุ
if (objectState == LOW) {
digitalWrite(ledPin, HIGH); // เปิด LED
Serial.println("พบวัตถุ!");
} else {
digitalWrite(ledPin, LOW); // ปิด LED
Serial.println("ไม่พบวัตถุ");
}
delay(200); // หน่วงเวลาเพื่อลดการอ่านค่าที่เร็วเกินไป
}
หมายเหตุ: เอาต์พุตของ IR Sensor แต่ละรุ่นอาจแตกต่างกัน บางรุ่นส่งค่า LOW (0) เมื่อเจอวัตถุ แต่บางรุ่นอาจส่งค่า HIGH (1) แนะนำให้ทดลองเพื่อตรวจสอบการทำงานของเซนเซอร์ที่คุณมี
ไอเดียการประยุกต์ใช้งาน (Application Ideas)
โปรเจกต์ |
รายละเอียดการใช้งาน |
หุ่นยนต์เดินตามเส้น |
ใช้ IR Sensor หลายตัวติดไว้ใต้หุ่นยนต์เพื่อตรวจจับเส้นสีดำบนพื้นสีขาว |
หุ่นยนต์หลบสิ่งกีดขวาง |
ติดตั้งไว้ด้านหน้าหุ่นยนต์เพื่อตรวจจับกำแพงหรือสิ่งของแล้วสั่งให้เลี้ยวหลบ |
เครื่องนับจำนวนสินค้า |
ติดตั้งไว้ข้างสายพานลำเลียง เพื่อนับจำนวนสินค้าที่เคลื่อนที่ผ่าน |
ระบบเปิด-ปิดอัตโนมัติ |
ใช้ตรวจจับมือหรือวัตถุที่เข้ามาใกล้เพื่อสั่งเปิดก๊อกน้ำ หรือถังขยะ |
สวิตช์ไร้สัมผัส (Touchless Switch) |
ใช้แทนปุ่มกด เพื่อลดการสัมผัส เหมาะสำหรับยุคปัจจุบัน |
ข้อดีของ IR Sensor
- ราคาถูกมาก หาซื้อง่าย
- ใช้งานง่าย มีเพียง 3 ขา และโค้ดไม่ซับซ้อน
- ตอบสนองต่อการเปลี่ยนแปลงได้รวดเร็ว
- ใช้ได้กับไมโครคอนโทรลเลอร์หลากหลาย เช่น Arduino, ESP8266, ESP32