Microbit#on_notify

概要

micro:bitからセンサーなどの値を受け取ったときに実行する処理を登録します。

備考

下記の値を毎秒20回ほどの頻度で micro:bitから受け取っています。
 ・加速度(x, y, z)
 ・傾き(pitch, roll)
 ・明るさ(light)
 ・温度(temp)
 ・ボタンの押下状態(a, b, ab)
 ・ロゴのタッチ状態(logo)
on_notifyで登録した処理は毎秒20回ほど実行されることになりますので、
micro:bitに対するメソッドをその中で呼び出すと処理が追いつかずに
動作が不安定になる場合があります。
その場合、on_notifyで登録する処理ができるだけ軽くなるように
プログラムの構成などを工夫してみてください。

引数

引数名内容備考デフォルト値
{}センサーなどの値を受け取ったときに実行する処理ブロック

戻値

なし

サンプル

# 明るさを数字とメーターで表示します
UI.label(10,  10, 250, 24, "明るさ(light) : ", {fontsize: 24})
label_v = UI.label(200,  10, 100, 24, "", {color: 'blue', fontsize: 24})
label_g = UI.label(200,  50, 450, 24, "", {color: 'blue', fontsize: 24})

mb = Microbit.new
mb.on_notify do
  v = mb.light
  label_v.value = "#{v}"
  label_g.value = "#{'■' * (v / 10)}"
end
mb.connect do
end

関連メソッド

Microbit#connect
Microbit#on_press_a
Microbit#on_press_b
Microbit#on_press_ab
Microbit#on_touch_logo
Microbit#on_release_logo
Microbit#on_shake
Microbit#on_notify