3.3.7 温湿度調整
3.3.7.1 概要

本プロジェクトでは、micro:bit ボード、XHT11 温湿度センサー、130 モーター、加湿モジュール(atomization module)および OLED 表示器を使って温湿度調整システムを構築する方法を紹介します。
システムは XHT11 センサーで周囲の温度と湿度を測定し、必要に応じてファンの回転や加湿モジュールによるミスト噴霧を制御して調整します。温度または湿度が設定した閾値を超えると、ファンを作動させ、加湿モジュールからミストを噴霧します。 同時に OLED には現在の温度と湿度がリアルタイムで表示されます。
温湿度を調整できるため、温湿度管理が必要なプロジェクトに広く応用できます。

3.3.7.2 コンポーネントの知識

XHT11 Temperature and Humidity Sensor

XHT11 温湿度センサーはデジタル信号を出力します。アナログ信号を取得・変換し、温度と湿度を検出して長期安定性と高信頼性を確保します。さらに、高精度の抵抗式湿度センサーと抵抗式温度センサーを内蔵し、8ビットの高性能マイコンに接続されています。
XHT11 の通信方式:
XHT11 は簡略化されたシングルバス通信を採用しています。シングルバスとはデータ線が1本しかないことを意味し、システム内のデータ交換と制御はすべてこの1本で行われます。
シングルバスデータビット送信の定義:
シングルバスデータ形式:40ビットのデータを一度に送信し、上位ビットから出力されます。
8ビット湿度整数部 + 8ビット湿度小数部 + 8ビット温度整数部 + 8ビット温度小数部 + 8ビットパリティビット。湿度の小数部は 0 に注意してください。
パリティビットの定義:
8ビット湿度整数部 + 8ビット湿度小数部 + 8ビット温度整数部 + 8ビット温度小数部。8ビットのパリティビットはこれらの合計の下位8ビットです。

データ時系列図:
ホスト(MCU)が一度スタート信号を送ると、XHT11 は低消費電力モードから高速モードに切り替わります。ホストのスタート信号が終了すると、XHT11 は応答信号を返し、40ビットデータを出力して信号を取得します。信号伝送は下図のように行われます。

⚠️ 注意: ホストが XHT11 から読み取る温度と湿度のデータは常に前回の測定値です。もし2回の測定間隔が長い場合は、連続で2回読み取り、2回目に得られた値をリアルタイム値として使用してください。
回路図:

パラメータ:
動作電圧: DC 3.3V~5V
動作電流: (Max)2.5mA@5V
最大消費電力: 0.0125W
温度範囲: -25 ~ +60℃ (±2℃)
湿度範囲: 5 ~ 95%R(約25℃付近で±5%RHの精度)
出力信号: デジタル双方向シングルバス
Atomization Module(加湿モジュール)

加湿モジュールはドライバと加湿シートで構成され、水を微粒化します。マイコンや手動ボタンで制御できます。
動作原理: 加湿モジュールは一般に超音波技術を用いてミストを生成します。圧電セラミック板を含み、高周波の電圧が加わると振動を始めます。振動により水面上に小さな水滴が集まり、それらが拡散して微細なミストを形成します。
ミストの粒子サイズ: このモジュールは水を通常1〜5ミクロンの微小粒子に効果的に変換できます。この微細なミストは蒸発しやすく空気中に拡散するため、加湿効果が高いです。
⚠️ 注意:
1. 電源を入れた後、加湿シートは必ず水中に設置してください。空気中に長時間放置するとシートが加熱して焼損する恐れがあります。
2. 加湿シートは水面にやさしく置いてください。水没させるとミストが発生しません。
パラメータ:
動作電圧: DC 5V
取り付け穴: 直径4.8mm、ピッチ16mm
寸法: 長さ31mm、幅23mm、高さ8mm
重量: 4.5g
動作温度: -25℃〜+60℃
モジュールインターフェース: 3ピン曲線ピン、ピッチ2.54
加湿シートインターフェース: PH2.0 メス端子
機能: 水を微細なミストに変換して空気中に放出する
加湿シート寸法:

⚠️ 注意: 加湿シートの配線をなるべく引っ張らないでください。はんだ付け部分が剥がれる恐れがあります。
加湿モジュールの使用手順:
制御方法はボタン制御と MCU による制御の2通りがあります。
ボタン制御: ボタンを押すと加湿モジュールがオンになります。再度ボタンを押すとオフになります。
MCU プログラミング制御: ボタンの押下を模擬します。通常は出力が High で、押されたときに Low になります。ボタンを離すと再び High を出力します。
したがって MCU を使う場合、モジュールに短時間の Low レベルを入力すればボタンを押したのと同じ動作になります。High レベルの時間を調整することで加湿モジュールの開始・停止時間を制御できます。
綿棒を取り付ける:
1. 綿棒を十分に水に浸します(綿棒全体が水で覆える大容量の容器を用意し、5分以上浸して十分に水を吸収させてください)。

プラスチックブラケットの内側に加湿シートを取り付けます。シートの向きに注意し、配線をブラケットの溝に通してください。


プラスチックブラケットの反対側を閉じます。

綿棒をブラケットの中央に挿入します。必ず底まで押し込み、加湿シートに触れるまで入れてください。

加湿シートをモジュールの PH2.0 メス端子に接続します(下図参照)。

加湿モジュールを micro:bit shield に接続し、外部電源を接続します。

綿棒を再度水に3分以上浸してください。綿棒ができるだけ水で覆われるようにしますが、水があふれないようにしてください。

モジュールの黒いボタンを押すと噴霧が始まるのが確認できます。ミストは約3秒間噴霧されます。再度ボタンを押すと停止します。
⚠️ 注意: 加湿シートを長時間連続で動作させないでください。1回の動作は5秒を超えないようにし、綿棒が十分に水を含むまで1〜2分ほど休止してから再度動作させることを推奨します。さもないと焼損する可能性があります。



3.3.7.3 必要部品
|
|
|
|---|---|---|
micro:bit V2 main board ×1 |
micro:bit shield ×1 |
atomization module ×1 |
|
|
|
XHT11 temperature and |
OLED display ×1 |
130 motor ×1 |
|
|
|
micro USB cable ×1 |
4 pin wire ×2 |
3 pin wire ×2 |
|
|
|
fan ×1 |
battery holder ×1 |
AA battery(self-prepared) ×6 |
3.3.7.4 配線図
⚠️ 配線する際は、必ず配線色に注意してください。
130 motor |
wire color |
micro:bit shield pin |
micro:bit board pin |
|---|---|---|---|
G |
black |
G |
G |
V |
red |
V2 |
V |
IN+ |
blue |
2 |
P2 |
IN- |
green |
13 |
P13 |
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 |
atomization module |
wire color |
micro:bit shield pin |
micro:bit board pin |
|---|---|---|---|
G |
black |
G |
G |
V |
red |
V2 |
V |
S |
yellow |
16 |
P16 |
XHT11 temperature and |
wire color |
micro:bit shield pin |
micro:bit board pin |
|---|---|---|---|
G |
black |
G |
G |
V |
red |
V1 |
V |
S |
yellow |
0 |
P0 |

3.3.7.5 コードのフロー

3.3.7.6 テストコード
⚠️ if() 条件内の閾値 30 と 70 は実際の状況に応じて変更可能です。
完成コード:


簡単な説明:
① OLED のピクセルを初期化し、OLED をクリアします。5×5 LED マトリクスは
を表示します。temperature と humidity の2つの変数を定義し、初期値を 0 に設定し、加湿モジュールをオフにします。

② XHT11 センサーから読み取った温度値を変数 temperature に、湿度値を変数 humidity に代入します。

③ OLED に XHT11 センサーが検出した温度と湿度の値を表示します。

④ 判定文: if()…else…
検出した温度が 30℃ を超える、または湿度が 70%RH を超える場合、ファンは2秒間回転した後に停止します。その後、加湿モジュールが作動してミストを噴霧し、周囲の温度と湿度を調整します。同時に OLED には「冷却/加湿(Cooling/Humidifying)」と表示されます。

それ以外の場合は、ファンと加湿モジュールは動作せず、OLED には「通常状態(Normal State)」と表示されます。

⑤ 500ms(0.5秒)待機

3.3.7.7 テスト結果

配線を行い、micro USB ケーブルで電源を入れた後、外部電源(単3電池×6)を接続して十分な電力供給を確認します。
Windows 10 アプリの場合は Download をクリックするだけです。ブラウザの場合は、“.hex” ファイルを micro:bit ボードに送信してください。
テストコードを micro:bit ボードにアップロードすると、OLED に XHT11 センサーが検出した温度と湿度の値がリアルタイムで表示されます。
検出した温度が 30℃ を超える、または湿度が 70%RH を超える場合、ファンは2秒間回転した後に停止します。その後、加湿モジュールが作動してミストを噴霧し、周囲の温度と湿度を調整します。同時に OLED には「冷却/加湿(Cooling/Humidifying)」と表示されます。それ以外の場合は、ファンと加湿モジュールは動作せず、OLED には「通常状態(Normal State)」と表示されます。

⚠️ 注意: 実験で使用するブロックはこのキットには含まれていません。
(ヒント: 結果が表示されない場合は、micro:bit ボードのリセットボタンを押してください。)












