### 3.3.9 Micro:bit マルチセンサー OLED 監視プラットフォーム #### 3.3.9.1 概要 ![Img](./media/top1.png) このプロジェクトでは、micro:bit ボードをコア処理ユニットとして使用し、内蔵センサー(光センサー、温度センサー、マイク)および外部センサー(PM2.5 ダストセンサー、降雨(または蒸気)センサー、太陽紫外線センサーなど)の値を読み取り、I2C インターフェースを介してこれらの値を OLED にリアルタイムで表示します。 同時に、130モータモジュール上のファンの回転は micro:bit ボードのボタンAを押すことで制御でき、噴霧(アトマイザー)モジュールからの水霧の噴射は micro:bit ボードのボタンBを押すことで制御できます。 ![Img](./media/bottom1.png) #### 3.3.9.2 必要部品 | ![Img](./media/microbitV2.png)| ![Img](./media/ExpansionBoard.png) |![Img](./media/OLED.png)| | :--: | :--: | :--: | | micro:bit V2 ボード ×1 | micro:bit シールド ×1 |OLED ディスプレイ ×1 | |![Img](./media/PM2.5-1.png) |![Img](./media/motor.png)|![Img](./media/steam1.png)| | PM2.5 ダストセンサー ×1 |モーター ×1 |降雨(蒸気)センサー ×1 | |![Img](./media/UV-sensor1.png)|![Img](./media/batterycase.png)| ![Img](./media/AAbattery.png)| |紫外線センサー ×1|電池ホルダー ×1|AA電池(**各自で準備**) ×6| |![Img](./media/usb.png) |![Img](./media/4pin.png)|![Img](./media/3pin.png)| | micro USB ケーブル ×1|4ピン線 ×3 |3ピン線 ×3 | |![Img](./media/Atomization1.png) | ![Img](./media/fan.png) | | |噴霧モジュール ×1|ファン ×1| | #### 3.3.9.3 配線図 ⚠️ **配線時はワイヤーの色にご注意ください。** |紫外線センサー| 線の色 | micro:bit シールドのピン |micro:bit ボードのピン | | :--: | :--: | :--: | :--: | | G | black | G | G | | V | red | V2 | V | | S | yellow | 0 | P0 | |降雨センサー| 線の色 | micro:bit シールドのピン |micro:bit ボードのピン | | :--: | :--: | :--: | :--: | | G | black | G | G | | V | red | V1 | V | | S | yellow | 1 | P1 | | PM2.5 ダストセンサー | 線の色 | micro:bit シールドのピン |micro:bit ボードのピン | | :--: | :--: | :--: | :--: | | GND | black | G | G | | VCC | red | V2 | V | | LED | blue | 9 | P9 | | OUT | green | 2 | P2 | | 噴霧モジュール | 線の色 | micro:bit シールドのピン |micro:bit ボードのピン | | :--: | :--: | :--: | :--: | | G | black | G | G | | V | red | V2 | V | | S | yellow | 16 | P16 | | モーター | 線の色 | micro:bit シールドのピン |micro:bit ボードのピン | | :--: | :--: | :--: | :--: | | G | black | G | G | | V | red | V2 | V | | IN+ | blue | 13 | P13 | | IN- | green | 15 | P15 | | OLED ディスプレイ | 線の色 | micro:bit シールドのピン |micro:bit ボードのピン | | :--: | :--: | :--: | :--: | | GND | black | G | G | | VCC | red | V2 | V | | SDA | blue | 20 | P20 | | SCL | green | 19 | P19 | ![Img](./media/couj11.png) #### 3.3.9.4 コードの流れ ![Img](./media/flow-chart-11.png) #### 3.3.9.5 テスト用コード **Complete code:** ![Img](./media/couj011.png) ![Img](./media/line1.png) **簡単な説明:** ① OLED のピクセルを初期化し、OLED をクリアします。5×5LED マトリックスは ![Img](./media/ab3.png) を表示します。変数 Total_Sound, Sample_Num, Threshold_Value, Final_Volume, UV, Rain, Temperature, Light、Sound, pm2.5_dust の初期値を 0 に定義します。 ![Img](./media/cou42.png) ② フィルタ後の音の強度。 ![Img](./media/cou43-1.png) ③ 光強度、音量、温度、紫外線、降雨量および PM2.5 ダスト濃度の値を読み取ります。 ![Img](./media/cou43.png) ④ 判定文: if()...else... micro:bit ボードのボタンAを押すとモーターが駆動し、ファンが動作します。押さない場合、ファンは回転しません。 ![Img](./media/cou44.png) ⑤ 判定文: if()...else... micro:bit ボードのボタンBを押すと噴霧モジュールが水霧を噴射します。押さない場合は動作しません。 ![Img](./media/cou440.png) ⑥ 紫外線、温度、降雨量、光強度、音量および PM2.5 濃度の値を OLED に表示します。 ![Img](./media/cou45.png) #### 3.3.9.6 テスト結果 ![Img](./media/4top.png) 配線を行い、micro USB ケーブルで電源を入れた後、外部電源(単三電池6本)を接続して十分な電源供給を確保してください。 Windows 10 用アプリでは、Download をクリックするだけです。ブラウザの場合は、".hex" ファイルを micro:bit ボードに送信してください。 テスト用コードを micro:bit ボードにアップロードすると、内蔵センサー(光センサー、温度センサー、マイク)および外部センサー(PM2.5 ダストセンサー、降雨(蒸気)センサー、太陽紫外線センサーなど)の値を読み取り、I2C インターフェースの OLED ディスプレイ画面で光強度、温度、ノイズ強度、降雨強度、日光の紫外線強度、PM2.5 ダスト濃度をリアルタイムかつ直感的に表示できます。 micro:bit ボードのマイクに向かって息を吹きかける(または非常に大きな音を出す)と(⚠️ **特別な注意:息を吹きかける方がより明確な効果があります**)、OLED 表示に息を吹きかけた強さ(またはノイズの強度)が表示されます。 micro:bit ボードのボタンAを押すとモーターモジュール上のファンが回転します。ボードのボタンBを押すと噴霧モジュールが水霧を噴射します。 ⚠️ **特別な注意:** 時々外部電源の電圧が不足する場合があります。そのような場合、ファンが回転したり噴霧モジュールが噴霧を開始するまで micro:bit ボードのボタンを二度押す必要があることがあります。 ![Img](./media/dongtu-9.gif) ⚠️ **重要な注意:** OLED 画面に表示されるデータが断続的にフリーズする場合があります。これは複数のセンサモジュールが同時に動作することで電圧と電流が不足しているためです。Micro:bit 本体の裏側にあるリセットボタンを押してください。 ⚠️ **注: 実験で使用するブロックはこのキットに含まれていません。** ((**ヒント:** 結果が表示されない場合は、micro:bit ボードのリセットボタンを押してください。)) ![Img](./media/4bottom.png)