2017-05-20 5 views
-1

나는 ardunio 기반 수위 경보 시스템을 만들기위한 훌륭한 튜토리얼을 찾고있다. 나는 많은 페이지를 훑어 보았고, 나는 조용한 전자 책 토론을 많이 이해하지 못했다.수위 경보 시스템 Arduino

내 생각은 groud 케이블을 탱크의 바닥까지 유지하고 다른 길이의 케이블을 배열하여 높이를 정의하고 analogPins에 연결하는 것입니다.

물이 케이블에 닿으면 '0'으로 표시됩니다. 저는 Arduino가 비상 정지를 할 때 수위가 수위가 낮 으면 녹색을, 녹색은 수위가 낮을 경우 녹색을 두 개 사용하고 싶습니다.

나는 회로에 대한 도움이 필요하다. 나는 설계도에 대한 나의 생각을 고수했다.

enter image description here

어떤 제안은 매우 이해할 수있을 것이다!

는 기본적으로 물이 당신의 케이블에 스위치 역할을한다

최고 감사합니다,

+0

이 사이트는 전자 공학에 관한 것이 아니라 프로그래밍에 관한 내용입니다. –

+0

친애하는 Gre_gor 님, 죄송합니다. 내가 여기 프로그래밍 도움을 요청하지 않았다 :) – Sai

답변

1

물은 완벽한 지휘자가 아닙니다. 그것은 약간의 저항을 가질 것입니다. 저항과 풀업 또는 풀다운 저항을 사용하면 분압기가 생성된다는 것을 이해해야합니다. 핀을 HIGH로 읽으려면 해당 분주기의 중앙에있는 전압이 3V보다 높아야합니다. 그렇게하려면 메가 오옴 라인을 따라 더 약한 풀업이 필요합니다.

"스위치"를 활성 로우로 연결하는 것이 더 좋습니다. 그래서 탱크의 바닥에 접지하고 + 5V로 핀에서 저항을 넣어. 아마도 당신이 아마 너무 강했기 때문에 이것을 위해 내부 풀업을 사용할 수 있을지는 의문입니다. 당신은 외부 풀업 저항을 사용해야 할 것입니다. 이 경우 핀은 물을 감지하면 LOW를 읽습니다.

여기에서 걱정해야 할 또 다른 사항은 전기 분해입니다. 컨테이너의 전선에 수소와 산소를 일부 채우면 전선의 일부를 남겨 두게됩니다. 일반적으로 이와 같은 센서는 교류 전압을 사용하므로 전기 분해가 양방향을 번갈아 가며 전선의 물질을 잃지 않습니다.

+0

친애하는 델타, 저항을 추가하여 회로와 도와 주실 래요? 나에게 많은 도움이 될 제안으로 다시 그릴 수 있다면. – Sai

+1

당신이 사용하는 아날로그 핀들 각각에 저항이 5V가되도록해야한다는 것만 빼면 그린다. –

+2

또 다른 좋은 아이디어는 접지선을 각각의 감지 와이어에 더 가깝게 놓는 것이므로 전류가 그렇게 멀리 떨어지지는 않습니다. 그러면 더 나은 센서를 만들 수 있습니다. 물에있는 두 개의 전선이 거의 만지기를 원하지만 실제로 만지지는 마십시오. –

0

사이를 주셔서 감사합니다. 그래서 arduino로 주어진 디지털 버튼 예제부터 시작하여 필요에 맞게 다시 작성할 수 있습니다. 푸시 버튼을 누르면

온 디지털 핀 (13)에 접속 된 발광 다이오드 (LED)하거나 해제 버튼, 우리가 원하는 2.

핀에 장착 할 때 우리 waterbutton litting 정지했다 이 예제의 마지막 부분을 수정합니다.

회로 :

  • 물 (일명 누름 버튼)를 접지 핀 (13)에서 부착 된 LED 부착 2 핀과 + 5V (여기서 접지하지!)로하는
  • 핀 부착
  • 10K 저항 이 지상에서 대부분의 아두 이노에 이미이 부착 된 기판에 LED가 13.

    핀 :

주 (! 당신의 쉐마에 없음) 이제

// constants won't change. They're used here to 
// set pin numbers: 
const int buttonPin = 2;  // the number of the pushbutton pin 
const int ledPin = 13;  // the number of the LED pin 

// variables will change: 
int buttonState = 0;   // variable for reading the pushbutton status 

void setup() { 
    // initialize the LED pin as an output: 
    pinMode(ledPin, OUTPUT); 
    // initialize the pushbutton pin as an input: 
    pinMode(buttonPin, INPUT); 
} 

void loop() { 
    // read the state of the pushbutton value: 
    buttonState = digitalRead(buttonPin); 

    // check if the pushbutton is pressed. If it is, the buttonState is HIGH: 
    // I slightly changed the example here, for the led to lit when no water is detected. 
    if (buttonState == HIGH) { 
    // turn LED off: 
    digitalWrite(ledPin, LOW); 
    } else { 
    // turn LED on: 
    digitalWrite(ledPin, HIGH); 

    } 
} 

당신에게 달려 :)

주를 제어하기 위해 더 많은 "물 switchs"더 많은 LED를 추가하는 것 : 내가 디지털 핀을 사용하기로 선택, 우리로

지금의 코드로 가자 이진 결정을 찾고 있습니다 (물이든 아니든간에). 아마도 analogPin이 더 정확 해져서보다 순수하고 (전도성이 적은) 물을 탐지 할 수있을 것입니다. 디지털이 물을 감지하는 것이 신뢰할 수 없다면 아날로그로 돌아갑니다.)

+0

친애하는 Technio, 나는 회로와 도움이 필요해 : – Sai