本研究室では、温湿度データに基づいてミストを自動制御する装置を、市販部品を用いて構築しました。
施設内の乾燥および高温に対応し、必要なときにのみ最小限のミストを噴霧する仕組みです。
制御には Arduino(アルドゥイーノ) という小型のマイコンボードを使用しています。
Arduinoは、センサーの値を読み取り、条件に応じて機器を動かすことができる安価で扱いやすい制御基板です。教育・研究・試作など幅広い分野で利用されています。
本装置は、市販の制御機器よりも低コストで構築でき、仕組みを理解しながら運用できる点が特徴です。
乾燥しすぎた場合の自動ミスト噴霧
高温時の冷却ミスト噴霧
噴霧回数の制限(出しすぎ防止)
噴霧履歴の記録と確認(CSV出力対応)
用途に応じて、以下の3種類のプログラムを用意しています。
乾燥対策タイプ
湿度低下(VPD上昇)時に噴霧します。
高温対策タイプ
温度上昇時に冷却目的で噴霧します。
乾燥+高温 両対応タイプ
年間を通して利用可能な制御です。
制御条件(閾値・時間帯・噴霧間隔など)は変更可能です。
制御時間帯:9:30〜16:00
噴霧時間:20秒
クールダウン:10分
1時間あたり最大2回
※設定値は環境や目的に応じて調整できます。
Arduino(制御用マイコン):Arduino UNO R4 Minima
Arduino シールド:Xian DIY Arduino Uno R4 ターミナルシールド
温湿度センサー:OSOYOO DHT22
RTC(時刻管理):WINGONEER 小型DS3231
FRAM(ログ保存):Hailege MB85RC256V 32KB
リレー:ANMBEST 5Vリレーモジュール
制御トランス:スワロー電機 R1-2405
電源:Punasi 9V 2A AC/DCアダプター 5.5×2.5mm
組端子台(6端子):T10-06
プラボックス:P12-1525A(もう少し大きなものをお勧めします)
24VAC電磁弁:NETAFIM AquaNet Plus 24 volt AC
ミストノズル
アクリル板
ケーブル・コード類
デュポンワイヤー
ボルト・スペーサー(M2・M3)
結束バンド
絶縁テープ
熱収縮チューブ
WAGO ワンタッチコネクター
ユニバーサル基板
エーモン(amon) カプラー用端子セット
いずれも市販部品で構築可能です。
本装置の製作に使用した主な工具は以下の通りです。
圧着ペンチ(JST端子用)
ニッパー
ワイヤーストリッパー
はんだごて
はんだ
六角レンチ
ドリル(2mm、3mm)
ピンバイス
センターポンチ
パイプソー
テスター(電圧確認用)
小型ドライバー
ホットボンド(グルーガン)
本装置では、5VおよびGNDを複数の機器に分岐する必要があります。
試作段階では、WAGOのワンタッチコネクターを用いて分岐配線を行いました。
ワンタッチコネクターは配線の変更が容易で、動作確認や調整に適しています。
最終的には、配線を安定させるため、ユニバーサル基板上に5VおよびGNDの分岐回路を作成し、はんだ付けで固定しました。
これにより、配線の抜けや接触不良のリスクを低減しています。
※ すべての機器のGNDは必ず共通にしてください。
Arduino本体が正常に動作し、パソコンから書き込みできることを確認します。
Arduino IDEをインストールします。
Arduino IDEは、Arduinoにプログラムを書き込むためのソフトウェアです。
サンプルスケッチ「Blink」を書き込みます。
基板上のLEDが点滅することを確認します。
※ IDEのインストール方法やスケッチの書き込み方法については、公式サイトや解説記事をご参照ください。
RTCモジュールが正しく接続され、現在時刻を取得できることを確認します。
RTCモジュール(DS3231)をArduinoに接続します。
VCC → Arduino 5V
GND → Arduino GND
SDA → Arduino SDA
SCL → Arduino SCL
※ 本装置では、Arduino本体にターミナルシールドを取り付けて使用しています。
ターミナルシールドを使用すると、各ピンをネジ止め端子で接続できるため、配線が安定し、メンテナンスもしやすくなります。
時刻表示用のテストスケッチを書き込みます。
シリアルモニタで現在時刻が表示されることを確認します。
表示される時刻が現在時刻と一致していない場合は、
時刻合わせ用スケッチを使用してRTCの時刻を設定してください。
本装置では、コンパイル時刻を書き込むタイプの時刻設定スケッチを用意しています。
一度設定すれば、その後はバックアップ電池により時刻が保持されます。
※ SDA・SCLはI2C通信端子です。
※ 配線ミスがあると「RTC not found」と表示されます。
※ ボタン電池(CR2032など)が正しく装着されていることを確認してください。
温湿度センサーが正しく動作しているか確認します。
シリアルモニタに温度と湿度が表示されれば成功です。
温湿度センサーの端子を以下のように接続します。
VCC → Arduino 5V
GND → Arduino GND
DATA → Arduino デジタルピン(例:D2)
※ 本例ではD2を使用しています。プログラム側と一致させてください。
温湿度テスト用スケッチを書き込みます。
シリアルモニタを開きます。
温度(℃)と湿度(%)が表示されることを確認します。
温湿度センサーは、直射日光が当たらない場所に設置してください。
直射日光が当たると、実際の気温より高く測定されることがあります。
本装置では、センサーを紙コップで覆い、簡易的な遮光・放射対策を行っています。
これにより、日射による誤差を抑えています。
※ 完全密閉しないように注意してください。通気性は確保します。
VCCとGNDを逆に接続しないでください。
センサーの型番(DHT22 / DHT11)をプログラムと一致させてください。
リレーが正しくON/OFFできるか確認します。
リレーが一定間隔で動作すれば成功です。
リレーモジュールの端子を以下のように接続します。
VCC → Arduino 5V
GND → Arduino GND
IN → Arduino デジタルピン(例:D7)
※ 本例ではD7を使用しています。プログラムと一致させてください。
リレーテスト用スケッチを書き込みます。
リレーが一定間隔でON/OFFすることを確認します。
※ この段階では電磁弁は接続しないことを推奨します。
リレーの仕様(HIGHでONかLOWでONか)を確認してください。
ArduinoとリレーのGNDは共通にしてください。
リレーを介して電磁弁を制御できることを確認します。
電磁弁はリレーの出力側(NO端子)に接続します。
電磁弁用電源(例:24VAC)はリレーを経由して接続します。
リレー制御スケッチまたは本番プログラム(後述)を書き込みます。
電磁弁が正常に開閉することを確認します。
24V系統は感電・ショートに注意してください。
水回りの配線は確実に防水処理を行ってください。
電源を入れたまま配線作業をしないでください。
電磁弁および制御トランスからの配線は、閉端接続子(圧着式)を用いて接続しています。
確実に圧着し、引っ張っても抜けないことを確認してください。
水回りで使用するため、必要に応じて防水処理を行ってください。
噴霧履歴(時刻・温湿度・VPDなど)を保存するためのメモリを接続します。
ログが保存・読み出しできれば成功です。
I2C接続FRAM(例:MB85RC256)
FRAMモジュールの端子を以下のように接続します。
VCC → Arduino 5V
GND → Arduino GND
SDA → Arduino SDA
SCL → Arduino SCL
※ RTCと同じI2Cバスに接続します(SDA・SCLは共通接続)。
STEP7で本番プログラムを書き込んだ後、シリアルモニタで「d」キーを入力し、ログが表示されることを確認します。
例:
date,time,event,ev,pulse_s,forced,T_C,RH_pct,VPD_kPa
2026-01-27,09:00:00,MIST_DRY_VPD,2,20,0,22.1,28.5,1.95
表示されれば正常です。
I2Cアドレス(通常0x50)が他の機器と重複していないか確認してください。
SDA・SCLはRTCと並列接続します。
GNDは必ず共通にしてください。
温湿度およびVPDに基づく自動ミスト制御を開始します。
本装置では、用途に応じて以下の3種類の本番制御プログラムを用意しています。
乾燥対策タイプ
VPD(飽差)が一定値以上になった場合に噴霧します。
高温対策タイプ
温度が一定値以上になった場合に冷却目的で噴霧します。
乾燥+高温 両対応タイプ
温度を優先しつつ、乾燥状態にも対応する通年運用型の制御です。
目的に応じて適切なプログラムを選択してください。
使用する本番制御プログラムをArduinoに書き込みます。
シリアルモニタを開き、起動メッセージが表示されることを確認します。
必要に応じて、VPD閾値や噴霧時間などの設定値を調整します。
条件を満たしたときにリレーが動作することを確認します。
ログ出力(シリアルモニタで「d」キー入力)により、噴霧履歴が記録されていることを確認します。
最初に動作確認を行う場合は、安全のため電磁弁を接続せず、リレーのみで確認することを推奨します。
噴霧時には以下のデータを記録します。
日付・時刻
噴霧種別
噴霧時間
温度
湿度
VPD(飽差)
データはCSV形式で取得でき、Excel等で解析可能です。
電気配線は適切に施工してください。
防水および漏電対策を十分に行ってください。
高電圧部(電磁弁側)には注意してください。
本装置では当初、ログ保存先としてマイクロSDカードリーダーの導入も試しましたが、環境によって動作が不安定になり、うまく動作しませんでした。
このとき、電源の揺れ(ノイズ)を疑い、デカップリング(電源ラインにコンデンサを追加する対策)を行いました。
その後、ログ保存方式をFRAMに切り替えた現在も、念のためコンデンサは取り付けたまま運用しています。
FRAMは比較的安定して動作するため、必ずしもデカップリングが必要とは限りませんが、ログが保存されない/読み出しが不安定といった症状が出る場合は、電源ラインのデカップリングを追加すると改善することがあります。
本装置は、施設環境の見える化と制御の高度化を目的として構築したものです。
本ページの内容は、筆者自身が試行錯誤しながら構築した記録をまとめたものです。
Arduinoや電気工作の専門家ではありませんが、分かる範囲でお答えいたします。
技術的なご質問等がありましたら、伊藤までお問い合わせください。 (E-mail: itotakes[at]kochi-u.ac.jp)