จุดประสงค์การเรียนรู้
สามารถใช้โปรแกรมArduino IDE แสดงค่าเข็มทิศดิจิทัล ผ่านโมดูลHMC5883Lได้
เนื้อหา
แม่เหล็กโลก
พิกัดขั้วโลกเหนือจะมีทิศทางของสนามแม่เหล็กทางพุ่งเข้า เปรียบเสมือนที่ขั้วโลกเหนือจะมีแม่เหล็กขั้วใต้อยู่ และเช่นเดียวกันที่ขั้วโลกใต้จะมีทิศทางของสนามแม่เหล็กที่มีทิศทางพุ่งออกเปรียบเสมือนที่ขั้วโลกใต้มีแม่เหล็กขั้วเหนืออยู่นั้นเอง ดังภาพข้างล่าง
ที่มารูปภาพ : https://waymagazine.org/innernost-inner-core-slowing-down/
2. ระบบพิกัดทิศของโลก
การระบุพิกัดทิศของโลกจะใช้มุมทิศ(Azimuth)เป็นการกำหนด ตัวอย่างเช่น
ทิศเหนือ(N) จะมีมุมทิศ(Azimuth) เท่ากับ 0 หรือ 360 องศา
ทิศตะวันออก(E) จะมีมุมทิศ(Azimuth) เท่ากับ 90องศา
ทิศใต้(S) จะมีมุมทิศ(Azimuth) เท่ากับ 180องศา
ทิศตะวันตก(W) จะมีมุมทิศ(Azimuth) เท่ากับ 270 องศา
ที่มารูปภาพ : http://www.lesa.biz/astronomy/celestial-sphere/horizon-coordinates
3 โมดูลเข็มทิศ HMC5883L
HMC5883L เป็นโมดูลที่สามารถวัดค่าสนามแม่เหล็ก (Magnetometer) , วัดทิศทาง (Compass), หรือแม้แต่การตรวจจับการหมุน (Rotation Sensing) ในอุปกรณ์อิเล็กทรอนิกส์ต่าง ๆ ได้
การเชื่อมต่อ HMC5883L กับไมโครคอนโทรเลอร์หรือบอร์ดควบคุม สามารถใช้สายไฟเพื่อเชื่อมต่อ SDA (Serial Data), SCL (Serial Clock), VCC (Voltage Supply), และ GND (Ground) ของ HMC5883L
การอ่านข้อมูล : เมื่อโค้ดได้เริ่มต้นเชื่อมต่อกับ HMC5883L ผ่าน I2C (Inter-Integrated Circuit) หรือโปรโตคอลอื่น ๆ คุณสามารถอ่านค่าสนามแม่เหล็กจากสามแกน (X, Y, Z) ได้.
เป้าหมาย
เขียนโปรแกรมภาษาC++ให้แสดงผลมุมทิศ(Azimuth) และการอ่านค่าสนามแม่เหล็กจากแกนทั้ง3ได้ (X,Y,Z)
วัสดุอุปกรณ์
1. บอร์ดLotusMegaBot จำนวน 1 ตัว
2. สายMicroUSB จำนวน 1 เส้น
3. โครงหุ่นยนต์ จำนวน 1 ชุด
4. แบตเตอรี Lipo 7.4 V จำนวน 1 ก้อน
5. โมดูลเข็มทิศดิจิทัล HMC5883L จำนวน 1 ตัว
6.เสาตั้งเข็มทิศ Lotus Compass จำนวน 1 ตัว
เป้าหมาย
ทำการต่ออุปกรณ์เข็มทิศHMC883L เสาตั้งเข็มทิศLotusCompass และบอร์ดLotusMegaBotดังรูปข้างล่าง
1. เปิด Arduino IDE แล้วทำการเขียนโค้ดดังภาพข้างล่าง โดยที่หากเขียนโค้ดไว้ในเครื่องหมายปีกกา{} ภายใต้ void setup() โปรแกรมจะทำงานเพียงครั้งเดียว และหากเขียนโค้ดภายในเครื่องหมายปีกกา{} ภายใต้void loop() โปรแกรมจะทำงานต่อเนื่อง
2.ทำการเสียบสายMicroUSBกับบอร์ดLotusMegaBotกับเครื่องคอมพิวเตอร์ ดังรูปข้างล่าง
3.สำหรับการอัพโหลดโปรแกรมลงบนบอร์ดสามารถทำตามขั้นตอนต่อไปนี้
ตัวอย่างVDOการทำงานของโปรแกรม