容量性土壌湿度モジュール

../_images/10_soil_mositure_module.png

概要

この土壌湿度モジュールは、土壌の水分含有率を測定するセンサーです。主に農業で使用され、土壌の湿度を監視し、農家が作物に水をやるタイミングを判断するのに役立ちます。

原理

この容量性土壌湿度センサーは、市場の多くの抵抗性センサーとは異なり、容量性誘導の原理を使用して土壌の湿度を検出します。これにより、抵抗性センサーが高度に腐食に対して敏感であるという問題を回避し、その耐用年数を大幅に延ばします。

耐腐食性の素材で作られており、優れた耐久性があります。植物の周りの土壌に挿入し、リアルタイムで土壌の湿度データを監視します。このモジュールには、オンボードの電圧レギュレータがあり、3.3〜5.5Vの電圧範囲で動作します。3.3Vおよび5Vの電源を持つ低電圧マイクロコントローラに最適です。

以下に、容量性土壌湿度センサーのハードウェア回路図を示します。

../_images/10_solid_schematic.png

固定周波数のオシレーターがあり、これは555タイマーICで構築されています。生成された矩形波は、センサーにキャパシターのように供給されます。しかし、この矩形波信号に対して、キャパシターはある程度のリアクタンス、または議論のために、純粋なオーム抵抗(ピン3の10k抵抗)と電圧分配器を形成します。

土壌の湿度が高いほど、センサーの容量が高くなります。その結果、矩形波はリアクタンスが少なく、信号線上の電圧が減少し、マイクロコントローラーを介したアナログ入力の値が小さくなります。

使い方

使用する電子部品

  • Arduino Uno R4またはR3ボード * 1

  • 土壌湿度モジュール * 1

  • ジャンパーワイヤー

回路の組み立て

../_images/10_soil_mositure_module_circuit.png

コード



コードの説明

1. センサーピンの定義 このコードの部分では、定数整数として sensorPin が定義され、値A0が割り当てられます。A0は、土壌湿度センサーが接続されているArduinoボードのアナログ入力ピンです。

const int sensorPin = A0;

2. シリアル通信の設定 setup() 関数は、Arduinoが電源投入またはリセットされたときに一度呼び出されます。ここで9600ボーレートでシリアルライブラリを初期化します。ボーレートは情報が転送される速度です。この場合、それは9600ビット/秒(bps)です。

void setup() {
  Serial.begin(9600);
}

3. データの読み取りとシリアルモニタへの出力 loop関数はプログラムの主要なロジックが存在する場所です。この関数はプログラムが開始されると無限にループします。ループの中で、 analogRead() 関数を使用して湿度センサーからのデータを読み取り、それをシリアルモニタに出力します。次の読み取りを行う前に、delay関数を使用してプログラムを500ミリ秒一時停止します。

void loop() {
  Serial.println(analogRead(sensorPin));
  delay(500);
}

注釈

値が小さいほど、土壌の湿度レベルが高いです。

追加のアイデア

  • 土壌の湿度レベルが一定の閾値を下回った場合に作動するブザーまたはLEDを統合できます。これにより、植物に水をやる物理的なアラートが得られます。

  • 水ポンプを接続し、水やりプロセスを自動化することも可能です。湿度レベルが閾値を下回った場合、Arduinoがポンプを作動させて植物に水を供給できます。

他のプロジェクト