# 6. マイクロマックイーン プラス (micro:Maqueen Plus) LEDライトのコントロール(前面)
# 6.1. 目標
マイクロマックイーン プラス (micro:Maqueen Plus) の前面LEDライトをコントロールするためのプログラミング方法を学習します。
# 6.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プログラミング用 |
# 6.3. MakeCodeブロックの概要
No. | ブロック | 概要 | 機能 |
---|---|---|---|
01 | LEDライトのコントロール用ブロック | 車体の前方にある2つのLEDライトをコントロール ・ 対象LEDライトの選択:左、右 ・ 動作:つける、消す |
# 6.4. 動作イメージ
マイクロビット(micro:bit)のAボタンを押すと、
車体前方にある左右2つのLEDは、0.5秒の間隔で交互に点滅します。点滅するLEDに合わせて、ブザーで2種類の音を出します。
マイクロビット(micro:bit)のBボタンを押すと、LED点滅とブザーが止まります。
# 6.5. プログラミング例
# MakeCodeプログラミング例(サンプルプログラムの画像)
# MakeCodeプログラミング例(サンプルプログラムのリンク)
https://makecode.microbit.org/_gM32Y9eqRFTb (opens new window)
# MakeCodeプログラミング例(JavaScript)
input.onButtonPressed(Button.A, function () {
patrol_mode_switch = 1
})
input.onButtonPressed(Button.B, function () {
patrol_mode_switch = 0
})
let patrol_mode_switch = 0
maqueenPlusV2.I2CInit()
basic.forever(function () {
if (patrol_mode_switch == 1) {
maqueenPlusV2.controlLED(maqueenPlusV2.MyEnumLed.LeftLed, maqueenPlusV2.MyEnumSwitch.Open)
maqueenPlusV2.controlLED(maqueenPlusV2.MyEnumLed.RightLed, maqueenPlusV2.MyEnumSwitch.Close)
music.playTone(262, music.beat(BeatFraction.Whole))
basic.pause(500)
maqueenPlusV2.controlLED(maqueenPlusV2.MyEnumLed.LeftLed, maqueenPlusV2.MyEnumSwitch.Close)
maqueenPlusV2.controlLED(maqueenPlusV2.MyEnumLed.RightLed, maqueenPlusV2.MyEnumSwitch.Open)
music.playTone(262, music.beat(BeatFraction.Whole))
basic.pause(500)
} else {
maqueenPlusV2.controlLED(maqueenPlusV2.MyEnumLed.AllLed, maqueenPlusV2.MyEnumSwitch.Close)
}
})
# MakeCodeプログラミング例(python)
def on_button_pressed_a():
global patrol_mode_switch
patrol_mode_switch = 1
input.on_button_pressed(Button.A, on_button_pressed_a)
def on_button_pressed_b():
global patrol_mode_switch
patrol_mode_switch = 0
input.on_button_pressed(Button.B, on_button_pressed_b)
patrol_mode_switch = 0
maqueenPlusV2.i2c_init()
def on_forever():
if patrol_mode_switch == 1:
maqueenPlusV2.control_led(maqueenPlusV2.MyEnumLed.LEFT_LED,
maqueenPlusV2.MyEnumSwitch.OPEN)
maqueenPlusV2.control_led(maqueenPlusV2.MyEnumLed.RIGHT_LED,
maqueenPlusV2.MyEnumSwitch.CLOSE)
music.play_tone(262, music.beat(BeatFraction.WHOLE))
basic.pause(500)
maqueenPlusV2.control_led(maqueenPlusV2.MyEnumLed.LEFT_LED,
maqueenPlusV2.MyEnumSwitch.CLOSE)
maqueenPlusV2.control_led(maqueenPlusV2.MyEnumLed.RIGHT_LED,
maqueenPlusV2.MyEnumSwitch.OPEN)
music.play_tone(262, music.beat(BeatFraction.WHOLE))
basic.pause(500)
else:
maqueenPlusV2.control_led(maqueenPlusV2.MyEnumLed.ALL_LED,
maqueenPlusV2.MyEnumSwitch.CLOSE)
basic.forever(on_forever)
# MakeCodeプログラミング例のQRコード