-2

我一直在寻找一个很好的教程来制作一个基于 ardunio 的水位报警系统。我已经浏览了很多页面,我对电子产品的讨论并不了解。

我的想法是将接地电缆保持到水箱底部,并安排不同长度的电缆以定义高度并将它们连接到模拟引脚。

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

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

在此处输入图像描述

任何建议将不胜感激!

谢谢,

最好的问候, 赛

4

2 回答 2

1

你必须小心,因为水不是完美的导体。它会产生一些阻力。您需要了解电阻和您使用的上拉或下拉电阻会创建分压器。该分压器中心的电压必须大于 3V,才能使引脚读取为高电平。为此,您需要一个更弱的上拉电阻,更像是兆欧级的。

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

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

于 2017-05-21T01:07:24.923 回答
0

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

按钮

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

由于我们希望按下水按钮时 LED 停止点亮,因此我们将修改此示例的最后一部分。

电路:

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

注意:在大多数 Arduino 上,板上已经有一个 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会更精确,允许检测更纯净(导电性更差)的水......如果数字检测水不可靠,请返回模拟;)

于 2017-05-20T09:33:06.507 回答