# マイクロマックイーン プラス (micro:Maqueen Plus) モーターのコントロール




# 4.1. 目標




マイクロマックイーン プラス (micro:Maqueen Plus)の金属製ギアモーターをコントロールするためのプログラミング方法を学習します。


# 4.2. 必要な機材




# PC利用時に必要な機材

No. 名称 個数 HW/SW 用途 補足
01 micro:bit(v2)本体 1 HW マイクロマックイーン プラス (micro:Maqueen Plus)のコントロール用。
プログラミングはmicro:biに対して行う
02 micro:bit用 ケース 1 HW micro:bit保護 ※ 必須ではない
03 micro:bit用 USBケーブル 1 HW micro:bitとPCの接続 Type-AとType-C両方対応できると様々な端末で利用しやすい
04 マイクロマックイーン プラス (micro:Maqueen Plus) 1 HW 車体本体
05 単3型乾電池 4 HW マイクロマックイーン プラスとmicro:bitへの電源供給
06 Chromebook、MacOS、WindowsのPC 1 HW MakeCode操作用
07 Google Chrome 1 SW MakeCodeアクセス用

# タブレット・スマートフォン利用時に必要な機材

No. 名称 個数 HW/SW 用途 補足
01 micro:bit(v2)本体 1 HW マイクロマックイーン プラスのコントロール用。
プログラミングはmicro:biに対して行う
02 micro:bit用 ケース 1 HW micro:bit保護 ※ 必須ではない
03 マイクロマックイーン プラス (micro:Maqueen Plus) 1 HW 車体本体
04 単3型乾電池 4 HW マイクロマックイーン プラスとmicro:bitへの電源供給
05 タブレット・スマートフォン 1 HW micro:bitアプリ操作用
06 micro:bit アプリ 1 SW micro:bitアプリ操作用



# 4.3. MakeCodeブロックの概要




No. ブロック 概要 機能
01 iftiny-Micro-Maqueen-Plus-Tutorial-Motor-Control-0401 モーターコントロール用ブロック 車体の前進・後退・左折・右折及びスピードをコントロール

・ 対象モーターの選択:左、右、すべて
・ 回転方向:前、後
・ スピード:0〜255
02 iftiny-Micro-Maqueen-Plus-Tutorial-Motor-Control-0402 モーター停止用ブロック 車体の停止

※ 「モーターコントロール用ブロック」のスピードを「0」に設定するのと同機能

・ 対象モーターの選択:左、右、すべて



# 4.4. 動作イメージ




以下の流れでマイクロマクイーン (micro:Maqueen)の車体を動かす。

  • 車体前進1秒
  • 右折1秒
  • 左折1秒
  • 後退1秒
  • 後退且つ右折1秒
  • 停止1秒



# 4.5. プログラミング例




# MakeCodeプログラミング例(ブロック)





# MakeCodeプログラミング例(JavaScript)

DFRobotMaqueenPlusV2.I2CInit()
basic.forever(function on_forever() {
    DFRobotMaqueenPlusV2.controlMotor(MyEnumMotor.eAllMotor, MyEnumDir.eForward, 100)
    basic.pause(1000)
    DFRobotMaqueenPlusV2.controlMotor(MyEnumMotor.eLeftMotor, MyEnumDir.eForward, 100)
    DFRobotMaqueenPlusV2.controlMotor(MyEnumMotor.eRightMotor, MyEnumDir.eForward, 0)
    basic.pause(1000)
    DFRobotMaqueenPlusV2.controlMotor(MyEnumMotor.eLeftMotor, MyEnumDir.eForward, 0)
    DFRobotMaqueenPlusV2.controlMotor(MyEnumMotor.eRightMotor, MyEnumDir.eForward, 100)
    basic.pause(1000)
    DFRobotMaqueenPlusV2.controlMotor(MyEnumMotor.eAllMotor, MyEnumDir.eBackward, 100)
    basic.pause(1000)
    DFRobotMaqueenPlusV2.controlMotor(MyEnumMotor.eLeftMotor, MyEnumDir.eBackward, 100)
    DFRobotMaqueenPlusV2.controlMotor(MyEnumMotor.eRightMotor, MyEnumDir.eBackward, 0)
    basic.pause(1000)
})



# MakeCodeプログラミング例(python)

DFRobotMaqueenPlusV2.i2c_init()

def on_forever():
    DFRobotMaqueenPlusV2.control_motor(MyEnumMotor.E_ALL_MOTOR, MyEnumDir.E_FORWARD, 100)
    basic.pause(1000)
    DFRobotMaqueenPlusV2.control_motor(MyEnumMotor.E_LEFT_MOTOR, MyEnumDir.E_FORWARD, 100)
    DFRobotMaqueenPlusV2.control_motor(MyEnumMotor.E_RIGHT_MOTOR, MyEnumDir.E_FORWARD, 0)
    basic.pause(1000)
    DFRobotMaqueenPlusV2.control_motor(MyEnumMotor.E_LEFT_MOTOR, MyEnumDir.E_FORWARD, 0)
    DFRobotMaqueenPlusV2.control_motor(MyEnumMotor.E_RIGHT_MOTOR, MyEnumDir.E_FORWARD, 100)
    basic.pause(1000)
    DFRobotMaqueenPlusV2.control_motor(MyEnumMotor.E_ALL_MOTOR, MyEnumDir.E_BACKWARD, 100)
    basic.pause(1000)
    DFRobotMaqueenPlusV2.control_motor(MyEnumMotor.E_LEFT_MOTOR, MyEnumDir.E_BACKWARD, 100)
    DFRobotMaqueenPlusV2.control_motor(MyEnumMotor.E_RIGHT_MOTOR, MyEnumDir.E_BACKWARD, 0)
    basic.pause(1000)
basic.forever(on_forever)



# MakeCodeプログラミング例のQRコード

マイクロマックイーン プラス (micro:Maqueen Plus) モーターのコントロール プログラムサンプル QRコード





Last Updated: 2/5/2023, 3:42:18 PM