อัลตราโซนิคเซนเซอร์ (Ultrasonic Sensor)
ในบทเรียนนี้เราจะได้ทำความรู้จักกับอัลตราโซนิคเซนเซอร์ (Ultrasonic sensor) ที่สามารถใช้วัดระยะทางระหว่างเซนเซอร์กับวัตถุได้ อัลตราโซนิคเซนเซอร์นั้นมีตัวส่งและรับคลื่น เราสามารถบันทึกความต่างของเวลาที่ส่งและรับคลื่นเพื่อมาคำนวณเป็นระยะทางได้
คำถาม
❶ การประมวลผลระยะทางได้อย่างไร? ยิ่งวัตถุอยู่ไกลคลื่นก็จะใช้เวลานานในการสะท้อนกลับมา
❷ สองฝั่งของเซนเซอร์ทำหน้าที่อะไร? ฝั่งหนึ่งจะเป็นตัวส่งคลื่นและอีกฝั่งจะเป็นตัวรับคลื่น
ในการคำนวณหาระยะทางเราจะใช้ความสัมพันธ์ระหว่างความเร็วและเวลา
ความเร็ว=ระยะทาง/เวลา หรือ ความเร็ว*เวลา=ระยะทาง
คลื่นอัลตราโซนิคเป็นคลื่นเสียงชนิดหนึ่ง ความเร็วของคลื่นอัลตราโซนิคจึงเท่ากับความเร็วของคลื่นเสียงในอากาศซึ่งมีความเร็วประมาณ 340 m/s จากความสัมพันธ์นี้สามารถเขียนเป็นสมการใหม่ได้ดังนี้
d= (v(t2-t1))/2
t1 = เวลาที่ปล่อยคลื่น
t2 = เวลาที่รับคลื่น
d = ระยะทางจากเซนเซอร์ถึงวัตถุ
v = ความเร็วของคลื่นเสียงในอากาศซึ่งมีความเร็วประมาณ 340 m/s
ก่อนที่เราจะไปเรียนรู้การใช้งานอัลตราโซนิคเซนเซอร์ ลองมาดูกันว่าแต่ละ PIN ของอัลตราโซนิคเซนเซอร์ทำหน้าที่อะไร? มาทำความเข้าใจทีละส่วนไปพร้อมๆ กันนะ
❶ Trigger PIN เป็นตัวส่งคลื่นออกไป
Trigger ||| )))))))))))))))))
❷ เมื่อคลื่นที่ถูกส่งออกไปกระทบกับวัตถุ จะสะท้อนกลับมายังตัวรับคลื่น Echo PIN
Echo ||| ((((((((((((((((( ||| วัตถุ
ลองนึกภาพเหตุการณ์ในชีวิตประจำวันของเราเวลาที่เราตะโกนคุยกับเพื่อน❶ เพื่อนจะได้ยินเสียงที่เราตะโกน❷ หลักการก็จะประมาณนี้ แต่คลื่นเสียงที่อัลตราโซนิคเซนเซอร์ส่งออกไปเป็นคลื่นที่มีความถี่สูง ซึ่งเราจะไม่ได้ยินเสียงนะครับไม่ต้องแปลกใจ
หลังจากเชื่อมต่อเสร็จให้ทดสอบอ่านค่าจากเซนเซอร์โดยใช้โปรแกรม Arduino IDE ซึ่งในบทเรียนนี้ มีโค้ดโปรแกรมตัวอย่าง การอ่านค่าจากเซนเซอร์โดยใช้ฟังก์ชั่น getDistance() ซึ่งผู้เรียนต้องดาวน์โหลด Library มาติดตั้งก่อน โดยสามารถดาวน์โหลดได้จากลิงค์นี้ครับ UltrasonicLibrary
จากนั้นให้ก็อปปี้โค้ดโปรแกรมตัวอย่างด้านล่างไปวางในโปรแกรม Arduino IDE และอัพโหลดไปที่บอร์ด Arduino ได้เลย
หลังจากอัพโหลดเสร็จให้เปิดหน้าต่าง Serial Monitor ของโปรแกรม Arduino IDE ขึ้นมาเพื่ออ่านค่าระยะที่วัดได้จากเซนเซอร์ เพียงเท่านี้เราก็สามารถใช้งานอัลตราโซนิคเซนเซอร์ได้แล้ว เจ๋งไปเลยใช่ไหมล่ะครับ
รูปที่ 1 หลักการทำงานของอัลตราโซนิคเซนเซอร์
คำถาม
❶ การประมวลผลระยะทางได้อย่างไร? ยิ่งวัตถุอยู่ไกลคลื่นก็จะใช้เวลานานในการสะท้อนกลับมา
❷ สองฝั่งของเซนเซอร์ทำหน้าที่อะไร? ฝั่งหนึ่งจะเป็นตัวส่งคลื่นและอีกฝั่งจะเป็นตัวรับคลื่น
ในการคำนวณหาระยะทางเราจะใช้ความสัมพันธ์ระหว่างความเร็วและเวลา
ความเร็ว=ระยะทาง/เวลา หรือ ความเร็ว*เวลา=ระยะทาง
คลื่นอัลตราโซนิคเป็นคลื่นเสียงชนิดหนึ่ง ความเร็วของคลื่นอัลตราโซนิคจึงเท่ากับความเร็วของคลื่นเสียงในอากาศซึ่งมีความเร็วประมาณ 340 m/s จากความสัมพันธ์นี้สามารถเขียนเป็นสมการใหม่ได้ดังนี้
d= (v(t2-t1))/2
t1 = เวลาที่ปล่อยคลื่น
t2 = เวลาที่รับคลื่น
d = ระยะทางจากเซนเซอร์ถึงวัตถุ
v = ความเร็วของคลื่นเสียงในอากาศซึ่งมีความเร็วประมาณ 340 m/s
ก่อนที่เราจะไปเรียนรู้การใช้งานอัลตราโซนิคเซนเซอร์ ลองมาดูกันว่าแต่ละ PIN ของอัลตราโซนิคเซนเซอร์ทำหน้าที่อะไร? มาทำความเข้าใจทีละส่วนไปพร้อมๆ กันนะ
❶ Trigger PIN เป็นตัวส่งคลื่นออกไป
Trigger ||| )))))))))))))))))
❷ เมื่อคลื่นที่ถูกส่งออกไปกระทบกับวัตถุ จะสะท้อนกลับมายังตัวรับคลื่น Echo PIN
Echo ||| ((((((((((((((((( ||| วัตถุ
ลองนึกภาพเหตุการณ์ในชีวิตประจำวันของเราเวลาที่เราตะโกนคุยกับเพื่อน❶ เพื่อนจะได้ยินเสียงที่เราตะโกน❷ หลักการก็จะประมาณนี้ แต่คลื่นเสียงที่อัลตราโซนิคเซนเซอร์ส่งออกไปเป็นคลื่นที่มีความถี่สูง ซึ่งเราจะไม่ได้ยินเสียงนะครับไม่ต้องแปลกใจ
รูปที่ 2 หลักการทำงานของอัลตราโซนิคเซนเซอร์กับเหตุการณ์ในชีวิตประจำวันของเรา
การใช้งานอัลตราโซนิคเซนเซอร์ ให้เราเชื่อมต่ออัลตราโซนิคเซนเซอร์เข้ากับบอร์ด Arduino โดยใช้สายจั๊มเปอร์ รูปแบบการเชื่อมต่อสายดังแสดงในรูปที่ 3
รูปที่ 3 การเชื่อมต่ออัลตราโซนิคเซนเซอร์เข้ากับบอร์ด
Arduino
หลังจากเชื่อมต่อเสร็จให้ทดสอบอ่านค่าจากเซนเซอร์โดยใช้โปรแกรม Arduino IDE ซึ่งในบทเรียนนี้ มีโค้ดโปรแกรมตัวอย่าง การอ่านค่าจากเซนเซอร์โดยใช้ฟังก์ชั่น getDistance() ซึ่งผู้เรียนต้องดาวน์โหลด Library มาติดตั้งก่อน โดยสามารถดาวน์โหลดได้จากลิงค์นี้ครับ UltrasonicLibrary
จากนั้นให้ก็อปปี้โค้ดโปรแกรมตัวอย่างด้านล่างไปวางในโปรแกรม Arduino IDE และอัพโหลดไปที่บอร์ด Arduino ได้เลย
หลังจากอัพโหลดเสร็จให้เปิดหน้าต่าง Serial Monitor ของโปรแกรม Arduino IDE ขึ้นมาเพื่ออ่านค่าระยะที่วัดได้จากเซนเซอร์ เพียงเท่านี้เราก็สามารถใช้งานอัลตราโซนิคเซนเซอร์ได้แล้ว เจ๋งไปเลยใช่ไหมล่ะครับ
แหล่งอ้างอิง
https://en.wikipedia.org/wiki/PID_controller
บทความโดย รักการเขียนโค้ดดอทคอม lovecoding.com
ความคิดเห็น
แสดงความคิดเห็น