# 9. マイクロマックイーン プラス V2(micro:Maqueen Plus V2) 赤外線リモコンでの車体コントロール



# 9.1. 目標

赤外線リモコンでマイクロマックイーン プラス V2(micro:Maqueen Plus V2)をコントロールするためのプログラミング方法を把握します。

# 9.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アクセス用
06 赤外線リモコン (opens new window) 1 HW 赤外線信号発信用

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

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プログラミング用
06 赤外線リモコン (opens new window) 1 HW 赤外線信号発信用


# 9.3. MakeCodeブロックの概要


No. ブロック 概要 機能
01 赤外線受信イベントトリガーブロック 赤外線の受信をきっかけに意図した動作を開始させる。具体的には、赤外線を受信した場合、変換した10進数整数を所定の変数(デフォルトはmessage)に代入し、ブロック内に追加した処理を実行する。

・ 戻り値:10進整数(リモコンで押されたキーに対応して送信された16進数の値を受信し、下2桁を読み取り、10進数に変換する)
・ プロトコルタイプ:NEC



# 9.4. 動作イメージ


赤外線リモートコントローラーの「+」(前進)、「-」(後退)、「⏭」(左折)、「⏮」(右折)、「▶️」(停止)のキーを押すと、マイクロマックイーン プラス V2 (micro:Maqueen plus V2) の車体がそれにコントロールされ動作します。


マイクロマックイーン プラス V2 赤外線リモコンでの車体コントロール サンプルプログラム 動画イメージ

# 9.5. プログラミング例


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


iftiny-Micro-Maqueen-Plus-Tutorial-IR-Remote-Control

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

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



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

IR.IR_callbackUser(function (infrared) {
    if (infrared == 64) {
        maqueenPlusV2.controlMotor(maqueenPlusV2.MyEnumMotor.AllMotor, maqueenPlusV2.MyEnumDir.Forward, 150)
    } else if (infrared == 25) {
        maqueenPlusV2.controlMotor(maqueenPlusV2.MyEnumMotor.AllMotor, maqueenPlusV2.MyEnumDir.Backward, 150)
    } else if (infrared == 7) {
        maqueenPlusV2.controlMotor(maqueenPlusV2.MyEnumMotor.LeftMotor, maqueenPlusV2.MyEnumDir.Forward, 0)
        maqueenPlusV2.controlMotor(maqueenPlusV2.MyEnumMotor.RightMotor, maqueenPlusV2.MyEnumDir.Forward, 150)
    } else if (infrared == 9) {
        maqueenPlusV2.controlMotor(maqueenPlusV2.MyEnumMotor.LeftMotor, maqueenPlusV2.MyEnumDir.Forward, 150)
        maqueenPlusV2.controlMotor(maqueenPlusV2.MyEnumMotor.RightMotor, maqueenPlusV2.MyEnumDir.Forward, 0)
    } else if (infrared == 21) {
        maqueenPlusV2.controlMotorStop(maqueenPlusV2.MyEnumMotor.AllMotor)
    }
    basic.showIcon(IconNames.Happy)
})



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

def on_ir_callbackuser(infrared):
    if infrared == 64:
        maqueenPlusV2.control_motor(maqueenPlusV2.MyEnumMotor.ALL_MOTOR,
            maqueenPlusV2.MyEnumDir.FORWARD,
            150)
    elif infrared == 25:
        maqueenPlusV2.control_motor(maqueenPlusV2.MyEnumMotor.ALL_MOTOR,
            maqueenPlusV2.MyEnumDir.BACKWARD,
            150)
    elif infrared == 7:
        maqueenPlusV2.control_motor(maqueenPlusV2.MyEnumMotor.LEFT_MOTOR,
            maqueenPlusV2.MyEnumDir.FORWARD,
            0)
        maqueenPlusV2.control_motor(maqueenPlusV2.MyEnumMotor.RIGHT_MOTOR,
            maqueenPlusV2.MyEnumDir.FORWARD,
            150)
    elif infrared == 9:
        maqueenPlusV2.control_motor(maqueenPlusV2.MyEnumMotor.LEFT_MOTOR,
            maqueenPlusV2.MyEnumDir.FORWARD,
            150)
        maqueenPlusV2.control_motor(maqueenPlusV2.MyEnumMotor.RIGHT_MOTOR,
            maqueenPlusV2.MyEnumDir.FORWARD,
            0)
    elif infrared == 21:
        maqueenPlusV2.control_motor_stop(maqueenPlusV2.MyEnumMotor.ALL_MOTOR)
    basic.show_icon(IconNames.HAPPY)
IR.IR_callbackUser(on_ir_callbackuser)


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


マイクロマックイーン プラス V2 (micro:Maqueen Plus V2) 赤外線リモコンでの車体コントロール プログラムサンプル QRコード






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