Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/arduino/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Arduino 水位报警系统_Arduino_Arduino Uno_Circuit Diagram - Fatal编程技术网

Arduino 水位报警系统

Arduino 水位报警系统,arduino,arduino-uno,circuit-diagram,Arduino,Arduino Uno,Circuit Diagram,我一直在寻找一个很好的教程,使ardunio为基础的水位报警系统。我已经读了很多页了,我不太明白电子讨论的内容 我的想法是将接地电缆一直保持到油箱底部,并安排不同长度的电缆来定义高度,并将其连接到模拟销上 当水接触电缆时,我将读“0”。我想使用两个LED,一个是绿色的,如果水位低于紧急水位,一个是红色的,当Arduino紧急停止时 我需要电路方面的帮助,我把我的想法保留在原理图中 任何建议都将不胜感激 谢谢, 致以最良好的祝愿, Sai基本上,水应该充当电缆的开关。因此,我们可以从arduin

我一直在寻找一个很好的教程,使ardunio为基础的水位报警系统。我已经读了很多页了,我不太明白电子讨论的内容

我的想法是将接地电缆一直保持到油箱底部,并安排不同长度的电缆来定义高度,并将其连接到模拟销上

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

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

任何建议都将不胜感激

谢谢,

致以最良好的祝愿,
Sai

基本上,水应该充当电缆的开关。因此,我们可以从arduino提供的数字按钮示例开始,重新编写它以满足您的需要

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

由于我们希望led在按下水按钮时停止乱扔垃圾,因此我们将修改此示例的最后一部分

电路:
  • 从针脚13连接到接地的LED
  • 连接到针脚2和+5V的水(又名按钮)(此处不接地!)
  • 从接地连接到引脚2的10K电阻器:(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来控制:)

注:我选择使用数字pin,因为我们正在寻找一个二进制决策(它是否是水?)。也许analogPin会更精确,可以检测到更纯净(导电性更低)的水。。。
如果数字检测水不可靠,则返回模拟;)

你必须小心,因为水不是完美的导体。它会有一些阻力。您需要了解电阻和使用的上拉或下拉电阻创建分压器。该分压器中心的电压必须大于3V,以便引脚读数为高。要让它起作用,你需要一个更弱的拉力,沿着兆欧的方向

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


你必须担心的另一件事是电解。你要在容器里的电线上制造一些氢和氧,你要留下一部分电线。通常,像这样的传感器使用交流电压,所以电解轮流驱动两个方向,并且不会从电线上损失材料

这个网站是关于编程的,不是关于电子工程的。亲爱的格雷戈,不,对不起!我没有在这里要求编程帮助:)亲爱的德尔塔,你能通过增加电阻来帮助电路吗?如果你能重新画出你的建议,这将对我有很大帮助。画出来就像你有它,除了你使用的每个模拟引脚应该有一个电阻从它到5V。另一个好主意是把地线靠近每一个传感线,这样电流就没有那么远了。这可能是一个更好的传感器。你想让水中的两根电线几乎接触,但实际上不接触。亲爱的Technio,我需要电路方面的帮助:)