옆방 연구실에 스탠드형 에어컨이 설치되어있는데 냉각수 배수구가 없어서 수조에 받아서 물이 차면 버리면서 쓰는 중.

 

하지만 적절한 시기를 놓쳐서 맨날 넘친다고...

 

안타까워하면서 간단한 장치를 만들어주었다. 

 

이거에 굳이 아두이노를 쓴 걸 전기공학 하는 사람이 알았다가는 뒤통수를 맞을꺼 같지만 트렌지스터로 회로 설계하기에는 귀찮았기에.

 

Analog input 받아다가 물 안에서 합선되고 5초 뒤에도 합선되어 있으면 경보가 울리는 방식이다. 

 

처음 테스트 환경에서는 물 안에서 합선이 되면 0.3V가 잡히길래 200mV를 기준으로 잡고 이걸 넘으면 합선으로 봤는데 

 

실제 환경에서 작동을 안하더라. 

 

냉각수라고 온도가 낮으면 더 전도가 잘 되어야 하는거 아닌가?

 

아니면 테스트 환경은 머그컵이라 두 도선간의 거리가 짧아서 그랬나.

 

여튼 15mV로 기준을 잡았더니 이젠 너무 자주 울린다. RF noise가 껴서 그런듯. 

 

5초동안 합선되게 잡았더니 문제가 없더라.

 

20분 정도 걸린 프로젝트라 굳이 올려도 아무도 쓸 사람이 없을듯 하지만 그냥 버리긴 아깝기에 코드와 스케메틱을 올려둔다.

 

 

boolean sensorOn;
void setup() {
  pinMode(5,OUTPUT);
  pinMode(LED_BUILTIN,OUTPUT);
  sensorOn = false;
}

void loop() {
  if(analogRead(5) > 15){ // short detected
    digitalWrite(LED_BUILTIN,HIGH);
    if(sensorOn){ // short detected and this was sustained for 5 sec
      // alert
      tone(5,800,1000);
      delay(3000);
      tone(5,800, 1000);
      delay(3000);
      sensorOn = false; // reset
    }
    else { // short detected but this was the first detection
      sensorOn = true; // toggle on
      delay(5000); // wait 5 sec and check the sensor state again
    }
  }
  else { // reset toggle
    sensorOn = false;
    digitalWrite(LED_BUILTIN,LOW);
  }
  delay(500);
}

'취미 > Programming' 카테고리의 다른 글

에어컨 냉각수 수위 경보기  (0) 2019.07.26
파이썬 가상 환경에서 구동  (0) 2017.10.13
Posted by Knowblesse