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




# 11.1. 目標




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


# 11.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プログラミング用



# 11.3. 動作イメージ




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




# 11.4. プログラミング例




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

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


iftiny-Micro-Maqueen-Plus-Tutorial-Sound-Control

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

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



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

maqueenPlusV2.I2CInit()
let canMovForward = true
basic.forever(function () {
    if (input.soundLevel() >= 120) {
        canMovForward = !(canMovForward)
        if (canMovForward == true) {
            maqueenPlusV2.controlMotor(maqueenPlusV2.MyEnumMotor.AllMotor, maqueenPlusV2.MyEnumDir.Forward, 100)
            maqueenPlusV2.controlLED(maqueenPlusV2.MyEnumLed.AllLed, maqueenPlusV2.MyEnumSwitch.Open)
            basic.showIcon(IconNames.Square)
        } else {
            maqueenPlusV2.controlMotorStop(maqueenPlusV2.MyEnumMotor.AllMotor)
            maqueenPlusV2.controlLED(maqueenPlusV2.MyEnumLed.AllLed, maqueenPlusV2.MyEnumSwitch.Close)
            basic.showIcon(IconNames.No)
        }
    }
})



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

maqueenPlusV2.i2c_init()
canMovForward = True

def on_forever():
    global canMovForward
    if input.sound_level() >= 120:
        canMovForward = not (canMovForward)
        if canMovForward == True:
            maqueenPlusV2.control_motor(maqueenPlusV2.MyEnumMotor.ALL_MOTOR,
                maqueenPlusV2.MyEnumDir.FORWARD,
                100)
            maqueenPlusV2.control_led(maqueenPlusV2.MyEnumLed.ALL_LED,
                maqueenPlusV2.MyEnumSwitch.OPEN)
            basic.show_icon(IconNames.SQUARE)
        else:
            maqueenPlusV2.control_motor_stop(maqueenPlusV2.MyEnumMotor.ALL_MOTOR)
            maqueenPlusV2.control_led(maqueenPlusV2.MyEnumLed.ALL_LED,
                maqueenPlusV2.MyEnumSwitch.CLOSE)
            basic.show_icon(IconNames.NO)
basic.forever(on_forever)



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

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





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