Arduinoに水位センサー(water detect sensor)を繋いでみた

Arduinoに水位センサー(water detect sensor)を繋いでみた。

超音波洗浄機の自動連続駆動をさせる際の「空焚き」を防止するために、水位を監視して、水が無くなってきたら停止させたい。
そこで、水位センサーを使ってみることにした。

Arduino用の水位センサーがAmazonで異常に安く売っているので購入した。

Rasbee 検出の水センサー 水位 センサー 深さ 水感知センサ Arduino 1個 [並行輸入品](Amazon)

2種類購入した。

片方はチップトランジスタのような部品が載っているのだが、もう片方はチップ抵抗しか基板に載っていない。抵抗分圧しているだけのようだ。

トランジスタ(あるいはアンプ?)が載っている方を試しに使ってみる。
例によって、この基板の詳細が不明でちょっと困った。

検索して探すと、次のようなサイトの記事が見つかる。
Arduino Water Detector / Sensor

これを参考にしてみたのだが、正しくない。

上記の方法だとArduinoのデジタルのピンでHigh/Lowを入力しているのだが、これだとうまくいかない。
なぜなら、このwater sensorは実際にはアナログ電圧を出力しているからだ。
自分は、テスターで現物の電圧を調べて確認した。

なので、上記の記事の配線図の「S」というセンサー側の端子は、ArduinoのA0というアナログ入力用のピンに接続した。
「+」、「-」という端子は、Arduinoの基板の+5VとGNDに接続した。
(あと、上記の記事の文章だと端子名にVsとか紛らわしい名前が書いてあるが、何かのコピー&ペースト時のミスなのだろう。)

とりあえず、センサーのアナログ値を取り込むためのコードは次のようになる。

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

void loop() {
  int sensorValue;
  sensorValue = analogRead(A0);
  Serial.print("sensor = ");
  Serial.println(sensorValue);
  delay(10);
}

あとは、リレーボードの制御用のコードと合体させて、sensorValueが閾値より上か下かを判定して、動作をストップさせればよい。

ついで、ストップ時には、警告音をtone()を使って出すようにしたらよいかもしれない。




コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

Time limit is exhausted. Please reload CAPTCHA.

7 + 1 =