如何忽略电压下降?

时间:2015-11-30 21:02:23

标签: arduino

我正在编写一个Arduino,我希望我的if语句仅在电压增加时响应,而不是在电压增加时响应。

这就是我现在所拥有的:

void setup() {
  Serial.begin(9800);
  pinMode(13, OUTPUT);
}

void loop() {


  int sensorValue5 = analogRead(A5);
  float voltage5 = sensorValue5 * (5.0 / 1023.0);
  Serial.println(voltage5);

  if (voltage5 > 0.56 && voltage5 < 0.66) {

    digitalWrite(13, HIGH);
    Serial.println("TURNING BULB ON!");
    delay(200);
    digitalWrite(13, LOW);
    Serial.println("TURNING BULB OFF!");

  }

}

此代码的问题在于if语句在电压从低于0.56伏特增加时执行,但是当电压从高于0.66伏特降低时也会执行。我希望if语句仅在电压上升时才执行,而不是回落。

请帮助我这非常重要。谢谢。

1 个答案:

答案 0 :(得分:0)

当电压上升时,电流读数将大于先前的读数。如果电压单调增加或减少,您可以通过创建一个变量来存储先前的电压读数来处理这个问题:

previous_voltage_reading

如果您想让条件代码在第一次运行时不执行,您想要选择一个适当大的数字来初始化var appendWithCommandLineArguments = function(cmd, arguments) { var to_append = _.chain(command_line_args) .pick(arguments) .reduce(function(string, val, prop){ return string+"--"+prop+"="+val+" "; }, " ") .value(); return cmd + to_append } gulp.task('taskmailer', shell.task([ appendWithCommandLineArguments('node automate/build/mail/taskMailer.js', ["email", "template"]) ]))