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




# 4.1. 目標




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


# 4.2. 必要な機材




# PC利用時に必要な機材

No. 名称 個数 HW/SW 用途
01 マイクロビット セレクト ベースキット (opens new window) 1 HW マイクロマックイーンのコントロール用とプログラミング
02 マイクロマックイーン プラス V2(micro:Maqueen Plus V2) (opens new window) 1 HW 車体本体
03 単3型乾電池 4 HW マイクロマックイーン プラスとmicro:bitへの電源供給
04 Chromebook、MacOS、WindowsのPC 1 HW MakeCode操作用
05 Google Chrome 1 SW MakeCodeアクセス用

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

No. 名称 個数 HW/SW 用途
01 マイクロビット セレクト ベースキット (opens new window) 1 HW マイクロマックイーンのコントロール用とプログラミング
02 マイクロマックイーン プラス V2(micro:Maqueen Plus V2) (opens new window) 1 HW 車体本体
03 単3型乾電池 4 HW マイクロマックイーン プラスとmicro:bitへの電源供給
04 タブレット・スマートフォン 1 HW micro:bitアプリ操作用
05 micro:bit アプリ 1 SW micro:bitアプリ操作用



# 4.3. MakeCodeブロックの概要




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

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

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

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



# 4.4. 動作イメージ




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

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



# 4.5. プログラミング例




# MakeCodeプログラミング例(サンプルプログラムの画像)


PPDF-MBT0021-Micro-Maqueen-Plus-Tutorial-Motor-Control

# MakeCodeプログラミング例(サンプルプログラムのリンク)

https://makecode.microbit.org/_7Fg9mCfX0hbV (opens new window)



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

maqueenPlusV2.I2CInit()
basic.forever(function () {
    maqueenPlusV2.controlMotor(maqueenPlusV2.MyEnumMotor.AllMotor, maqueenPlusV2.MyEnumDir.Forward, 100)
    basic.pause(1000)
    maqueenPlusV2.controlMotor(maqueenPlusV2.MyEnumMotor.LeftMotor, maqueenPlusV2.MyEnumDir.Forward, 100)
    maqueenPlusV2.controlMotor(maqueenPlusV2.MyEnumMotor.RightMotor, maqueenPlusV2.MyEnumDir.Forward, 0)
    basic.pause(1000)
    maqueenPlusV2.controlMotor(maqueenPlusV2.MyEnumMotor.LeftMotor, maqueenPlusV2.MyEnumDir.Forward, 0)
    maqueenPlusV2.controlMotor(maqueenPlusV2.MyEnumMotor.RightMotor, maqueenPlusV2.MyEnumDir.Forward, 100)
    basic.pause(1000)
    maqueenPlusV2.controlMotor(maqueenPlusV2.MyEnumMotor.AllMotor, maqueenPlusV2.MyEnumDir.Backward, 100)
    basic.pause(1000)
    maqueenPlusV2.controlMotor(maqueenPlusV2.MyEnumMotor.LeftMotor, maqueenPlusV2.MyEnumDir.Backward, 100)
    maqueenPlusV2.controlMotor(maqueenPlusV2.MyEnumMotor.RightMotor, maqueenPlusV2.MyEnumDir.Backward, 0)
    basic.pause(1000)
})


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

def on_forever():
    maqueenPlusV2.control_motor(maqueenPlusV2.MyEnumMotor.ALL_MOTOR,
        maqueenPlusV2.MyEnumDir.FORWARD,
        100)
    basic.pause(1000)
    maqueenPlusV2.control_motor(maqueenPlusV2.MyEnumMotor.LEFT_MOTOR,
        maqueenPlusV2.MyEnumDir.FORWARD,
        100)
    maqueenPlusV2.control_motor(maqueenPlusV2.MyEnumMotor.RIGHT_MOTOR,
        maqueenPlusV2.MyEnumDir.FORWARD,
        0)
    basic.pause(1000)
    maqueenPlusV2.control_motor(maqueenPlusV2.MyEnumMotor.LEFT_MOTOR,
        maqueenPlusV2.MyEnumDir.FORWARD,
        0)
    maqueenPlusV2.control_motor(maqueenPlusV2.MyEnumMotor.RIGHT_MOTOR,
        maqueenPlusV2.MyEnumDir.FORWARD,
        100)
    basic.pause(1000)
    maqueenPlusV2.control_motor(maqueenPlusV2.MyEnumMotor.ALL_MOTOR,
        maqueenPlusV2.MyEnumDir.BACKWARD,
        100)
    basic.pause(1000)
    maqueenPlusV2.control_motor(maqueenPlusV2.MyEnumMotor.LEFT_MOTOR,
        maqueenPlusV2.MyEnumDir.BACKWARD,
        100)
    maqueenPlusV2.control_motor(maqueenPlusV2.MyEnumMotor.RIGHT_MOTOR,
        maqueenPlusV2.MyEnumDir.BACKWARD,
        0)
    basic.pause(1000)
basic.forever(on_forever)



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

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





Last Updated: 9/15/2023, 12:18:39 PM