arduino — Помогите мне с оператором if c ++: если значение увеличивается на 0.10, сделайте это:

Я использую Arduino и пытаюсь заставить топливный соленоид впрыскивать топливо, когда напряжение датчика положения дроссельной заслонки увеличивается на 0,10. Я немного поясню, как система работает на двигателе.

  • Датчик положения дроссельной заслонки измеряет положение в основном того, насколько далеко вы нажимаете педаль газа на автомобиле.

  • Напряжение датчика положения дроссельной заслонки составляет 0,54 В, когда педаль газа не касается моей ноги.

  • Когда я нажимаю на педаль газа, напряжение датчика положения дроссельной заслонки увеличивается, чем больше я нажимаю на педаль.

  • Когда я поддерживаю постоянную скорость, моя нога все еще находится на педали, и, хотя она не ускоряется, напряжение датчика положения дроссельной заслонки по-прежнему ВЫСШЕ, чем 0,54 вольт, но оно не меняется, оно фиксируется на одном напряжении, потому что моя нога устойчива ,

  • Когда я прикладываю больше давления к педали газа, напряжение датчика положения дроссельной заслонки увеличивается, и двигателю требуется больше топлива, когда напряжение датчика положения дроссельной заслонки увеличивается на 0,10 или более. Требуется больше топлива только на полсекунды.

По сути, я не могу иметь что-то вроде следующего:

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

Решение

Я думаю, что вы должны использовать 2 переменные вместо только 1.
первое будет содержать текущее значение, которое у вас есть, а второе будет хранить обновленное, а затем внутри оператора if, если разность двух переменных равна 0,10, как вы сказали, вы можете написать код для него, а в противном случае он будет пропущен код.
Надеюсь, это сработает для тебя.

3

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]