### 3.3.6 雨水モニタリング #### 3.3.6.1 概要 ![Img](./media/top1.png) 水検出センサーが雨を検知すると、micro:bit ボードに信号を送りさまざまな動作をトリガーします。例えば、micro:bit のスピーカーでアラームを鳴らして雨が降っていることを知らせたり、OLED に現在の降水量をリアルタイムで表示したりできます。これは屋外の気象や環境で特に有用で、ユーザーが必要な予防措置を取るのに役立ちます。さらに、屋根や建物の漏水を検知して浸水による被害を防ぐための、水検出センサー、OLED 表示、micro:bit ボードを含む雨水監視システムとしても利用可能です。 全体として、さまざまな用途で雨水の存在を検出できる多機能で有効なツールです。 ![Img](./media/bottom1.png) #### 3.3.6.2 コンポーネントの知識 ![Img](./media/2top.png) **水センサー** ![Img](./media/steam.png) 水センサーは水の存在を検出できるため、通常は雨水検出システムに使用されます。雨水がセンサーの導電パッド(検知領域)に接触すると、開発用ボード(micro:bit など)に信号を送り、さまざまな動作をトリガーします。検知領域に水が多いほど、アナログ値は大きくなります。 ![Img](./media/cou41.png) **回路図:** ![Img](./media/couy41.png) 基板上の露出した平行線によって水量を検出します。水が増えるほど多くの配線が接続され、導通の接触面積が増えることで検知領域のピン2の電圧出力が徐々に上昇し、信号端子 S で検出されるアナログ値も大きくなります。水に加えて、空気中の水蒸気も検知できます。 **パラメータ:** - 動作電圧: DC 3.3V~5V - 動作電流: (最大)1.5mA@5V - 最大消費電力: 0.075W - 信号タイプ: アナログ信号 ![Img](./media/2bottom.png) #### 3.3.6.3 必要な部品 | ![Img](./media/microbitV2.png)| ![Img](./media/ExpansionBoard.png) |![Img](./media/OLED.png) | | :--: | :--: | :--: | | micro:bit V2 メインボード ×1 | micro:bit シールド ×1 |OLED ディスプレイ ×1 | |![Img](./media/steam1.png)|![Img](./media/usb.png) |![Img](./media/4pin.png)| | 水センサー ×1 |micro USB ケーブル ×1|4ピンワイヤー ×1 | |![Img](./media/3pin.png)|![Img](./media/batterycase.png)|![Img](./media/AAbattery.png)| |3ピンワイヤー ×1 |電池ホルダー ×1|AA電池(**自前で用意**) ×6| #### 3.3.6.4 配線図 ⚠️ **配線する際は、配線の色に注意してください。** | OLED display | wire color | micro:bit shield pin | micro:bit board pin | | :--: | :--: | :--: | :--: | | GND | black | G | G | | VCC | red | V2 | V | | SDA | blue | 20 | P20 | | SCL | green | 19 | P19 | |steam sensor| wire color | micro:bit shield pin | micro:bit board pin | | :--: | :--: | :--: | :--: | | G | black | G | G | | V | red | V1 | V | | S | yellow | 1 | P1 | ![Img](./media/couj6.png) #### 3.3.6.5 プログラムの流れ ![Img](./media/flow-chart-6.png) #### 3.3.6.6 テスト用コード ⚠️ **“if()...else if()...” 条件の閾値は実際の状況に応じて変更できます。** **Complete code:** ![Img](./media/couj06.png) ![Img](./media/line1.png) **簡単な説明:** ① OLED のピクセルを初期化し、OLED をクリアします。変数 rain の初期値を 0 に設定し、5×5 LED マトリックスに ![Img](./media/ab3.png) を表示します。 ![Img](./media/cou18.png) ② 水センサーで読み取った降水量を変数 rain に代入し、OLED に 1 行で降水量を表示します。 ![Img](./media/cou19.png) ③ 判定文: if()...else if()...else... 検出された降水量が 15% より大きく 60% 未満の場合、5×5 LED マトリックスは ![Img](./media/ab2.png) を表示し、スピーカーは警告として C3 フラット音を再生します。 ![Img](./media/cou20.png) 検出された降水量が 60% 以上の場合、5×5 LED マトリックスは ![Img](./media/ab5.png) を表示し、スピーカーは警告として B5 シャープ音を再生します。 ![Img](./media/cou21.png) それ以外の場合、5×5 LED は ![Img](./media/ab3.png) を表示し、スピーカーは無音です。 ![Img](./media/cou22.png) ④ 1000ms(1秒)遅延します。 ![Img](./media/cou05.png) #### 3.3.6.7 テスト結果 ![Img](./media/4top.png) 配線を行い、micro USB ケーブルで電源を入れた後、外部電源(単三電池 6 本)を接続して十分な電力供給を確保してください。 Windows 10 用アプリでは、ダウンロードをクリックするだけです。ブラウザの場合は、“.hex” ファイルを micro:bit ボードに送ってください。 テストコードを micro:bit ボードにアップロードすると、OLED に検出された降水量がリアルタイムで表示されます。(**例:濡らした手で水センサーの検知領域に触れて雨をシミュレートしてください**) 検出された降水量が 15% より大きく 60% 未満の場合、5×5 LED マトリックスは ![Img](./media/ab2.png) を表示し、スピーカーは警告として C3 フラット音を再生します。検出された降水量が 60% 以上の場合、5×5 LED マトリックスは ![Img](./media/ab5.png) を表示し、スピーカーは警告として B5 シャープ音を再生します。降水量が 15% 未満の場合は、5×5 LED は ![Img](./media/ab3.png) を表示し、スピーカーは無音になります。 ![Img](./media/dongtu-6.gif) ⚠️ **注意:実験で使われているブロック(building blocks)はこのキットには含まれていません。** (**ヒント:** 結果が表示されない場合は、micro:bit ボードのリセットボタンを押してください。) ![Img](./media/4bottom.png)