感雨センサモジュールを使ってみる(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の回路をブザーに交換すれば出来上がりですね。