前回は開発ボード上にあるLEDを光らせました。しかし、ただピカピカさせるだけでは水耕栽培に使えそうもありません。そこで今回はセンサーモジュールを使って、空気の温湿度を測れるようにします。やはり野菜の栽培では温度が重要なので、これが分かると良いですね。それではIoTで水耕栽培の3回目のスタートです。
用意するもの
- ESP32-WROOM-32 開発ボード(DOIT社 V1互換機)
- 温湿度センサーモジュール DHT22(AM2302)
準備
- 開発ボードのGND, 3.3v, 15ピンをセンサーモジュールと繋ぐ
スケッチ
#include <DHT.h>
const int PIN_DHT = 15;
DHT dht(PIN_DHT,DHT22);
void setup() {
dht.begin(); //dhtライブラリの初期化
Serial.begin(115200);
}void loop() {
float temperature = dht.readTemperature(); //温度の取得
float humidity = dht.readHumidity(); //湿度の取得//温湿度を出力
Serial.print("温度:");
Serial.print(temperature);
Serial.print("℃");
Serial.print(", ");
Serial.print("湿度:");
Serial.print(humidity);
Serial.println("%");//待機
delay(3000);
}
解説
今回使用したのは温湿度センサーである『DHT22』を載せたモジュールです。DHT22を単体で使う時にはプルアップ抵抗を入れる必要があります。しかしこのモジュールには抵抗器すでに組み込まれているので、開発ボードと繋ぐだけで温度と湿度を測れます。
DHT22のスペックを簡単にまとめると、
温度センサー部
・測定範囲:-40~+80℃
・精度:±0.5℃
・繰り返し精度:±0.2℃
・レスポンス:10秒以内(1/e (63%))
湿度センサー部
・測定範囲:0~99.9%RH
・精度:±2% RH(@25℃)
・繰り返し精度:±0.3% RH
・レスポンス:5秒以内(1/e (63%)、@25℃、風速1m/s)
です。サンプリング間隔は2秒ですので、それ以上の長さでデータを取り込みましょう。
※クリックで拡大
実際に室内を測った結果がこちらになります。下二桁まで表示されていますが、実際の分解能は下一桁までです。
※クリックで拡大
赤い枠で囲った部分は温度と湿度が急激に上がっています。これはセンサー部分を手で包み込んでいた時で、特に湿度が急上昇しているのが分かりますね。
このモジュールを栽培している野菜の近くに置けば、簡単に温湿度を測ることができます。しかし1つ問題があります。それはデータを「見る」ことはできても、『保存できていない』のです。電源を入れるたびにリセットされ、過去にどんな気温・湿度だったか知るすべがありません。
解決策としては、無線通信で測定データを送って、どこかに保存すればOKです。次回はその前準備として、開発ボードをインターネットに繋いでみましょう。
DSD TECH DHT22 温湿度センサーモジュール AM2302チップ付き
《Amazonでの検索結果はこちら》
温湿度センサーと抵抗器を単体で購入し、それぞれを繋ぐことでも測れます。しかしここは手軽に、また配線の本数を減らすために、これらが1つの基盤に載った「モジュール」を使いました。配線を繋ぐだけですぐにデータを取れるのでとても楽です。
HiLetgo ESP32 ESP-32S NodeMCU開発ボード2.4GHz WiFi + Bluetoothデュアルモード
《Amazonでの検索結果はこちら》
今回、温湿度センサーを繋げたのが「ESP32-WROOM-32 開発ボード」です。無線通信機能は次回以降で紹介したいと思います。形が微妙に似ているボードもあるので、間違えないように購入しましょう。
【IoTで水耕栽培 参考記事】
- IoTで水耕栽培 第1回目。目指せ、水耕栽培とウェブの融合!
- IoTで水耕栽培 第2回目。基板上のLEDを光らせましょう
- IoTで水耕栽培 第3回目。センサーモジュールを繋げて温湿度を測定しましょう
- IoTで水耕栽培 第4回目。ESP32開発ボードをインターネットに接続します
- IoTで水耕栽培 第5回目。Googleスプレッドシートに測定データを送信します
- IoTで水耕栽培 第6回目。温湿度センサーで取得したデータを無線で飛ばしましょう
- IoTで水耕栽培 第7回目(最終回)。栽培装置にセンサーを入れて26時間のデータ取りを行います