
ถ้าคุณกำลังทำหุ่นยนต์หลบหลีกสิ่งกีดขวาง หรืออยากทำสวิตช์เปิด-ปิดไฟแบบไร้สัมผัส (Touchless Switch) แต่ไม่อยากปวดหัวกับการเขียนโค้ดแปลงค่าแรงดันไฟฟ้าที่ซับซ้อน โปรเจกต์นี้ตอบโจทย์คุณแน่นอน!
เราจะมาสร้างระบบตรวจจับวัตถุระยะใกล้ (ประมาณ 10 ซม.) โดยใช้เซ็นเซอร์อินฟราเรด Sharp GP2Y0D80Z0F ร่วมกับบอร์ด Arduino Uno และให้แสดงผลสถานะแบบเรียลไทม์ผ่านหน้าจอ I2C LCD (16x2) ความเจ๋งคือเซ็นเซอร์ตัวนี้ส่งค่าออกมาเป็น Digital (LOW/HIGH) ทำให้เราดึงค่าไปใช้งานได้ง่ายสุดๆ
อุปกรณ์ที่ต้องเตรียม (Hardware Components)
- บอร์ดไมโครคอนโทรลเลอร์ Arduino Uno
- เซ็นเซอร์วัดระยะทาง (Proximity Sensor) รุ่น GP2Y0D80Z0F
- หน้าจอแสดงผล DFRobot I2C 16x2 LCD
- เบรดบอร์ด (Breadboard) สำหรับต่อวงจร
- สายไฟ Jumper (ประมาณ 12 เส้น) และสาย USB-A to Mini-USB
คลิกเพื่อดูรูปภาพและไดอะแกรมการต่อวงจร (View More)
หลักการทำงานและการต่อสายไฟ
เซ็นเซอร์จะปล่อยคลื่นอินฟราเรดออกไปตลอดเวลา เมื่อมีวัตถุเข้ามาใกล้ในระยะประมาณ 10 ซม. คลื่นจะสะท้อนกลับมา ทำให้เซ็นเซอร์ส่งค่าสัญญาณเป็น LOW (ตรวจพบวัตถุ) แต่ถ้าไม่มีอะไรอยู่ใกล้ๆ สัญญาณจะยังคงเป็น HIGH (ไม่พบวัตถุ)
วิธีต่อสายไฟ (Wiring Guide): แนะนำให้ใช้สายไฟสีให้ตรงกัน (เช่น แดง=5V, ดำ=GND) เพื่อกันสับสนนะครับ
-
เซ็นเซอร์ GP2Y0D80Z0F: GND ต่อ GND / VIN ต่อ 5V / OUT ต่อเข้า Digital Pin 2
-
หน้าจอ I2C LCD: GND ต่อ GND / VCC ต่อ 5V / SDA ต่อ A4 / SCL ต่อ A5
โค้ดและไลบรารีที่ใช้
เราจะใช้โปรแกรม Arduino IDE ในการอัปโหลดโค้ด โดยตัวโค้ดจะคอยอ่านค่าจากเซ็นเซอร์ ถ้าเป็น LOW จะให้จอ LCD ขึ้นคำว่า "Object Detected" และถ้าเป็น HIGH จะขึ้นว่า "No Object" พร้อมส่งค่าเข้า Serial Monitor เพื่อเช็กการทำงาน
การนำไปใช้จริง & วิธีแก้ปัญหาเบื้องต้น
โปรเจกต์นี้สามารถนำไปดัดแปลงทำ สวิตช์ไร้สัมผัส (Touchless presence switches), เซ็นเซอร์กันชนให้หุ่นยนต์ขนาดเล็ก, หรือระบบแจ้งเตือนความปลอดภัยระยะใกล้ได้เลย
🛠️ ปัญหาที่เจอบ่อย (Troubleshooting Tips)
-
หน้าจอ LCD ว่างเปล่า: ลองเช็ก I2C Address ในโค้ดดูครับ ปกติจะเป็น
0x27 หรือ 0x3F
-
เซ็นเซอร์อ่านค่ามั่ว: ตรวจสอบสายไฟ โดยเฉพาะสาย GND ว่าเสียบแน่นหรือเปล่า สายหลวมจะทำให้สัญญาณรบกวนได้
-
หน้าจอกะพริบแปลกๆ: ปรับโค้ดให้หน้าจอทำงาน (อัปเดตคำ) เฉพาะตอนที่สถานะเซ็นเซอร์เปลี่ยนเท่านั้น
วิดีโอสาธิตการทำงาน (Working Video)
อยากทำระบบแจ้งเตือนของตัวเองไหม?
คำเตือน: เนื้อหานี้เป็นการสรุปและเรียบเรียงจากบทความต้นฉบับภาษาอังกฤษ ข้อมูลฉบับภาษาไทยอาจมีความคลาดเคลื่อนบางประการจากการตีความหรือย่อเนื้อหา