### 3.3.9 Micro:bit マルチセンサー OLED 監視プラットフォーム
#### 3.3.9.1 概要

このプロジェクトでは、micro:bit ボードをコア処理ユニットとして使用し、内蔵センサー(光センサー、温度センサー、マイク)および外部センサー(PM2.5 ダストセンサー、降雨(または蒸気)センサー、太陽紫外線センサーなど)の値を読み取り、I2C インターフェースを介してこれらの値を OLED にリアルタイムで表示します。
同時に、130モータモジュール上のファンの回転は micro:bit ボードのボタンAを押すことで制御でき、噴霧(アトマイザー)モジュールからの水霧の噴射は micro:bit ボードのボタンBを押すことで制御できます。

#### 3.3.9.2 必要部品
| |  ||
| :--: | :--: | :--: |
| micro:bit V2 ボード ×1 | micro:bit シールド ×1 |OLED ディスプレイ ×1 |
| |||
| PM2.5 ダストセンサー ×1 |モーター ×1 |降雨(蒸気)センサー ×1 |
||| |
|紫外線センサー ×1|電池ホルダー ×1|AA電池(**各自で準備**) ×6|
| |||
| micro USB ケーブル ×1|4ピン線 ×3 |3ピン線 ×3 |
| |  | |
|噴霧モジュール ×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 |

#### 3.3.9.4 コードの流れ

#### 3.3.9.5 テスト用コード
**Complete code:**


**簡単な説明:**
① OLED のピクセルを初期化し、OLED をクリアします。5×5LED マトリックスは  を表示します。変数 Total_Sound, Sample_Num, Threshold_Value, Final_Volume, UV, Rain, Temperature, Light、Sound, pm2.5_dust の初期値を 0 に定義します。

② フィルタ後の音の強度。

③ 光強度、音量、温度、紫外線、降雨量および PM2.5 ダスト濃度の値を読み取ります。

④ 判定文: if()...else...
micro:bit ボードのボタンAを押すとモーターが駆動し、ファンが動作します。押さない場合、ファンは回転しません。

⑤ 判定文: if()...else...
micro:bit ボードのボタンBを押すと噴霧モジュールが水霧を噴射します。押さない場合は動作しません。

⑥ 紫外線、温度、降雨量、光強度、音量および PM2.5 濃度の値を OLED に表示します。

#### 3.3.9.6 テスト結果

配線を行い、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 ボードのボタンを二度押す必要があることがあります。

⚠️ **重要な注意:** OLED 画面に表示されるデータが断続的にフリーズする場合があります。これは複数のセンサモジュールが同時に動作することで電圧と電流が不足しているためです。Micro:bit 本体の裏側にあるリセットボタンを押してください。
⚠️ **注: 実験で使用するブロックはこのキットに含まれていません。**
((**ヒント:** 結果が表示されない場合は、micro:bit ボードのリセットボタンを押してください。))
