ทำไมพี่ถึงเลือกทำโปรเจกต์นี้ -
ไอเดียนี้มันมาเพราะช่วงโควิดน่ะน้อง เห็นแล้วคิดว่าเราน่าจะทำเซนเซอร์คอยเตือนเรื่องระยะห่างระหว่างคนได้นะ
มันทำงานยังไง -
หลักการคือ Ultrasonic [Sensor](https://s.shopee.co.th/7VBG2rX65j) จะยิงพัลส์เสียงออกไปเพื่อวัดระยะห่างระหว่างมันกับสิ่งกีดขวางหรือคน โดยการคำนวณจากเวลาที่พัลส์เสียงสะท้อนกลับมาเป็นระยะทาง (หน่วยเป็น cm ในโปรเจกต์นี้)
หลังจากวัดระยะได้แล้ว พี่เขียนโค้ดให้ LED ติดเมื่อมีวัตถุเข้ามาใกล้ภายใน 50 ซม. (ปรับค่าได้ง่ายๆ แค่เปลี่ยนตัวเลขใน IF statement) และดับเมื่อห่างออกไปเกิน 50 ซม. ดูวิดีโอสาธิตการทำงานได้เลยจ้า
ขั้นตอนการต่อวงจร -
ตอนแรกพี่วางแผนจะต่อทุกอย่างลงบน Breadboard เลย ไม่ต้องเสียบเข้ากับตัว [Arduino](https://s.shopee.co.th/7fUgFAWSki) โดยตรง แต่หลังจากทดลองแล้วพบว่า การต่อ Ultrasonic [Sensor](https://s.shopee.co.th/7VBG2rX65j) เข้ากับ Arduino โดยตรง และต่อ LED ลงบน Breadboard นั้นง่ายกว่าเยอะ แถมยังประหยัดพื้นที่บน Breadboard Mini อีกด้วย เพราะตัวเซนเซอร์มันค่อนข้างกินพื้นที่
ขั้นตอนการเขียนโค้ด -
เริ่มแรกพี่เขียน Pseudocode และ Flowchart เพื่อวางแผนโครงสร้างและลำดับการทำงานของโค้ด ช่วยได้เยอะมากในการจัดระเบียบความคิด หลังจากปรับนู่นนิดนี่หน่อย ก็ได้ Flowchart สุดท้ายออกมาดังนี้

หลังจากวางแผนโค้ดเสร็จ การเขียนโค้ดควบคุม LED ทำได้ง่ายมาก แต่พี่ติดตรงการเขียนโค้ดให้ Ultrasonic [Sensor](https://s.shopee.co.th/7VBG2rX65j) นี่แหละ เพราะเป็นครั้งแรกที่เขียนอะไรแบบนี้
หลักการของ Ultrasonic [Sensor](https://s.shopee.co.th/7VBG2rX65j) คือการส่งคลื่นเสียงออกไป แล้วรับเสียงที่สะท้อนกลับมาจากวัตถุ เพื่อจะเอามาใช้เป็นเซนเซอร์รักษาระยะห่าง เราต้องแปลงเวลาที่พัลส์เสียงใช้ในการเดินทางไป-กลับ ให้เป็นระยะทางหน่วยเซนติเมตร พี่ทำขั้นตอนนี้โดยใช้วิธีตามภาพนี้

หลังจากค้นคว้าเพิ่มเติม พี่ก็พบว่า การจะให้ Ultrasonic [Sensor](https://s.shopee.co.th/7VBG2rX65j) ทำงานผ่านโค้ดได้ เราต้องเขียนโปรแกรมให้มันยิงพัลส์ Low, High, และ Low ตามลำดับ เพื่อสร้างพัลส์ที่สะอาดจากพัลส์ High นั่นเอง หลังจากจับคู่พินของ Echo และ Trig ของเซนเซอร์ได้แล้ว ก็พร้อมเขียน IF statement ง่ายๆ ให้ LED ติดเมื่อมีวัตถุเข้ามาในระยะ 50 ซม. ซึ่งส่วนนี้ถือว่าง่ายสุดของโค้ดทั้งหมดเลย
การทำเคส -
ต่อมา พี่ออกแบบเคสเป็นโมเดล 3D โดยใช้โปรแกรม SketchUp แต่น่าเสียดายที่ตอนนั้นพี่ไม่มีเครื่องพิมพ์ 3D ให้ใช้ เลยทำออกมาเป็นชิ้นจริงไม่ได้ แต่พี่แนบไฟล์สำหรับพิมพ์ 3D ไว้ด้านบนของแผนภาพวงจรแล้วนะ ถ้าน้องอยากลองทำดู
รายละเอียดเทคนิคเพิ่มเติม (แบบจัดเต็ม)
โปรเจกต์บีคอนเพื่อความปลอดภัยสาธารณะ
โปรเจกต์นี้เป็นโซลูชันระดับมืออาชีพสำหรับการรักษาระยะห่างในที่สาธารณะ โดยใช้คลื่นอัลตราโซนิกวัดช่องว่างระหว่างบุคคล
- การวิเคราะห์พัลส์โซนาร์ระดับไมโครวินาที: Arduino ควบคุมเซนเซอร์ HC-SR04 ที่ติดตั้งบนหมวกหรืออุปกรณ์สวมใส่ เฟิร์มแวร์คำนวณระยะห่างถึงบุคคลที่ใกล้ที่สุด 10 ครั้งต่อวินาที ด้วยความแม่นยำระดับต่ำกว่าหนึ่งเซนติเมตร
- ระบบแจ้งเตือนหลายระดับ: หากมีบุคคลเข้ามาภายใน 2 เมตร LED สีเหลืองจะกระพริบ หากเข้ามาใน "โซนวิกฤต" (1 เมตร) Arduino จะสั่งงาน Buzzer ความดัง 85dB ให้ส่งเสียงเตือนทันที
การสร้างต้นแบบ
- ทดสอบด้วย Arduino IDE: ปรับแต่งเพื่อประสิทธิภาพที่เสถียร 100% และหลีกเลี่ยง "การเตือนผิดพลาด" โดยใช้ซอฟต์แวร์ Median-filter เพื่อกรองสัญญาณรบกวนชั่วคราวจากเซนเซอร์