ชื่อโปรเจกต์: Motion Sensor Stopwatch
พี่ดีไซน์เครื่องนี้มาเพื่อช่วยทำโปรเจกต์วิชาฟิสิกส์สมัยมัธยมโดยเฉพาะเลยนะเนี่ย
พอกดปุ่มปุ๊บ ตัว [Servo](https://s.shopee.co.th/7fUgFAWSki) ก็จะเปิดทางให้พร้อมกับเริ่มจับเวลา Stopwatch ทันที และพอไอ้ตัว [Sensor](https://s.shopee.co.th/7VBG2rX65j) วัดระยะมันเจอวัตถุวิ่งผ่านเข้ามาในระยะที่กำหนด Stopwatch ก็จะหยุดเดิน แล้วจอ [LCD](https://s.shopee.co.th/6AfsSPcAnb) ก็จะโชว์เวลาที่ใช้ไปทั้งหมดตั้งแต่วินาทีที่เริ่มเปิดประตูจนถึงตอนที่ Sensor ตรวจเจอวัตถุ หล่อเท่เลยงานนี้
สเต็ปต่อไป พี่กะจะทำราง (Ramp) ที่หุ้มด้วยวัสดุต่างพื้นผิวกัน (อย่างพวกกระดาษทรายหรือฟอยล์) แล้วลองปล่อยของให้กลิ้งลงมาดู โดยจะใช้ Servo เป็นประตูกั้น (Gate) คอยปล่อยของ แล้วให้ Sensor บอกว่ามันวิ่งถึงก้นรางเร็วแค่ไหน ทีนี้เราก็เอาไปคำนวณต่อได้แล้วว่าวัสดุอันไหนมีแรงเสียดทาน (Friction) มากที่สุด จัดไปวัยรุ่น!
เจาะลึกรายละเอียดทางเทคนิค (แบบฉบับรุ่นพี่)
ระบบจับเวลาความเร็วสูง (High-Speed Temporal Tracking)
โปรเจกต์นี้สร้างระบบจับเวลาแบบอัตโนมัติและไม่สัมผัสวัตถุ (Non-contact) เหมาะมากกับการเอาไปจับเวลานักวิ่ง, รถ RC หรือการทดลองเรื่องแรงโน้มถ่วง
- PIR/Ultrasonic Triggering: เลือกใช้ Sensor ได้ตามใจชอบไม่ว่าจะเป็น HC-SR501 PIR sensor หรือ HC-SR04 ultrasonic sensor เพื่อตรวจจับจุดเริ่มและจุดจบของเหตุการณ์ โดยเจ้าตัว Arduino จะเก็บค่า Timestamp ที่แม่นยำสุดๆ ด้วยฟังก์ชัน
micros()ทำให้ได้ความละเอียดในระดับต่ำกว่ามิลลิวินาที (Sub-millisecond) เลยนะน้อง - Real-Time LCD Dashboard: แสดงผล "Current Lap" และ "Best Time" ผ่านจอ 16x2 I2C LCD ส่วนในตัว Firmware ก็จะทำหน้าที่คำนวณค่าความต่างของเวลา ($\Delta t = End - Start$) แล้ว Format ออกมาเป็นรูปแบบ
MM:SS.mmmให้ดูง่ายๆ
ความเสถียร (Reliability)
- Debounce Logic Matrix: พี่ใส่ระบบ "Cool-down" ไว้หลังจากการ Trigger เพื่อป้องกันอาการหลอน (False Start) ที่อาจเกิดจาก Sensor สั่นหรือสัญญาณรบกวน (Bounce) ในช่วงที่กำลังตรวจจับ จะได้ไม่ Error กลางคัน ห้ามช็อตนะตัวนี้!