บทที่ 11: Ultrasonic และ Build HAT

อ้างอิง : https://researchparent.com/wp-content/uploads/9-year-old-distance-sensor-attached-1024x684.jpg
ในบทนี้ เราจะลงมือใช้งาน Ultrasonic Sensor กับ Raspberry Pi และ LEGO Build HAT แบบเป็นขั้นตอน ตั้งแต่การเชื่อมต่ออุปกรณ์ การอ่านค่าระยะทางด้วยภาษา Python ไปจนถึงการนำค่าที่อ่านได้ไปควบคุมมอเตอร์ให้หุ่นยนต์ตอบสนองต่อสิ่งกีดขวางได้
ตารางสรุปคำสั่งที่ควรรู้
|
คำสั่ง |
parameter |
|
DistanceSensor('port') |
port – Port ที่เขื่อมต่อ Distance sensor |
|
get_distance() |
อ่านค่าระยะทางจากวัตถุด้านหน้า หน่วยเป็น มิลลิเมตร (mm) |
|
wait_for_new_data() |
รอจนกว่าเซนเซอร์จะมีข้อมูลใหม่แล้วจึงคืนค่า |
|
when_distance_changed |
เรียกฟังก์ชันเมื่อค่าระยะทางเปลี่ยน |
|
when_in_range / when_out_of_range |
เรียกฟังก์ชันเมื่อวัตถุอยู่ ภายในช่วงระยะ ที่กำหนด / เรียกฟังก์ชันเมื่อวัตถุ ออกนอกช่วงระยะ |
ตัวอย่างการเขียนโปรแกรมอ่านค่า Distance sensor

อ้างอิง : https://www.raspberrypi.org/app/uploads/2021/11/CoderDojo-Lego-Build-HAT-04-500x333.jpg
จากตัวอย่างโค้ดในบทนี้ จะเห็นว่า Ultrasonic Sensor ไม่ได้เป็นเพียงอุปกรณ์สำหรับวัดระยะทางเท่านั้น แต่สามารถนำค่าที่อ่านได้มาใช้กำหนดพฤติกรรมของหุ่นยนต์ได้โดยตรง ไม่ว่าจะเป็นการสั่งให้มอเตอร์ทำงานเมื่อวัตถุเข้าใกล้ หรือหยุดและทำงานต่อเมื่อวัตถุออกห่าง การใช้งานทั้งแบบรอเหตุการณ์และแบบ Event ช่วยให้เราสามารถออกแบบการทำงานของหุ่นยนต์ได้ยืดหยุ่นและเหมาะกับสถานการณ์มากขึ้น
เมื่อเข้าใจการอ่านค่าและการเขียนโค้ดควบคุม Ultrasonic Sensor แล้ว คุณสามารถนำแนวคิดเหล่านี้ไปต่อยอดกับการควบคุมมอเตอร์ การหลบหลีกสิ่งกีดขวาง หรือผสานการทำงานร่วมกับเซนเซอร์ชนิดอื่น เพื่อสร้างหุ่นยนต์ LEGO ที่มีความสามารถในการรับรู้และตัดสินใจได้ใกล้เคียงกับการทำงานในโลกจริงมากยิ่งขึ้น