0
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

センサー値に応じてリレースイッチに繋がる機器をON/OFFする

Last updated at Posted at 2023-01-18

以前投稿した水位センサーとリレースイッチの記事の内容を組み合わせて、「水位センサーの値に応じてAC100V機器をON/OFFさせる」という仕組みを作りました。
今回は水槽の換水作業を想定して、「一定の水位に達したらポンプを止めて水の供給を止める」「水位が足りなくなったらポンプを稼働して水を供給する」という仕組みを実現しています。

環境

  • MacOS Monterey 12.6.2
  • Arduino IDE 1.8.20

材料

事前準備

リレースイッチ記事の『事前準備』を参考にして、延長タップのケーブルの一部を裁断し、皮膜を剥いて導線を剥き出しにします。

配線

下記画像を参考に配線してください。
スクリーンショット 2023-03-29 1.49.33.png

コード

コード
waterlevel_and_relayswitch.ino
#include <stdio.h>
#include <time.h>

#define SIGNAL_PIN  13
#define ANALOG_PIN  A0
#define FILL  0     // 水位が足りている場合のアナログ値

int water_level = 0;
bool relay_state = false;

void setup() {
  Serial.begin(9600);
  pinMode(SIGNAL_PIN, OUTPUT);
  pinMode(ANALOG_PIN, INPUT);

}

void loop() {
  
    water_level = analogRead(ANALOG_PIN);
    Serial.print("water_level_value :");
    Serial.println(water_level);

    if(water_level != FILL && relay_state == false){  // 水位が足りないかつリレースイッチがOFFの時
      relay_on();   // リレースイッチをONにして機器を動かす
    }else if(water_level == FILL && relay_state == true){ // 水位が足りているかつリレースイッチがONの時
      relay_off();  // リレースイッチをOFFにして機器を止める
    }else{  // それ以外の時は何もしない
    }

    delay(500UL);
  
}

void relay_on() {
  digitalWrite(SIGNAL_PIN, HIGH);
  relay_state = true;
  Serial.println("relay_on");
  delay(1 * 1000UL);
}

void relay_off(){
  digitalWrite(SIGNAL_PIN, LOW);
  relay_state = false;
  Serial.println("relay_off");
  // 動作停止時間10秒を最低限確保(水位境目での動作不良防止)
  delay(10 * 1000UL);
}

結果

実際に動作させた時の様子がこちらです。
水位現象時のアナログ出力値はセンサーによって個体差があります。
スクリーンショット 2023-01-17 17.49.29.png
センサー値の変化を検知して、リレースイッチの状態が変化していることが分かります。
今回は水槽の換水作業を想定して水位センサーを使用しましたが、センサーの種類を変えれば、様々な分野に応用が効きそうです。

0
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?