# マイクロマックイーン プラス (micro:Maqueen Plus) 超音波距離センサーでの距離測定
# 7.1. 目標
マイクロマックイーン プラス (micro:Maqueen Plus) の超音波距離センサーを利用して、前方障害物までの距離を測定するためのプログラミング方法を学習します。
# 7.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アプリ操作用 | - |
# 7.3. MakeCodeブロックの概要
No. | ブロック | 概要 | 機能 |
---|---|---|---|
01 | ![]() | 超音波距離センサーのコントロール用ブロック | 車体の前方にある超音波距離センサーをコントロール ・ 戻り値:10進数の整数 ・ 単位:センチメートル ・ 機能:センサーと前方の障害物との距離を測る。センサーの検出範囲は2cm~400cm。誤差は1cm~3cmですが、20cm~80cmの範囲であればより正確に出力される。80cm以上だと、精度が落ちる。測定距離が400cm以上の場合、戻り値は0。 |
# 7.4. 動作イメージ
センサーと前方の障害物との距離を検出し、マイクロビット(micro:bit)のLEDディスプレイに表示する(単位:cm)。
# 7.5. プログラミング例
# MakeCodeプログラミング例(ブロック)
# MakeCodeプログラミング例(JavaScript)
let distance_to_obstacle_cm = 0
DFRobotMaqueenPlusV2.I2CInit()
basic.forever(function on_forever() {
distance_to_obstacle_cm = DFRobotMaqueenPlusV2.readUltrasonic(DigitalPin.P13, DigitalPin.P14)
basic.showNumber(distance_to_obstacle_cm)
})
# MakeCodeプログラミング例(python)
distance_to_obstacle_cm = 0
DFRobotMaqueenPlusV2.i2c_init()
def on_forever():
global distance_to_obstacle_cm
distance_to_obstacle_cm = DFRobotMaqueenPlusV2.read_ultrasonic(DigitalPin.P13, DigitalPin.P14)
basic.show_number(distance_to_obstacle_cm)
basic.forever(on_forever)
# MakeCodeプログラミング例のQRコード