2.7 低温警報

このプロジェクトでは、低温警報システムを作成します。温度がしきい値を下回ると、ステージに Snowflake スプライトが表示されます。

../_images/9_tem.png

学べること

  • サーミスタの動作原理

  • 多変量および減算操作

必要な部品

このプロジェクトには、以下のコンポーネントが必要です。

キット全体を購入することは確かに便利です。こちらのリンクを参照してください:

名前

このキットのアイテム

リンク

3 in 1 Starter Kit

380+

3 in 1 Starter Kit

以下のリンクから個別に購入することもできます。

コンポーネントの紹介

購入リンク

SunFounder R3ボード

BUY

ブレッドボード

BUY

ジャンパーワイヤー

BUY

抵抗器

BUY

サーミスタ

BUY

回路の作成

サーミスタは、標準的な抵抗よりも、温度に強く依存する抵抗のタイプで、PTC(温度が上がると抵抗が上がる)とNTC(温度が上がると抵抗が下がる)の2種類の抵抗があります。

以下の図に従って回路を組み立ててください。

サーミスタの一端はGNDに接続され、もう一端はA0に接続され、10Kの抵抗が5Vに直列に接続されています。

ここではNTCサーミスタが使用されているため、温度が上昇するとサーミスタの抵抗が減少し、A0の電圧分割が減少し、A0から取得される値が減少し、逆に増加します。

../_images/thermistor_circuit.png

プログラミング

1. スプライトを選択する

デフォルトのスプライトを削除し、スプライトエリアの右下の Choose a Sprite ボタンをクリックして、検索ボックスに Snowflake と入力し、クリックして追加します。

../_images/9_snow.png

2. 変数を2つ作成する

A0の値を異なるケースで保存するための2つの変数、 beforecurrent を作成します。

../_images/9_va.png

3. A0の値を読む

緑の旗がクリックされたとき、A0の値が読み取られ、変数 before に保存されます。

../_images/9_before.png

4. A0の値を再び読む

[forever]の中で、A0の値を再び読み取り、変数 current に保存します。

../_images/9_current.png

5. 温度変化を判断する

[if else]ブロックを使用して、A0の現在の値がbeforeよりも50大きいかどうかを判断します。これは温度の低下を表します。この時点で Snowflake スプライトを表示させ、それ以外の場合は非表示にします。

  • [-] & [>]: Operators パレットからの減算および比較演算子。

../_images/9_show.png