Skip to content

アクティビティ

簡単なドアアラーム

中級 | MakeCode, Python | LED表示, コンパス, ボタン | 抽出, 磁気, 関係演算子

ステップ1: 作る

説明

あなたの部屋に誰かがいましたか。 micro:bit、バッテリーパック、磁石を使えば、アラームを作ってこそこそした詮索好きをあなたに警告してくれます。

はじめに

プログラミングガイド

動作の仕組み

  • このプロジェクトでは、ホームセキュリティシステム内の実際のドアセンサーのように動作するドアアラームを作成します。
  • micro:bitには磁力計と呼ばれる コンパスセンサー が内蔵されています。 それをコンパスとして使って、地球の磁場を測定できます。つまり家の近くにまで強い磁場が来ているのを感知できます!
  • 動画のようにドアの角に磁石を固定し、その近くのドアフレームの上に、ドアアラームプログラムの入ったmicro:bitを固定します。
  • プログラムは micro:bit のコンパス(磁力計)を入力センサーに使い、ずっと ループで磁場の強度を計測し続けます。
  • 選択を使い、磁場の強度が、あるレベル(しきい値)未満になったら、LEDディスプレイに怒った顔を表示します。 つまり、(ドアが開くと)micro:bitから磁石が離れ、誰かが部屋の中に入ったことになるのです!
  • Aボタンを押すと、現在の磁力読み取り値が表示されます。 これを使って、ドアを開け閉めして読み取り値をみてどんなしきい値 の数字を使うべきか決定します。 この例では200を使用しましたが、この値は磁石の強度や近くに他の磁場があるかどうかによって変わります。 上記のコーディングビデオでは、これを行う方法を示しています。
  • Aボタンを押して怒った顔をクリアし、 アラームを リセットします。

必要なもの

  • micro:bit
  • MakeCodeオンラインコードエディタ
  • バッテリーパック
  • 磁石
  • 磁石、micro:bit、バッテリーパックをドアとドアフレームに固定する何らかの方法

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

1# Python uses nanoteslas to measure magnetism.
2# Experiment with different numbers depending on the
3# strength of your magnet, which you can read by 
4# pressing button A.
5
6from microbit import *
7
8while True:
9    if button_a.was_pressed():
10        display.scroll(compass.get_field_strength())
11    if compass.get_field_strength() < 200000:
12        display.show(Image.ANGRY)

ステップ3: 改善する

  • スピーカーとアラームを追加します
  • 変数を使用してドアが開かれた回数を数えます。 ドアが開け閉めされたときを検出するコードを追加する必要があります。
  • ドアを開けっぱなしにした時間を測定するタイマーを作成します