Skip to content

アクティビティ

ライトアラーム

上級 | MakeCode, Python | LED表示, 光センサー, 無線, | エネルギー, センサー, , 反復処理, 抽出, 通信, 関係演算子

ステップ1: 作る

説明

無線制御されたリモートアラームで、誰かが灯りをつけたり、引き出しやバッグを開けたことがわかります。

怒った顔を表示して無線を飛ばしたり光を出したりするmicro:bit

動作の仕組み

  • 日光センサープロジェクトのように、micro:bitのLEDをあかりセンサーとして使い、ディスプレイにあたっているあかりを測定します、
  • ループを使い、10秒ごとにセンサープログラムは無線メッセージを送信し、明るいか暗いかを言います。 選択を使って、明るさの測定値が50より大きい場合(>)は「あかりが点いた」、50より小さい場合(<)は、「あかりが消えた」メッセージを送信します。 あなたがいる場所の明るさによっては、値を変更する必要があるかもしれません。
  • 入力ボタンAを押すとLEDディスプレイに明るさの測定結果を表示します。これはアラームの設定に役立ちます。先ほどの50を、あなたの環境に応じた最適な数値に変更してください。
  • アラームプログラムは、メッセージを受信するたびに反応します。 メッセージ「あかりが消えた」等しいならばLEDディスプレイを消し「あかりがついた」等しいならば怒った顔を表示して、悪者(BADDY)アラームサウンドを演奏します
  • センサーとアラームが同じ無線グループ(0~255の任意の数字)を使用していることを確認してください。

必要なもの

  • 2台のmicro:bitで、少なくとも1台はバッテリーパック付き
  • 安全に守る大事なもの
  • アラーム用にオプションでヘッドホン、ブザー、アンプ付きスピーカー

ステップ2: プログラムする

センサー/送信機:

1from microbit import *
2import radio
3radio.config(group=5)
4radio.on()
5
6while True:
7    if button_a.was_pressed():
8        display.scroll(display.read_light_level())
9    if display.read_light_level() > 50:
10        radio.send('lights on')
11    else:
12        radio.send('lights off')
13    sleep(10000)
14

アラーム/受信機:

1from microbit import *
2import music
3import radio
4radio.config(group=5)
5radio.on()
6
7while True:
8    message = radio.receive()
9    if message:
10        if message == 'lights off':
11            display.clear()
12        elif message == 'lights on':
13            display.show(Image.ANGRY)
14            music.play(music.BADDY)
15

ステップ3: 改善する

  • これを傾きアラームプロジェクトと組み合わせて、何かが動かされるか、あかりが点いた時を検出します。
  • アラームが逆に動くよう、誰かがライトを消した場合、アラームが鳴るようにします。
  • エネルギー使用を監視するために適応させます:あかりが点灯している秒数を追跡するか、あかりを長く点けたままにした後だけアラームをトリガーする変数を使います。