3.3.7 温湿度調整

3.3.7.1 概要

Img

本プロジェクトでは、micro:bit ボード、XHT11 温湿度センサー、130 モーター、加湿モジュール(atomization module)および OLED 表示器を使って温湿度調整システムを構築する方法を紹介します。

システムは XHT11 センサーで周囲の温度と湿度を測定し、必要に応じてファンの回転や加湿モジュールによるミスト噴霧を制御して調整します。温度または湿度が設定した閾値を超えると、ファンを作動させ、加湿モジュールからミストを噴霧します。 同時に OLED には現在の温度と湿度がリアルタイムで表示されます。

温湿度を調整できるため、温湿度管理が必要なプロジェクトに広く応用できます。

Img

3.3.7.2 コンポーネントの知識

Img

XHT11 Temperature and Humidity Sensor

Img

XHT11 温湿度センサーはデジタル信号を出力します。アナログ信号を取得・変換し、温度と湿度を検出して長期安定性と高信頼性を確保します。さらに、高精度の抵抗式湿度センサーと抵抗式温度センサーを内蔵し、8ビットの高性能マイコンに接続されています。

XHT11 の通信方式:

XHT11 は簡略化されたシングルバス通信を採用しています。シングルバスとはデータ線が1本しかないことを意味し、システム内のデータ交換と制御はすべてこの1本で行われます。

  • シングルバスデータビット送信の定義:

    • シングルバスデータ形式:40ビットのデータを一度に送信し、上位ビットから出力されます。

    • 8ビット湿度整数部 + 8ビット湿度小数部 + 8ビット温度整数部 + 8ビット温度小数部 + 8ビットパリティビット。湿度の小数部は 0 に注意してください。

  • パリティビットの定義:

    • 8ビット湿度整数部 + 8ビット湿度小数部 + 8ビット温度整数部 + 8ビット温度小数部。8ビットのパリティビットはこれらの合計の下位8ビットです。

Img

データ時系列図:

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

Img

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

回路図:

Img

パラメータ:

  • 動作電圧: DC 3.3V~5V

  • 動作電流: (Max)2.5mA@5V

  • 最大消費電力: 0.0125W

  • 温度範囲: -25 ~ +60℃ (±2℃)

  • 湿度範囲: 5 ~ 95%R(約25℃付近で±5%RHの精度)

  • 出力信号: デジタル双方向シングルバス

Atomization Module(加湿モジュール)

Img

加湿モジュールはドライバと加湿シートで構成され、水を微粒化します。マイコンや手動ボタンで制御できます。

動作原理: 加湿モジュールは一般に超音波技術を用いてミストを生成します。圧電セラミック板を含み、高周波の電圧が加わると振動を始めます。振動により水面上に小さな水滴が集まり、それらが拡散して微細なミストを形成します。

ミストの粒子サイズ: このモジュールは水を通常1〜5ミクロンの微小粒子に効果的に変換できます。この微細なミストは蒸発しやすく空気中に拡散するため、加湿効果が高いです。

⚠️ 注意:

1. 電源を入れた後、加湿シートは必ず水中に設置してください。空気中に長時間放置するとシートが加熱して焼損する恐れがあります。

2. 加湿シートは水面にやさしく置いてください。水没させるとミストが発生しません。

パラメータ:

  • 動作電圧: DC 5V

  • 取り付け穴: 直径4.8mm、ピッチ16mm

  • 寸法: 長さ31mm、幅23mm、高さ8mm

  • 重量: 4.5g

  • 動作温度: -25℃〜+60℃

  • モジュールインターフェース: 3ピン曲線ピン、ピッチ2.54

  • 加湿シートインターフェース: PH2.0 メス端子

  • 機能: 水を微細なミストに変換して空気中に放出する

加湿シート寸法:

Img

⚠️ 注意: 加湿シートの配線をなるべく引っ張らないでください。はんだ付け部分が剥がれる恐れがあります。

加湿モジュールの使用手順:

制御方法はボタン制御と MCU による制御の2通りがあります。

ボタン制御: ボタンを押すと加湿モジュールがオンになります。再度ボタンを押すとオフになります。

MCU プログラミング制御: ボタンの押下を模擬します。通常は出力が High で、押されたときに Low になります。ボタンを離すと再び High を出力します。

したがって MCU を使う場合、モジュールに短時間の Low レベルを入力すればボタンを押したのと同じ動作になります。High レベルの時間を調整することで加湿モジュールの開始・停止時間を制御できます。

綿棒を取り付ける:

1. 綿棒を十分に水に浸します(綿棒全体が水で覆える大容量の容器を用意し、5分以上浸して十分に水を吸収させてください)。

Img

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

Img

Img

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

Img

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

Img

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

Img

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

Img

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

Img

  1. モジュールの黒いボタンを押すと噴霧が始まるのが確認できます。ミストは約3秒間噴霧されます。再度ボタンを押すと停止します。

⚠️ 注意: 加湿シートを長時間連続で動作させないでください。1回の動作は5秒を超えないようにし、綿棒が十分に水を含むまで1〜2分ほど休止してから再度動作させることを推奨します。さもないと焼損する可能性があります。

Img

Img

Img

3.3.7.3 必要部品

Img

Img

Img

micro:bit V2 main board ×1

micro:bit shield ×1

atomization module ×1

Img

Img

Img

XHT11 temperature and
humidity sensor ×1

OLED display ×1

130 motor ×1

Img

Img

Img

micro USB cable ×1

4 pin wire ×2

3 pin wire ×2

Img

Img

Img

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
humidity sensor

wire color

micro:bit shield pin

micro:bit board pin

G

black

G

G

V

red

V1

V

S

yellow

0

P0

Img

3.3.7.5 コードのフロー

Img

3.3.7.6 テストコード

⚠️ if() 条件内の閾値 30 と 70 は実際の状況に応じて変更可能です。

完成コード:

Img

Img

簡単な説明:

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

Img

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

Img

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

Img

④ 判定文: if()…else…

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

Img

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

Img

⑤ 500ms(0.5秒)待機

Img

3.3.7.7 テスト結果

Img

配線を行い、micro USB ケーブルで電源を入れた後、外部電源(単3電池×6)を接続して十分な電力供給を確認します。

Windows 10 アプリの場合は Download をクリックするだけです。ブラウザの場合は、“.hex” ファイルを micro:bit ボードに送信してください。

テストコードを micro:bit ボードにアップロードすると、OLED に XHT11 センサーが検出した温度と湿度の値がリアルタイムで表示されます。

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

Img

⚠️ 注意: 実験で使用するブロックはこのキットには含まれていません。

(ヒント: 結果が表示されない場合は、micro:bit ボードのリセットボタンを押してください。)

Img