# マイクロマックイーン プラス (micro:Maqueen Plus) 音声での車体コントロール




# 11.1. 目標




音を検知し、音声でマイクロマックイーン プラス (micro:Maqueen Plus)を前方に進行させるまたは止めることができるプログラミング方法を学習します。


# 11.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アプリ操作用



# 11.3. 動作イメージ




停車しているマイクロマックイーン プラス (micro:Maqueen Plus)が設定した一定レベルの声や音を検知すると、LEDライトを点灯し、車体が前進します。
前進しているマイクロマックイーン プラス (micro:Maqueen Plus)が設定した一定レベルの声や音を検知すると、LEDライトを消灯し、車体が停止します。
「スタート」や「ストップ」などの声を出すことで、車体を簡易的にコントロールすることができます。
※ サウンドはマイクロビットの機能で検知しています。




# 12.4. プログラミング例




電源オンの初期では、ブール値(TRUE(真)またはFALSE(偽))の状態をTRUEと設定します。
100より大きい音声が検出された場合、ブール値(TRUE(真)またはFALSE(偽))の状態を反転させます。
そうすることで100より大きい音声が検出された際、交互に前進・停止の動作をさせることが実現できます。

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





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

DFRobotMaqueenPlusV2.I2CInit()
let canMoveForward = true
basic.forever(function () {
    if (input.soundLevel() >= 120) {
        canMoveForward = !(canMoveForward)
        if (canMoveForward == true) {
            DFRobotMaqueenPlusV2.controlMotor(MyEnumMotor.eAllMotor, MyEnumDir.eForward, 100)
            DFRobotMaqueenPlusV2.controlLED(MyEnumLed.eAllLed, MyEnumSwitch.eOpen)
            basic.showIcon(IconNames.Square)
        } else {
            DFRobotMaqueenPlusV2.controlMotorStop(MyEnumMotor.eAllMotor)
            DFRobotMaqueenPlusV2.controlLED(MyEnumLed.eAllLed, MyEnumSwitch.eClose)
            basic.showIcon(IconNames.No)
        }
    }
})



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

DFRobotMaqueenPlusV2.i2c_init()
canMoveForward = True

def on_forever():
    global canMoveForward
    if input.sound_level() >= 120:
        canMoveForward = not (canMoveForward)
        if canMoveForward == True:
            DFRobotMaqueenPlusV2.control_motor(MyEnumMotor.E_ALL_MOTOR, MyEnumDir.E_FORWARD, 100)
            DFRobotMaqueenPlusV2.control_led(MyEnumLed.E_ALL_LED, MyEnumSwitch.E_OPEN)
            basic.show_icon(IconNames.SQUARE)
        else:
            DFRobotMaqueenPlusV2.control_motor_stop(MyEnumMotor.E_ALL_MOTOR)
            DFRobotMaqueenPlusV2.control_led(MyEnumLed.E_ALL_LED, MyEnumSwitch.E_CLOSE)
            basic.show_icon(IconNames.NO)
basic.forever(on_forever)



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

マイクロマックイーン プラス (micro:Maqueen Plus) 音声での車体コントロール プログラムサンプル QRコード





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