# マイクロマクイーン ライト(micro:Maqueen Lite)モーターのコントロール
# 4.1. 目標
マイクロマクイーン ライト(micro:Maqueen Lite)の金属製ギアモーターをコントロールするためのプログラミング方法を把握します。
# 4.2. 必要な機材
# PC利用時に必要な機材
No. | 名称 | 個数 | HW/SW | 用途 | 補足 |
---|---|---|---|---|---|
01 | micro:bit(v2)本体 | 1 | HW | マイクロマクイーンのコントロール用とプログラミング | - |
02 | micro:bit保護ケース | 1 | HW | micro:bit保護 | - |
03 | micro:bit用 USBケーブル | 1 | HW | micro:bitとPCの接続 | - |
03 | マイクロマクイーン ライト(micro:Maqueen Lite) | 1 | HW | 車体本体 | - |
04 | 単4型乾電池 | 3 | HW | マイクロマクイーンとmicro:bitへの電源供給 | - |
05 | Chromebook、MacOS、WindowsのPC | 1 | HW | MakeCode操作用 | - |
06 | Google Chrome | 1 | SW | MakeCodeアクセス用 | - |
07 | USB変換アダプタ | 1 | HW | PC接続用 | PCのUSBポートがType-Cのみの場合、TypeC ⇄ TypeA変換アダプタが必要 |
# タブレット・スマートフォン利用時に必要な機材
No. | 名称 | 個数 | HW/SW | 用途 | 補足 |
---|---|---|---|---|---|
01 | micro:bit(v2)本体 | 1 | HW | マイクロマクイーンのコントロール用とプログラミング | - |
02 | micro:bit保護ケース | 1 | HW | micro:bit保護 | - |
03 | マイクロマクイーン ライト(micro:Maqueen Lite) | 1 | HW | 車体本体 | - |
04 | 単4型乾電池 | 3 | HW | マイクロマクイーンとmicro:bitへの電源供給 | - |
05 | タブレット・スマートフォン | 1 | HW | micro:bitアプリ操作用 | - |
06 | micro:bit アプリ | 1 | SW | micro:bitプログラミング用 | - |
# 4.3. MakeCodeブロックの概要
No. | ブロック | 概要 | 機能 |
---|---|---|---|
01 | モーターコントロール用ブロック | 車体の前進・後退・左折・右折・停止及びスピードをコントロール ・ 対象モーターの選択:左、右、すべて ・ 回転方向:前、後 ・ スピード:0〜255 | |
02 | モーター停止用ブロック | 車体の前進・後退・左折・右折・停止及びスピードをコントロール ※ 「モーターコントロール用ブロック」のスピードを「0」に設定するのと同機能 ・ 対象モーターの選択:左、右、すべて |
# 4.4. 動作イメージ
以下の流れでマイクロマクイーン (micro:Maqueen)の車体を動かす。
- 車体前進1秒
- 右折1秒
- 左折1秒
- 後退1秒
- 後退且つ右折1秒
# 4.5. プログラミング例
# MakeCodeプログラミング例(ブロック)
# MakeCodeプログラミング例(JavaScript)
basic.forever(function () {
maqueen.motorRun(maqueen.Motors.All, maqueen.Dir.CW, 255)
basic.pause(1000)
maqueen.motorRun(maqueen.Motors.M1, maqueen.Dir.CW, 255)
maqueen.motorRun(maqueen.Motors.M2, maqueen.Dir.CW, 0)
basic.pause(1000)
maqueen.motorRun(maqueen.Motors.M1, maqueen.Dir.CW, 0)
maqueen.motorRun(maqueen.Motors.M2, maqueen.Dir.CW, 255)
basic.pause(1000)
maqueen.motorRun(maqueen.Motors.All, maqueen.Dir.CCW, 255)
basic.pause(1000)
maqueen.motorRun(maqueen.Motors.M1, maqueen.Dir.CCW, 255)
maqueen.motorRun(maqueen.Motors.M2, maqueen.Dir.CCW, 0)
basic.pause(1000)
})
# MakeCodeプログラミング例(python)
def on_forever():
maqueen.motor_run(maqueen.Motors.ALL, maqueen.Dir.CW, 255)
basic.pause(1000)
maqueen.motor_run(maqueen.Motors.M1, maqueen.Dir.CW, 255)
maqueen.motor_run(maqueen.Motors.M2, maqueen.Dir.CW, 0)
basic.pause(1000)
maqueen.motor_run(maqueen.Motors.M1, maqueen.Dir.CW, 0)
maqueen.motor_run(maqueen.Motors.M2, maqueen.Dir.CW, 255)
basic.pause(1000)
maqueen.motor_run(maqueen.Motors.ALL, maqueen.Dir.CCW, 255)
basic.pause(1000)
maqueen.motor_run(maqueen.Motors.M1, maqueen.Dir.CCW, 255)
maqueen.motor_run(maqueen.Motors.M2, maqueen.Dir.CCW, 0)
basic.pause(1000)
basic.forever(on_forever)
# MakeCodeプログラミング例のQRコード