感雨センサモジュールを使ってみる(Arduino)

洗濯物を干したりすると雨が気になる時がありますね。
そんなときは、感雨センサモジュールです。
いつもの大陸調達品で¥50-です。

感雨センサモジュール
感雨センサモジュール

国内では、
 aitendo
  感雨センサモジュール [RD-4P]
   https://www.aitendo.com/product/10280
   ¥450-
などが販売されています。

感雨センサモジュールが雨を感知したら、
LEDを点滅させるものを作成してみます。

感雨センサモジュール と Arduino の接続です。
回路は図の通りです。
   この回路図の作図には fritzing を利用させて頂いております。
   https://fritzing.org/home/

回路図
回路図
実際の回路
実際の回路

※感雨センサモジュールの各端子の並びが製品により異なります。
 回路図では、上から AO、DO、GND、VCC です。

この感雨センサモジュールの、
デジタル出力値は、無感雨時は HIGH、感雨時はLOWとなります。
アナログ出力値の同様で、無感雨時は1023近くの値で、
感雨時は、この値が小さくなります。

デジタル出力値の無感雨時(HIGH)、感雨時(LOW)は、
モジュール基板の可変抵抗を調整することで変更できます。

デジタル出力の 調整
デジタル出力の 調整

Arduino と PC を接続し、
ボード、シリアルポートの設定をします。
・メニュー「ツール」→「ボード」
・メニュー「ツール」→「シリアルポート」

ボード、シリアルポートの設定
ボード、シリアルポートの設定

スケッチです。

// 感雨センサモジュールの利用

// アナログデータ取得用
int a_data;

void setup() {
  // put your setup code here, to run once:
  // ポート設定
  pinMode( A0, INPUT );     // センサからのアナログ入力
  pinMode( 8, INPUT );      // センサからのデジタル入力 
  pinMode( 12, OUTPUT );    // LED出力
  // シリアルモニタ設定
  Serial.begin( 9600 );
}

void loop() {
  // put your main code here, to run repeatedly:
  // デジタル信号による感雨確認
  if(digitalRead(8) == LOW){    // 感雨あり
    digitalWrite(12, HIGH);         // LED点灯
    delay(500);
    digitalWrite(12, LOW);          // LED消灯
    delay(500);
  }
   // アナログポートデータ取得・シリアルモニタへ表示
  a_data = analogRead( A0 );
  Serial.println( a_data );
}

検証して、マイコンボードに書き込み実行してみます。

検証とマイコンボードへの書き込み
検証とマイコンボードへの書き込み

感受部分に水分をかけてみます。
コンソールには、水分の感知に合わせて
アナログデータ値が変化して表示され、
ブレッドボード上のLEDが点滅します。

実行結果のシリアルモニタ
実行結果のシリアルモニタ
感雨センサによるLEDの点滅回路
感雨センサによるLEDの点滅回路

実際には、LEDの点滅より、
ブザーなどの音によるものがよいかもしれません。
LEDの回路をブザーに交換すれば出来上がりですね。