การวัดระยะทางด้วย Ultrasonic Sensor HY-SRF05
Ultrasonic sensor จะวัดระยะทางของวัตถุที่อยู่ใกล้ที่สุด และส่งผลลัพธ์ไปยัง serial port สามารถทำงานได้ตั้งแต่ 2 cm ถึง 3 m โดยจะวัดเวลาที่สัญญาณใช้ในการเดินทางไปถึงวัตถุและกลับมายัง sensor
การเชื่อมต่อ:
- Vcc -> 5 V
- Trig -> pin 13 (digital pin)
- Echo -> pin 12 (digital pin)
- Out ->
- GND -> GND
ภาพรวมเทคโนโลยี Sonar
โปรเจกต์ HY-SRF05 Ultrasonic Ranging เป็นบทเรียนพื้นฐานของการ "วัดแบบไม่สัมผัส" (Non-Contact Measurement) แม้จะต่อสายได้ง่าย แต่ก็ช่วยให้ผู้สร้างได้เรียนรู้ฟิสิกส์ของอะคูสติกและคณิตศาสตร์ของความเร็ว เวลา และระยะทาง HY-SRF05 เป็นรุ่นที่พัฒนามาจาก HC-SR04 แบบคลาสสิก โดยมีความแม่นยำสูงกว่าและสามารถทำงานได้ในโหมดการต่อสายที่แตกต่างกันหลายโหมด โปรเจกต์นี้เป็นก้าวแรกในการสร้างหุ่นยนต์อัตโนมัติที่สามารถ "มองเห็น" สิ่งกีดขวางได้
แกนฮาร์ดแวร์และชั้นการตรวจจับ
- Arduino UNO: ทำหน้าที่เป็นผู้จับเวลาหลัก โดยจะสร้างพัลส์ trigger ที่แม่นยำ 10-microsecond และวัดค่า echo ที่สะท้อนกลับมาด้วยความละเอียดระดับ microsecond
- HY-SRF04/05 Ultrasonic Sensor: ทำหน้าที่เป็น "Acoustic Transceiver" ของระบบ
- Transmitter (T): ปล่อยคลื่น ultrasonic ความถี่ 40kHz (มองไม่เห็นและไม่ได้ยิน)
- Receiver (R): รับฟัง "echo" ที่สะท้อนกลับจากพื้นผิวทึบ
- ขา (Pins) และโหมด:
- Trig (Pin 13): ขา Input ที่ใช้สำหรับเริ่มการวัด
- Echo (Pin 12): ขา Output ที่จะส่งสัญญาณ HIGH เป็นระยะเวลาเท่ากับเวลาการเดินทางของเสียง
- Out (MODE Pin): บน SRF05 ขานี้สามารถใช้เพื่อตั้งค่าการทำงานแบบ 1-pin หรือ 2-pin ได้
ตรรกะและคณิตศาสตร์เชิงมิติ
การคำนวณระยะทางจะอิงตามความเร็วเสียงสากล (ประมาณ 343 m/s ที่อุณหภูมิห้อง):
- วัฏจักรของพัลส์: Arduino จะส่งพัลส์ HIGH ขนาด 10us ไปยังขา
Trigจากนั้น sensor จะตอบสนองโดยการปล่อยคลื่น ultrasonic ออกไป 8 รอบ - การจับเวลาการเดินทาง: ขา
Echoจะเปลี่ยนเป็น HIGH Arduino ใช้ฟังก์ชันpulseIn()เพื่อรอจนกว่าขาจะเปลี่ยนเป็น LOW ซึ่งจะให้ "เวลาการเดินทาง" (Time of Flight) ทั้งหมดในหน่วย microsecond - การคำนวณเป็นหน่วย Centimeters:
- เนื่องจากเสียงเดินทางไปยังวัตถุและ กลับมา เราจึงหารเวลาด้วย 2
- ใช้ค่าคงที่
0.0343(cm ต่อ microsecond) ระยะทางคือ:Distance = (Time / 2) * 0.0343
- การรายงานข้อมูล: ค่าสุดท้ายจะถูกพิมพ์ไปยัง Serial Monitor ในรูปแบบที่มนุษย์อ่านง่าย (เช่น "15.4 cm")
ทำไมโปรเจกต์นี้จึงสำคัญ
โปรเจกต์นี้สอนพื้นฐานของ Pulse-Width Timing และ Acoustic Physics แสดงให้เห็นถึงวิธีการแปลงปรากฏการณ์ทางสิ่งแวดล้อมที่มองไม่เห็นให้เป็นตัวแปรดิจิทัลที่จับต้องได้ เมื่อเข้าใจอย่างถ่องแท้แล้ว คุณสามารถใช้ข้อมูลระยะทางนี้เพื่อสั่งการ Alarm (Parking Sensors), ขับเคลื่อนมอเตอร์ (Obstacle Avoiding Robots) หรือแม้แต่วัดระดับของเหลวในถังเก็บน้ำ (IoT Tank Monitor)