# マイクロマクイーン ライト(micro:Maqueen Lite)LEDライトのコントロール(前面)
# 6.1. 目標
マイクロマクイーン ライト(micro:Maqueen Lite)の前面LEDライトをコントロールするためのプログラミング方法を把握します。
# 6.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 Lite) | 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変換アダプタが必要 |
# タブレット・スマートフォン利用時に必要な機材
No. | 名称 | 個数 | HW/SW | 用途 | 補足 |
---|---|---|---|---|---|
01 | micro:bit(v2)本体 | 1 | HW | マイクロマクイーンのコントロール用とプログラミング | - |
02 | micro:bit保護ケース | 1 | HW | micro:bit保護 | - |
03 | マイクロマクイーン ライト(micro:Maqueen Lite) | 1 | HW | 車体本体 | - |
04 | 単4型乾電池 | 3 | HW | マイクロマクイーンとmicro:bitへの電源供給 | - |
05 | タブレット・スマートフォン | 1 | HW | micro:bitアプリ操作用 | - |
06 | 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プログラミング例(JavaScript)
let Loop_switch = 0
input.onButtonPressed(Button.A, function () {
Loop_switch = 1
})
input.onButtonPressed(Button.B, function () {
Loop_switch = 0
})
basic.forever(function () {
if (Loop_switch == 1) {
maqueen.writeLED(maqueen.LED.LEDLeft, maqueen.LEDswitch.turnOn)
maqueen.writeLED(maqueen.LED.LEDRight, maqueen.LEDswitch.turnOff)
music.playTone(262, music.beat(BeatFraction.Whole))
basic.pause(500)
maqueen.writeLED(maqueen.LED.LEDLeft, maqueen.LEDswitch.turnOff)
maqueen.writeLED(maqueen.LED.LEDRight, maqueen.LEDswitch.turnOn)
music.playTone(330, music.beat(BeatFraction.Whole))
basic.pause(500)
}
})
# MakeCodeプログラミング例(python)
Loop_switch = 0
def on_button_pressed_a():
global Loop_switch
Loop_switch = 1
input.on_button_pressed(Button.A, on_button_pressed_a)
def on_button_pressed_b():
global Loop_switch
Loop_switch = 0
input.on_button_pressed(Button.B, on_button_pressed_b)
def on_forever():
if Loop_switch == 1:
maqueen.write_led(maqueen.LED.LED_LEFT, maqueen.LEDswitch.TURN_ON)
maqueen.write_led(maqueen.LED.LED_RIGHT, maqueen.LEDswitch.TURN_OFF)
music.play_tone(262, music.beat(BeatFraction.WHOLE))
basic.pause(500)
maqueen.write_led(maqueen.LED.LED_LEFT, maqueen.LEDswitch.TURN_OFF)
maqueen.write_led(maqueen.LED.LED_RIGHT, maqueen.LEDswitch.TURN_ON)
music.play_tone(330, music.beat(BeatFraction.WHOLE))
basic.pause(500)
basic.forever(on_forever)
# MakeCodeプログラミング例のQRコード