การต่อวงจร
จะต่อตรงๆ ระหว่างเซ็นเซอร์อัลตราโซนิกกับ Arduino เลยก็ได้ หรือจะใช้ Breadboard เพื่อให้สะดวกขึ้นก็จัดได้เหมือนกัน
- ต่อขา Vcc ของเซ็นเซอร์อัลตราโซนิกเข้ากับ 5V บน Arduino
- ต่อขา GND ของเซ็นเซอร์อัลตราโซนิกเข้ากับ GND บน Arduino
- ต่อขา Trig ของเซ็นเซอร์อัลตราโซนิกเข้ากับขา D6 บน Arduino
- ต่อขา Echo ของเซ็นเซอร์อัลตราโซนิกเข้ากับขา D5 บน Arduino
แค่นี้แหละ... ง่ายชิบ
หลักการทำงาน
เซ็นเซอร์อัลตราโซนิกมันใช้ทำอะไรได้เพียบเลยนะ เช่น วัดระยะ, ตรวจจับวัตถุ, หลบหลีกสิ่งกีดขวาง ฯลฯ
โปรเจคนี้เราออกแบบมาให้น้องๆ ที่กำลังหาวิธีต่อเซ็นเซอร์อัลตราโซนิกกับ Arduino แบบพื้นฐานสุดๆ ใช้ Arduino รุ่นไหนก็ได้จ้า
หลักการมันง่ายมากเลย พอต่อวงจรตามแผนภาพและจ่ายไฟให้มัน เซ็นเซอร์อัลตราโซนิกก็จะปล่อยคลื่นเสียงออกไป พอคลื่นเสียงไปชนวัตถุ มันก็จะสะท้อนกลับมาที่เซ็นเซอร์ ดังนั้น ระยะทางก็จะถูกคำนวณจากความเร็วคูณกับเวลา ความเร็วในที่นี้คือความเร็วของเสียง ซึ่งก็คือ 340 เมตรต่อวินาที ถ้าคิดเป็นเซนติเมตรต่อไมโครวินาทีก็คือ 0.034 และถ้าเป็นนิ้วต่อไมโครวินาทีก็คือ 0.0133858 เราต้องหารความเร็วนี้ด้วย 2 ด้วยนะ เพราะคลื่นเสียงมันเดินทางไปข้างหน้าแล้วสะท้อนกลับมาหลังจากชนวัตถุ
ส่วนเวลานั้นคือระยะเวลาที่คลื่นเสียงใช้เดินทางไปและสะท้อนกลับมา ดังนั้น ระยะห่างของวัตถุจากเซ็นเซอร์อัลตราโซนิกก็จะถูกคำนวณออกมาได้ง่ายๆ
น้องสามารถดูสูตรคำนวณได้ในโค้ดด้านล่างเลย สบายๆ
การทำงานทางเทคนิค: เซ็นเซอร์และการจับเวลาพัลส์
โปรเจคนี้เผยให้เห็นชั้นการทำงานที่ซ่อนอยู่เบื้องหลังการเปลี่ยนระยะทางให้เป็นข้อมูล:
- ชั้นตรวจจับ: เซ็นเซอร์อัลตราโซนิก (HC-SR04) ทำหน้าที่เป็นดวงตาที่ใช้เสียงของโปรเจค โดยวัดระยะทางจากการปล่อยพัลส์เสียงความถี่สูงและรอฟังเสียงสะท้อนกลับ
- ชั้นแปลงค่า: Arduino ใช้ ความเร็วเสียง (ประมาณ 340 m/s) เพื่อแปลงค่า "เวลาเดินทางของเสียงสะท้อน" (หน่วยไมโครวินาที) ให้เป็นค่าระยะทางที่แม่นยำในหน่วยเซนติเมตร (cm) หรือนิ้ว
- ชั้นตรรกะประมวลผล: โค้ด Arduino ใช้กลยุทธ์ "ส่งพัลส์ตามลำดับ" คือสั่งให้ขา
Triggerทำงานเป็นเวลา 10µs แล้วรอให้ขาEchoส่งพัลส์กลับมา - ชั้นปฏิบัติการ: โดยใช้ฟังก์ชัน
pulseIn()Arduino จะคำนวณระยะทางและส่งข้อมูลออกไปยัง Serial Monitor เป็นจังหวะๆ ให้เราดู
โครงสร้างพื้นฐานของฮาร์ดแวร์
- Arduino Uno: เป็น "สมอง" ของโปรเจค คอยจัดการพัลส์อัลตราโซนิกและประสานงานระหว่างการแปลงค่าและการแสดงผล
- เซ็นเซอร์อัลตราโซนิก (HC-SR04): ให้ความสามารถในการตรวจวัดระยะทางแบบไม่สัมผัสและเชื่อถือได้ในทุกๆ ครั้งที่วัด
- Breadboard: ช่วยให้การต่อวงจรวัดระยะทางและเชื่อมต่อชิ้นส่วนทั้งหมดทำได้ง่ายโดยไม่ต้องบัดกรี
- สาย Micro-USB: ใช้สำหรับโปรแกรม Arduino โดยตรงจากคอมพิวเตอร์ และใช้จ่ายไฟให้บอร์ด
ขั้นตอนการวัดและโต้ตอบแบบ Step-by-Step
กระบวนการวัดระยะด้วยอัลตราโซนิกนี้ ออกแบบมาให้มีประสิทธิภาพสุดๆ:
- ตั้งค่าฮาร์ดแวร์: วางเซ็นเซอร์อัลตราโซนิกบนเบรดบอร์ดให้ถูกต้องตามแผนภาพที่ให้ไว้
- ตั้งค่าการส่งข้อมูล: ในฟังก์ชัน
setup()ให้กำหนดค่าให้กับขา trigger และ echo พร้อมทั้งเริ่มการสื่อสารแบบอนุกรม (Serial) ที่ความเร็ว 9600 bps - ลูปการทำงาน: Arduino จะทำการอ่านค่าจากเซ็นเซอร์หลายครั้งเพื่อความแม่นยำ และอัพเดทผลไปยัง Serial Monitor แบบเรียลไทม์
- แสดงผล: มองดูค่าที่อ่านได้อัพเดทอยู่บนหน้าจอได้เลย

ไอเดียต่อยอดในอนาคต
- เพิ่มจอ OLED: เอา OLED จอเล็กๆ มาต่อเพื่อแสดงสถานะระยะทางแบบ "ไกล/ปานกลาง/ใกล้" ให้ดูโปรขึ้น
- ใช้หลายเซ็นเซอร์: ต่อเซ็นเซอร์อัลตราโซนิกเพิ่มอีกหลายตัว เพื่อตรวจสอบหลายทิศทางพร้อมกัน เหมาะสำหรับทำหุ่นยนต์หรือโปรเจคใหญ่
- ควบคุมผ่านมือถือ: เพิ่มแอพมือถือเฉพาะทาง เพื่อควบคุมและติดตามข้อมูลระยะทางจากสมาร์ทโฟนผ่าน Bluetooth ได้แบบเป๊ะๆ
- ปรับช่วงการตรวจจับเองได้: ใส่สไลด์สวิตช์หรือโพเทนชิโอมิเตอร์เล็กๆ เพื่อปรับช่วงการตรวจจับสำหรับอินดิเคเตอร์บอกระยะด้วยมือเราเอง
โปรเจคเซ็ตอัพพื้นฐานสำหรับเซ็นเซอร์อัลตราโซนิกกับ Arduino นี่แหละ คือจุดเริ่มต้นที่เพอร์เฟกต์สำหรับใครก็ตามที่อยากได้เครื่องมือวัดระยะแบบโต้ตอบได้และน่าสนุก! ไปลองทำกันเลย สู้งานนะน้อง!