Publish : 3 February 2023หัวข้อในบทความนี้
- ทำความรู้จัก MPU6050 - Library ที่ใช้งาน - การเชื่อมต่อกับ Arduino - เขียนโปรแกรม
- การนำไปใช้งาน ในระหว่างที่นั่งนึกว่าเดือนนี้จะ Tutorial เรื่องอะไรดี ก็ลองไปย้อนดูบทความที่ผ่านมาแล้วก็พบว่าเรายังไม่เคยเขียนเรื่อง Gyroscope กันเลยนี่ เก็บมาเขียนหน่อยละกัน เอาเป็น MPU6050 ก็แล้วกันครับ ไม่ต้องเกริ่นมากครับวันนี้ไปเริ่มกันเลยทำความรู้จัก MPU6050 MPU6050 เป็น 9DOF IMU ที่ทั่ว ๆ ไปคงพบเห็นคำนี้กัน ซึ่งเต็ม ๆ มันคือ 9 Degrees Of Freedom Inertial Measurement Unit ซึ่งคำว่า 9 แกนนี้มาจากที่มันสามารถวัดความเร่ง(Accelerometer)ได้ 3 แกน (X, Y, Z) มีไจโรสโคป(Gyroscope) 3 แกน (X, Y, Z) และวัดความเข้มของสนามแม่เหล็ก(Magnetometer)ได้ 3 แกน (X, Y, Z) อีกทั้งยังมี Digital Motion Processor ซึ่งเป็นหัวใจสำคัญเลยทีเดียว(เอาไว้วันหลังจะพูดเรื่องนี้กันครับ) MPU6050 เชื่อมต่อกับบอร์ดพัฒนาด้วยการสื่อสารแบบ I2C จึงทำให้ใช้งานได้ง่าย ไม่ยุ่งเหยิงทั้งการต่อสายและการเขียนโปรแกรมLibrary ที่ใช้งาน แน่นอนว่าสไตล์บทความของเรานั้นต้องง่าย มือใหม่ก็สามารถทำได้ จึงมีการใช้ Library มาช่วยตัดขั้นตอนการเขียนโปรแกรมไปให้มากที่สุด แต่ครั้นจะให้เรานั่งเขียน Library ก็คงไม่ไหวเพราะทีมเราก็มีงานหลักอยู่พอสมควร เราจึงไปสรรหา Library ที่อาจไม่มีใครรู้จักแต่ใช้งานได้ดีมาให้ใช้งานกันครับ โดยในบทความนี้เราเลือกที่จะแนะนำ MPU6050_light ที่เป็น Library สำหรับ MPU6050 ที่ใช้งานได้ง่าย มีขนาดเล็ก และสามารถใช้งานได้ดีตัวนึงเลย ส่วนใครที่อยากรู้วิธีการคำนวณจนกว่าจะเป็นคำสั่งต่าง ๆ ก็สามารถดูได้จาก Documentation ของ Library ได้เลยครับ ผู้เขียนเขาได้แสดงวิธีการคำนวณอย่างละเอียดไว้เลยการเชื่อมต่อกับ Arduino เนื่องจาก MPU6050 นั้นมี I2C Interface จึงทำให้สามารถเชื่อมต่อกับ Arduino ได้ง่ายด้วยการต่อแบบ I2C ทั่วไปได้เลย
เขียนโปรแกรม การเขียนโปรแกรมก็ไม่มีอะไรยากเลยครับ ผู้เขียน Library เขาทำทุกอย่างมาให้แล้ว เพียงคำสั่งสั้น ๆ ก็สามารถใช้งานได้แล้วหล่ะ
ง่ายมั๊ยล่ะครับโปรแกรมของเรา เพียง 3 คำสั่งเท่านั้นก็ใช้งานฟังก์ชั่นทั้งหมดของ MPU6050 แล้ว
การนำไปใช้งาน
เราสามารถนำ 9DOF IMU ไปใช้งานได้หลากหลายมากครัับ ที่เห็นกันบ่อย ๆ คือ Balance Robot หุ่นยนต์ที่สามารถทรงตัวได้เอง โดย Gyroscope จะตรวจวัดว่ามุมเปลี่ยนไปเท่าไร ที่ความแรงเท่าไร จากนั้นจึงเขียนโปรแกรมสั่งให้มอเตอร์หมุนตามการคำนวณเพื่อให้แรงในด้านตรงข้ามมาชดเชย หุ่นยนต์ก็จะเกิดความสมดุล ซึ่งหลักการนี้ก็สามารถนำไปใช้เป็น Gimbal ของกล้องถ่ายรูปได้ด้วย
อีกที่ที่จะเห็นได้บ่อยในสมัยนี้คืออากาศยานไร้คนขับ หรือ Drone ที่ต้องมีไจโรสโคปเพื่อทราบว่าตัวเครื่องทำมุมอย่างไร แต่ละแกนมีแรงเท่าไร หมุนยังไงอยู่ เพื่อให้ทราบถึงอาการของตัวเครื่องในขณะเวลาต่าง ๆ
จบกันแล้วนะครับสำหรับบทความนี้ ก็สั้น ๆ เพราะง่าย และตัวเซ็นเซอร์ก็ทำงานค่อนข้างเฉพาะทาง ไม่มีลูกเล่นอะไรเยอะมากมาย ทำให้เนื้อหาน้อยตามไปด้วย หวังว่าจะเป็นประโยชน์สำหรับผู้อ่านบ้างนะครับ วันนี้ลากันไปก่อนสวัสดีครับ
Special Thanks : SparkFun Tutorials
หากเห็นว่าบทความมีประโยชน์ต้องการสนับสนุนเป็นกำลังใจ เพียงแค่สนับสนุนค่ากาแฟให้เรานั่งเขียนบทความตามลิงค์ด้านล่าง