ステップ1: 作る
説明
家や学校でのエネルギー使用量を調べる3つのプロジェクトの1つ目です。
この光量計は、身の回りの照明が点いているとき、消えているときの明るさを測定します。さらに次のプロジェクトで光タイマーを設置するのに最適な場所を探すのに役立ちます。
学ぶこと
- micro:bitのセンサーの測定値を変数に保存する方法を学びます。こうすると条件が変わっても、同じ値を何度でも読み取れます。
 - 信頼性の高い環境データが記録できる場所を探します。
 
使い方
- 照明を消して、明るさを読み取る位置にmicro:bitを置いて、Aボタンを押します。
 - 表示が読みやすい位置にmicro:bitを移動して、Bボタンを押して明るさの値を確認します。 値は0 (暗い) から 255 (micro:bitが測定できる最も強い明るさ) までの数字になります。
 - ちゃんと読み取れなかった場合は、もう一度Bを押してください。
 - つぎに照明を点けて、もう一度Aボタンを押して計測をしなおし、Bボタンを押して数字を読み取ります。
 - 照明が点いているときと消えているときに、測定値に大きな違いがある場所をさがしましょう。 日の光が入る窓辺はさけて、照明に近い場所が良いでしょう。 照明つきの棚のような場所があれば理想的かもしれません。
 - いくつかの測定値を取り、照明が点灯しているときの測定値の平均値を求めます。 この平均値は次のプロジェクトエナジーライトタイマー で使います。
 
動作の仕組み
- このプログラムではreadingという変数を使って、明るさを記録します。 プログラムの最初と、ボタンAを押したときに測定値が記憶されます。
 - 明るさの値を表示するだけでなく変数に記録することで、ノートに書きとるまで何度でも見返すことができるのです。
 - 変数を使えば、ディスプレイの表示を見にくい場所の明るさを測定しても、別の見やすい場所で確認することもできます。
 
必要なもの
- micro:bit(またはMakeCodeシミュレーター)
 - MakeCodeまたはPythonエディター
 - バッテリーパック(推奨)
 
ステップ2: プログラムする
1from microbit import *
2
3display.show('M')
4reading = display.read_light_level()
5sleep(100)
6
7while True:
8    if button_a.was_pressed():
9        # take a light measurement and store it
10        reading = display.read_light_level()
11        display.show(Image.DIAMOND_SMALL)
12        sleep(400)
13        display.show(Image.DIAMOND)
14        sleep(400+500)
15        display.show('M')
16
17    elif button_b.was_pressed():
18        # display the stored light measurement
19        display.clear()
20        display.scroll(reading)
21        sleep(500)
22        display.show('M')
23ステップ3: 改善する
- プログラムを変更して、読み取った値の平均値を計算するようにしてみましょう。
 - 2つ目のmicro:bitを追加して、離れたところから無線で明るさを読み取れるようにしましょう。
 - 他の単位で明るさを測定できる照度計が使えるなら、micro:bitの測定値と比較してみましょう。
 - 明るさの値を使って、照明が点いている時間を測るタイマーを作ってみましょう。
 
This content is published under a Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) licence.