# マイクロマクイーン(micro:Maqueen) 赤外線リモコンでの車体コントロール




# 9.1. 目標




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


# 9.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) 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変換アダプタが必要
08 赤外線リモコン 1 HW 赤外線信号発信用

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

No. 名称 個数 HW/SW 用途 補足
01 micro:bit(v2)本体 1 HW マイクロマクイーンのコントロール用とプログラミング
02 micro:bit用 ケース 1 HW micro:bit保護
03 マイクロマクイーン(micro:Maqueen) 1 HW 車体本体
04 単4型乾電池 3 HW マイクロマクイーンとmicro:bitへの電源供給
05 タブレット・スマートフォン 1 HW micro:bitアプリ操作用
06 micro:bit アプリ 1 SW micro:bitアプリ操作用
07 赤外線リモコン 1 HW 赤外線信号発信用



# 9.3. MakeCodeブロックの概要




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

・ データタイプ:10進数整数(受信た16進数の値を受信し、下2桁を読み取り、10進数に変換する)
・ プロトコルタイプ:NEC



# 9.4. 動作イメージ




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

ROB0148 Micro:Maqueen 赤外線リモコンでの車体コントロール プログラム 動作イメージ


# 9.5. プログラミング例




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





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

IR.IR_callbackUser(function (infrared) {
    if (infrared == 64) {
        maqueen.motorRun(maqueen.Motors.All, maqueen.Dir.CW, 150)
    } else if (infrared == 25) {
        maqueen.motorRun(maqueen.Motors.All, maqueen.Dir.CCW, 150)
    } else if (infrared == 7) {
        maqueen.motorRun(maqueen.Motors.M1, maqueen.Dir.CW, 0)
        maqueen.motorRun(maqueen.Motors.M2, maqueen.Dir.CW, 150)
    } else if (infrared == 9) {
        maqueen.motorRun(maqueen.Motors.M1, maqueen.Dir.CW, 150)
        maqueen.motorRun(maqueen.Motors.M2, maqueen.Dir.CW, 0)
    } else if (infrared == 21) {
        maqueen.motorStop(maqueen.Motors.All)
    } else {
        basic.showIcon(IconNames.Happy)
    }
})




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

def on_ir_callbackuser(infrared):
    if infrared == 64:
        maqueen.motor_run(maqueen.Motors.ALL, maqueen.Dir.CW, 150)
    elif infrared == 25:
        maqueen.motor_run(maqueen.Motors.ALL, maqueen.Dir.CCW, 150)
    elif infrared == 7:
        maqueen.motor_run(maqueen.Motors.M1, maqueen.Dir.CW, 0)
        maqueen.motor_run(maqueen.Motors.M2, maqueen.Dir.CW, 150)
    elif infrared == 9:
        maqueen.motor_run(maqueen.Motors.M1, maqueen.Dir.CW, 150)
        maqueen.motor_run(maqueen.Motors.M2, maqueen.Dir.CW, 0)
    elif infrared == 21:
        maqueen.motor_stop(maqueen.Motors.ALL)
    else:
        basic.show_icon(IconNames.HAPPY)
IR.IR_callbackUser(on_ir_callbackuser)




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

ROB0148 Micro:Maqueen 赤外線リモコンでの車体コントロール プログラムサンプル QRコード





Last Updated: 4/23/2022, 1:45:58 PM