บทที่ 12: “วัดแรงที่ถูกกระทำด้วย ForceSensor”

อ้างอิง : https://www.raspberrypi.org/app/uploads/2021/11/CoderDojo-Lego-Build-HAT-04-500x333.jpg
หลังจากที่หุ่นยนต์ของเราสามารถ “มองเห็น” ด้วย Color Sensor และ “รู้ระยะทาง” ด้วย Ultrasonic Sensor แล้ว อีกหนึ่งความสามารถสำคัญที่ช่วยให้หุ่นยนต์โต้ตอบกับโลกจริงได้ใกล้เคียงมนุษย์มากขึ้น คือความสามารถในการ รับรู้แรงกดหรือการสัมผัส
Force Sensor เป็นเซนเซอร์ที่ใช้ตรวจจับแรงกด น้ำหนัก หรือการแตะสัมผัส ช่วยให้หุ่นยนต์รับรู้ได้ว่าวัตถุถูกกดแรงหรือเบา มีการสัมผัสเกิดขึ้นหรือไม่ เซนเซอร์ชนิดนี้มักถูกนำไปใช้กับปุ่มกดอัจฉริยะ ระบบตรวจจับการชน การรับน้ำหนัก หรือการควบคุมการทำงานที่ต้องอาศัยแรงจากผู้ใช้งานโดยตรง
ในบทนี้ เราจะมาทำความรู้จักกับ Force Sensor การนำไปใช้งานร่วมกับ Raspberry Pi และ LEGO Build HAT เพื่อให้หุ่นยนต์ของคุณสามารถ “รู้สึก” และตอบสนองต่อแรงกดได้อย่างเหมาะสมในสถานการณ์ต่าง ๆ
ตารางสรุปคำสั่งที่ควรรู้
|
คำสั่ง |
parameter |
|
ForceSensor('port', threshold_force=1) |
Port – port ที่เชื่อมต่อกับ Force Sensor |
|
get_force() |
อ่านค่าการกดเป็นแรง (หน่วย นิวตัน (N)) |
|
get_peak_force() |
อ่าน ค่าสูงสุดของแรง ที่มันเคยวัดตั้งแต่เริ่มหรือรีเซ็ต |
|
wait_until_pressed(force=1) |
force – (optional) กำหนดแรงที่ต้องถึง |
|
wait_until_released(force=0) |
force – (optional) ระบุแรงที่ต้องต่ำกว่า |
|
when_pressed |
ตั้ง Callback ให้เรียกเมื่อถูกกด |
|
when_released |
ตั้ง Callback ให้เรียกเมื่อปล่อยมือ |
ตัวอย่างการเขียนโปรแกรมอ่านค่า Force sensor

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