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