Pak musíš spustit program, až bude motor v normálním chodu. Nebo zvolit nějaký normální tlak a při tomto tlaku teprve nastavíš hodnotu proměnné pro minimální tlak. Pokusil jsem se o to v příkladu
Kód: Vybrat vše
#define TLAK_VOLNOBEHU 200.0 // tady vloz nejakou rozumnou hodnotu volnobezneho tlaku
float pressure_max = 0.0; // tady nastav hodnotu mensi nez je nejmensi mozny tlak
float pressure_min = 1000000.0; // tady nastav hodnotu vetsi nez je nejvetsi mozny tlak
float pressure_kPa;
bool PriznakTlakVolnobehu = false; // neni volnobezny tlak
void setup() {
// put your setup code here, to run once:
}
void loop() {
// put your main code here, to run repeatedly:
if (pressure_kPa > TLAK_VOLNOBEHU) {
PriznakTlakVolnobehu = true; //prekrocen tlak volnobehu
}
if (pressure_kPa > pressure_max) {
pressure_max = pressure_kPa;
}
if (PriznakTlakVolnobehu) { //uz byl volnobezny tlak, zacni zapisovat minimalni tlak
if (pressure_kPa < pressure_min) {
pressure_min = pressure_kPa;
}
}
}
Pokud bys chtěl aby se to po nějakém čase obnovovalo, tak bys tam musel přidat nějaké časování a periodicky hodnoty obnovovat nebo spíš resetovat. Ale to nějak postrádá smysl. Pro daný účel by to nejspíš mělo vypadat tak, že to bude zobrazovat hodnotu tlaku se setrvačností, s tím, že max a min hodnota bude zobrazena okamžitě, když nastane. Ale návrat k normálnímu tlaku by byl pozvolný - zpomalený. Takhle nějak fungují často indikátory vybuzení audio signálu.