マイクロビット(micro:bit)には、
温度センサーという機能がついています。
温度センサーはその名の通り、
温度を測ることのできるセンサーです。
今回はマイクロビットの温度センサーの機能と、
温度センサーを使った簡単なプログラム
真夏日判定機を紹介します。
温度センサーとは
温度センサーの機能は、
マイクロビットの裏にある
プロセッサー(PROCESSORと書いてあるチップ)の中にあります。
ちなみにプロセッサーは、
マイクロビットの頭脳にあたる部分。
プログラムを実行しているパーツです。
温度センサーを使うと、
マイクロビットのまわりのだいたいの温度が分かります。
これは温度センサーが気温を測るためのものではなく、
プロセッサーの温度を測るためのものだからで、
1~2度程度、実際の気温と差がでてきます。
プロセッサーの温度が高くなって気温との差が出やすくなります。
正確な気温に近づけたい場合は、
プログラムをなるべくシンプルにしましょう。
身の回りで使われている例
- 体温計
- エアコン
- 電気ケトル
- 炊飯器
- 冷蔵庫
- アイロン
などなど…温めたり冷やしたりする家電には大体ついてます。
今回作ったプログラム~真夏日判定機~
天気予報で「最高気温が35℃以上の
猛暑日となる所があるでしょう。」なんてよく聞きますよね。
今回は、今の気温が夏日・真夏日・猛暑日のうち
どのレベルなのか判定するプログラムを作りました。
夏日・真夏日・猛暑日の基準は下の通りです。
- 最高気温が25℃以上の日 … 夏日
- 最高気温が30℃以上の日 … 真夏日
- 最高気温が35℃以上の日 … 猛暑日
ボタンAが押されたとき、
気温を判定し、アイコンを表示するようにします。
- 温度が35℃以上の場合、「がいこつ」を表示する
- 温度が30℃以上の場合、「家」を表示する
- 温度が25℃以上の場合、「Tシャツ」を表示する
- 上記以外の場合、「うれしい顔」を表示する
表示するアイコンは、
自分の好きなものに変えてもらってOKです。
あと気温の数値も知りたいと思うので、
ボタンBが押されたとき、温度を表示するようにします。
MakeCodeエディターでプログラミング
MakeCodeエディターの画面を開いて
実際にプログラミングしてみましょう。
MakeCodeエディターの基本的な使い方は
こちらの記事をご覧ください。
プログラム
プログラムの内容は下の画像のようになります。
ボタンAが押されたとき
変数ブロック
「温度」は変数です。
変数のカテゴリで「変数を追加する」ボタンを
クリックして作ってください。
変数の値を変える「変数~を~にする」ブロックも
変数のカテゴリにあります。
データを一時的に覚えておくための入れ物のことです。
プログラムで人間が分かるように名前を付けます。
温度(℃)ブロック
「温度(℃)」ブロックは
マイクロビットのまわりの温度を取得します。
「温度(℃)」ブロックは、
入力カテゴリにあります。
もし~ならブロック
「もし~なら」ブロックと
「○○>□□」ブロックなど
値をくらべるブロックは論理のカテゴリに、
「アイコンを表示」ブロックは基本のカテゴリにあります。
「がいこつ」のアイコンを表示する
でなければもし温度が30℃以上の場合
「家」のアイコンを表示する
でなければもし温度が25℃以上の場合
「Tシャツ」のアイコンを表示する
でなければ
「うれしい顔」のアイコンを表示する
一時停止(ミリ秒)ブロック、表示を消すブロック
「一時停止(ミリ秒)」ブロックは、
次の命令を実行するまで、
指定した時間だけ一時停止させることができます。
「表示を消す」ブロックは、LEDの表示を消す命令です。
どちらも基本のカテゴリにあります。
ボタンBが押されたとき
ボタンBが押されたとき、今の温度を表示します。
「数を表示」は基本のカテゴリにあります。
シミュレーターで確認
プログラムが完成したら
シミュレーターで思った通りに動くかテストしましょう。
LEDの左に出てきた温度のコントローラーを
上下にドラッグすることで、温度を上げ下げできます。
実機でテストしてみよう
シミュレーターで確認できたら
マイクロビットに転送して実際に動かしてみましょう。
まとめ
マイクロビットの温度センサーの機能と、
温度センサーを利用した簡単なプログラムを紹介しました。
マイクロビット用の扇風機があれば、「28℃以上になったら
自動で扇風機を回す」なんてプログラムが作れそうですね!