
静電容量型の土壌湿度センサを使ってArduinoで土の水分量測定
はじめに 静電容量型の土壌湿度センサを使ってArduinoやESP32で土の水分量を測定します。この記事では、センサの防水加工、配線、アナログ値の読み取り、0〜100への換算、自動水やり機やデータロガーへの発展までをまとめます。水やり管理に使う場合は、センサ値を絶対値として信じすぎず、土や鉢ごとに乾いた状態と湿った状態を測って基準を作るのが大事です。 まず用意するもの 静電容量式 土壌湿度センサ Arduino Uno ESP32 DevKitC ジャンパーワイヤ 最小構成なら 土壌湿度センサ と Arduino Uno か ESP32、それに ジャンパーワイヤ があれば動作確認できます。乾電池運用を考えている場合は、記事中でも触れている通り 定電圧化 のための DC-DC コンバータもあると安心です。 防水加工を施した静電容量型土壌湿度センサ 静電容量型の土壌湿度センサです。市販のCapacitive Soil Moisture Sensorを、実際の現場で使いやすいよう改造しました。 基板の防水加工 センサの反応速度の改善 ブレッドボードで刺せるジャンプワイヤーの実装 2Mのセンサケーブルを延長 植物の根を痛めないよう先端を丸く加工 ジャンプワイヤーのカラー対応は次のとおり。 ジャンプワイヤー 役割 赤 Vcc 黒 GND 白 アナログ出力電圧 土壌湿度センサの使い方 土壌湿度センサの電源電圧Vdd、アナログ出力電圧範囲、消費電流は次のとおり。ArduinoやESP32でご使用になれます。 項目 内容 電源電圧 3.3〜5.5V アナログ出力電圧範囲 0〜3V 消費電流 5mA 水分量が多い状態ではアナログ出力電圧値が低くなります。乾燥している状態ではアナログ電圧値は高くなります。 電源電圧は必ず定電圧を使用してください。乾電池で動かすと電圧降下によってアナログ出力電圧まで変化してしまいます。 乾電池を使いたい場合は、DC-DCコンバータなど使って定電圧を作って下さい。 以前乾電池で動かしてた時のこと。なぜか水分量が上昇してしまいました。不思議に思っていましたが実はこれ、電池の電圧降下が影響した結果だったんです。 土にどのくらい埋めれば良いのかですが、推奨されるのはセンサの半分程度です。 防水加工を施されたものなら気にせずに土中に埋めても大丈夫です。 センサによってはアナログ出力電圧にバラツキがあります。また土中への差し込み具合や、土の成分によっても出力が異なります。ここら辺は実際に使用しながらご研究なさってください。 マイコンボードとの配線 マイコンボードと土壌湿度センサの配線例を図に示しました。 電源電圧Vddは3.3Vまたは5Vのどちらでも構いません。アナログ電圧出力(AOUT)はマイコン側のアナログ入力へ。ADコンバータが使えるピンでしたらどこでも構いません。水分量に応じてアナログ出力電圧が0V〜3Vの範囲で変化します。 ...

