水位报警系统Arduino

时间:2017-05-20 09:19:26

标签: arduino arduino-uno circuit-diagram

我一直在寻找一个很好的教程来制作一个基于ardunio的水位报警系统。我已经浏览了很多页面,我并没有理解电子讨论的大部分内容。

我的想法是将地面电缆保持在水箱底部,并安排不同长度的电缆来确定高度,并将它们连接到analogPins。

我会读' 0'当水接触电缆时。如果水位低于紧急水位,我想使用两个LED一个绿色,当Arduino紧急停止时,我想使用红色。

我需要电路的帮助,我把我的想法保留在原理图中。

enter image description here

任何建议都将非常感谢!

谢谢,

最诚挚的问候, 西

2 个答案:

答案 0 :(得分:1)

你必须小心,因为水不是一个完美的指挥。它会有一些阻力。您需要了解电阻和您使用的上拉或下拉电阻会产生分压器。该分压器中心的电压必须大于3V才能使引脚读为高电平。要做到这一点,你需要一个更弱的拉力,更像是一个兆欧的线。

我也更喜欢将“开关”连接为低电平有效的想法。因此,在油箱底部接地,并将引脚上的电阻器置于+ 5V。我怀疑你可以使用内部引体向上,因为它们可能太强大了。你必须使用外部上拉电阻。在这种情况下,引脚在感应到水时读数为低。

这里你要担心的另一件事是电解。你要在容器的电线上制造一些氢气和氧气,然后你就会留下部分电线。通常这样的传感器使用交流电压,因此电解轮流驱动两个方向,并且不会丢失电线上的材料。

答案 1 :(得分:0)

基本上,水应该作为电缆的开关。所以我们可以从arduino给出的数字按钮开始,然后重写它以满足您的需求。

按钮

按下连接到引脚2的按钮时,打开和关闭连接到数字引脚13的发光二极管(LED)。

由于我们希望当我们的按钮被按下时led停止,我们将修改这个例子的最后部分。

电路:

  • LED从引脚13连接到地
  • 水(又称按钮)连接到引脚2和+ 5V(此处不接地!)
  • 10K电阻从地面连接到引脚2 :(在你的shema上缺失!)

注意:在大多数Arduinos上,板上已经有一个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);

  }
}

现在您可以添加更多“水开关”和更多LED来控制:)

注意:我选择使用数字引脚,因为我们正在寻找二元决策(是否是水?)。也许analogPin会更精确,允许检测更纯净(和导电性更低)的水...... 如果数字不可靠以检测水,请返回模拟;)