บทที่ 7: “ใช้งาน Motor Lego บน Build HAT”

ในบทนี้ จะพาทุกคนไปทำความรู้จักกับมอเตอร์ LEGO ประเภทต่าง ๆ ที่สามารถใช้กับ Build HAT วิธีเชื่อมต่อมอเตอร์ และเรียนรู้เทคนิคการสั่งงานมอเตอร์ด้วยภาษา Python อย่างละเอียด ไม่ว่าจะเป็นการหมุนไปข้างหน้า หมุนกลับหลัง ควบคุมความเร็ว หรือหยุดแบบแม่นยำ
มอเตอร์ LEGO® TECHNIC™ ในชุด LEGO® Education SPIKE™ มาพร้อมกับเซ็นเซอร์วัดการหมุน (encoder) ในตัว ซึ่งสามารถกำหนดตำแหน่งได้อย่างแม่นยำถึง 1 องศา ผู้ใช้สามารถตรวจสอบตำแหน่งปัจจุบันของมอเตอร์เทียบกับจุด ‘ศูนย์’ ที่ระบุไว้บนตัวมอเตอร์ได้โดยตรงผ่าน encoder นี้
|
LEGO® Large angular motor 45602 |
|
|
LEGO® Medium angular motor 45603 |
|
|
LEGO® Small angular motor 45607 |
|

ตารางสรุปคำสั่งที่ควรรู้
|
คำสั่ง |
parameter |
|
Motor('port') |
port – Port ที่เขื่อมต่อมอเตอร์ |
|
run_for_degrees(degrees, speed=None, blocking=True) |
degrees – จำนวนองศาที่ต้องการหมุน speed – ความเร็วอยู่ในช่วง -100 ถึง 100 blocking – บล็อครอการทำงานจนเสร็จสิ้น |
|
run_for_rotations(rotations, speed=None, blocking=True) |
degrees – จำนวนองศาที่ต้องการหมุน speed – ความเร็วอยู่ในช่วง -100 ถึง 100 blocking – บล็อครอการทำงานจนเสร็จสิ้น |
|
run_for_seconds(seconds, speed=None, blocking=True) |
degrees – จำนวนองศาที่ต้องการหมุน speed – ความเร็วอยู่ในช่วง -100 ถึง 100 blocking – บล็อครอการทำงานจนเสร็จสิ้น |
|
run_to_position(degrees, speed=None, blocking=True, direction='shortest') |
degrees – หมุนไปยังตำแหน่ง -180 ถึง 180 speed – ความเร็วอยู่ในช่วง 0 ถึง 100 blocking – บล็อกรอการทำงานจนเสร็จสิ้น direction – ทิศทางการหมุน shortest (เริ่มต้น)/clockwise/anticlockwise |
|
set_default_speed(default_speed) |
default_speed – ความเร็วอยู่ในช่วง -100 ถึง 100 |
|
start(speed=None) |
speed – ความเร็วอยู่ในช่วง -100 ถึง 100 |
|
stop() |
หยุดการทำงานมอเตอร์ |
|
reverse() |
สลับทางการหมุนมอเตอร์ |
|
float() |
หยุดการทำงานมอเตอร์ แต่ไม่ล็อคตำแหน่ง |
|
get_aposition() |
ตำแหน่งเชิงมุมของมอเตอร์ -180 ถึง 180 |
|
get_position() |
ตำแหน่งองศามอเตอร์ที่อยู่ปัจจุบัน |
|
get_speed() |
ความเร็วของมอเตอร์ |
|
when_rotated |
เมื่อมีการใช้งานมอเตอร์ จะเรียกใช้ function |
ตัวอย่างการเขียนโปรแกรมควบคุม Motor

จะเห็นได้ว่า การควบคุมมอเตอร์ด้วย Build HAT และ Python ช่วยให้เราสั่งงานหุ่นยนต์ LEGO ได้อย่างอิสระและยืดหยุ่นมากยิ่งขึ้น ไม่ว่าคุณจะอยากสร้างรถบังคับ หุ่นยนต์เดินตามเส้น หรือแขนกลอัตโนมัติการเข้าใจวิธีใช้งานมอเตอร์อย่างละเอียด จะเป็นพื้นฐานสำคัญสำหรับทุกโปรเจกต์
ในบทถัดไป จะพาไปสำรวจและทดลองใช้งานเซนเซอร์ LEGO แต่ละชนิด เพื่อให้หุ่นยนต์ของคุณสามารถรับรู้สิ่งรอบตัวและโต้ตอบกับโลกภายนอกได้อย่างชาญฉลาดยิ่งขึ้น