用if语句c ++协助我:如果值增加0.10,请执行以下操作:

时间:2015-11-25 18:20:21

标签: c++ arduino sensor throttling tps

我正在使用Arduino,当节气门位置传感器电压增加0.10时,我正试图使燃油电磁阀注入燃油。我会给你一些关于系统如何在引擎上工作的背景。

  • 节气门位置传感器的位置基本上取决于您在汽车上踩油门踏板的距离。

  • 当我的脚没有碰到油门踏板时,油门位置传感器电压为0.54伏。

  • 当我踩下油门踏板时,节气门位置传感器电压会随着踏板的进一步增加而增加。

  • 当我保持稳定的速度时,我的脚仍然在踏板上,虽然没有加速,但节气门位置传感器电压仍然高于0.54伏,但它没有变化,它固定在一个电压,因为我的脚稳定。

  • 当我对油门踏板施加更多压力时,节气门位置传感器电压增加,当节气门位置传感器电压增加0.1或更多时,发动机需要更多燃油。它只需要更多的燃料半秒钟。

基本上,我不能拥有以下内容:

if (TPSvoltage >= 0.54 && TPSvoltage < 0.64){

  digitalWrite(fuelSolenoid, HIGH);   // turn the fuel solenoid on (HIGH is the voltage level)
  Serial.println("Fuel Solenoid Turned on");
  delay(500);              // wait for half a second
  digitalWrite(fuelSolenoid, LOW);    // turn the fuel solenoid off by making the voltage LOW
  Serial.println("Fuel Solenoid Turned off");
  delay(1);        // delay in between reads for stability
}

我需要一些东西,如果它只增加0.10伏,无论当前的节气门位置传感器电压如何,都会打开燃油电磁阀。

有人可以帮我弄清楚这段代码吗?

非常感谢。

1 个答案:

答案 0 :(得分:3)

我认为你应该使用2个变量而不是1个。 第一个将保存你正在使用的当前值,第二个将存储更新的一个,然后在“if”语句中如果两个变量的差值为0.10,那么你可以为它编写代码,否则它会跳过代码。 希望它适合你。