สรุปโปรเจกต์ (เอาแบบย่อๆ นะน้อง)
โปรเจกต์ Proximity Sensor with LCD ตัวนี้คือพื้นฐานชั้นยอดสำหรับเอาไปทำตลับเมตรดิจิทัล, ระบบตรวจจับสิ่งกีดขวาง หรือแม้แต่เซนเซอร์ช่วยจอดรถสุดเท่ งานนี้เราจับคู่ Sensor อัลตร้าโซนิกความแม่นยำสูง มาแสดงผลแบบ Real-time บนจอ LCD เห็นค่ากันจะๆ ไม่ต้องมโนเอาเอง
หลักการทางเทคนิค (อ่านไว้จะได้ไม่งง)
- การวัดระยะด้วยอัลตร้าโซนิก (HC-SR04): ตัว Sensor มันทำงานเหมือนโซนาร์ในธรรมชาติเลยวัยรุ่น มันจะปล่อยคลื่นเสียงความถี่ 40kHz ออกไป แล้วคอยนับเวลาว่าคลื่นมันวิ่งไปกระทบวัตถุแล้วสะท้อนกลับมาที่ตัวรับ (ขา Echo) นานแค่ไหน
- การคำนวณระยะทาง: เราอิงจากความเร็วเสียง (ประมาณ 343 เมตร/วินาที) แล้วให้ Arduino คำนวณเวลาที่ใช้เดินทางทั้งหมด แต่จำไว้นะน้องว่าเสียงมันเดินทางไป "กลับ" เพราะฉะนั้นสูตรที่ใช้คือ:
Distance (cm) = (Time * 0.0343) / 2
- การแสดงผล: เราใช้จอ 16x2 LCD มาโชว์ค่าหน่วยเป็นเซนติเมตรหรือนิ้ว โดยเรียกใช้
LiquidCrystallibrary มาจัดการเรื่อง Format ข้อมูลให้ดูง่าย สบายตา
การต่อวงจร (Hardware Wiring)
- Module HC-SR04:
- VCC ต่อเข้า 5V
- GND ต่อลง Ground
- Trig ต่อเข้า Digital Pin 9 (ตัวเริ่มยิงสัญญาณ)
- Echo ต่อเข้า Digital Pin 10 (ตัวรอรับสัญญาณ)
- Module LCD 16x2 (แบบขนานมาตรฐาน):
- RS ต่อเข้า Pin 12
- Enable ต่อเข้า Pin 11
- Data Pins (D4-D7) ต่อเข้า Pins 5, 4, 3, 2
- อย่าลืมต่อตัวต้านทานปรับค่าได้ (Potentiometer) ไว้ปรับความคมชัดตัวอักษรด้วยล่ะ เดี๋ยวจะหาว่าจอเสีย!
การทำงานของ Software
ตัว Code แบ่งออกเป็น 3 ส่วนหลักๆ จัดไปวัยรุ่น:
- Pulse Generation: เราจะสั่งให้ขา Trig เป็น
HIGHนาน 10 ไมโครวินาที เพื่อสั่งให้ Sensor เริ่มยิงคลื่นเสียง - Pulse Measurement: ใช้ฟังก์ชัน
pulseIn()วัดความยาวของสัญญาณที่ขา Echo เพื่อดูว่าใช้เวลาไปกี่ไมโครวินาที - Data Refresh: เคลียร์หน้าจอ LCD แล้วอัปเดตค่าใหม่ทุกๆ ไม่กี่ร้อยมิลลิวินาที เพื่อให้ตัวเลขมันวิ่งลื่นๆ ไม่กระตุก
เอาไปใช้งานอะไรได้บ้าง?
- Digital Ruler: ทำไม้บรรทัดดิจิทัลไว้วัดงานช่างแบบหล่อเท่
- ถังขยะอัจฉริยะ (Smart Trash Bin): ตรวจจับว่ามือเราเข้าไปใกล้หรือยัง แล้วสั่งเปิดฝาอัตโนมัติ สบายไปอีก
- ระบบวัดระดับน้ำ: ติด Sensor ไว้บนปากแท็งก์น้ำ ส่องลงไปดูว่าน้ำเหลือเท่าไหร่ ไม่ต้องปีนขึ้นไปดูให้เหนื่อยหรอกน้อง สูตรนี้เวิร์กแน่นอน!