obnova zapísaných hodnôt

Wiring, C++, C, Java, ...
Pravidla fóra
Toto subfórum slouží k řešení obecných otázek kolem programování (konstrukce, knihovny, alokace paměti, ...)
Odpovědět
mato2sk
Příspěvky: 11
Registrován: 28 čer 2018, 08:08
Reputation: 0

obnova zapísaných hodnôt

Příspěvek od mato2sk » 12 pro 2018, 18:56

Zdravým
Potreboval by som trochu poradiť s jedním mojím projektom.
Chcem aby zobrazilo maximálu a manimálnu hodnotu nameranú senzorom tlaku.
Keď som použil tento kód tak mi načita tieto hodonty hneď nazačiatku a počas bežania programu sa nezmenia.
Pri maximálnej hodnote mi to nevadí, ale pri minimálnej je problém lebo nazačiatku je tlak 0.
Viete mi poraďiť ako to spravyť aby to obnovovalo počas bežania programu cca každú 1-5 min, alebo iný spôsob.
if(pressure_kPa > pressure_max) {pressure_max = pressure_kPa;}
if(pressure_kPa < pressure_min) {pressure_min = pressure_kPa;}

jankop
Příspěvky: 383
Registrován: 06 zář 2017, 20:04
Reputation: 0
Bydliště: Brno
Kontaktovat uživatele:

Re: obnova zapísaných hodnôt

Příspěvek od jankop » 12 pro 2018, 19:49

Kód: Vybrat vše

float pressure_max=0;       // tady nastav hodnotu mensi nez je nejmensi mozny tlak
float pressure_min=1000000; // tady nastav hodnotu vetsi nez je nejvetsi mozny tlak

void setup() {
  // put your setup code here, to run once:
}
void loop() {
  // put your main code here, to run repeatedly:
if(pressure_kPa > pressure_max) {pressure_max = pressure_kPa;}
if(pressure_kPa < pressure_min) {pressure_min = pressure_kPa;}
}

mato2sk
Příspěvky: 11
Registrován: 28 čer 2018, 08:08
Reputation: 0

Re: obnova zapísaných hodnôt

Příspěvek od mato2sk » 17 pro 2018, 19:00

Ok dik skúsim

mato2sk
Příspěvky: 11
Registrován: 28 čer 2018, 08:08
Reputation: 0

Re: obnova zapísaných hodnôt

Příspěvek od mato2sk » 17 pro 2018, 19:37

Ale nemyslím že to bude fungovať oprav ma ak sa mýlim ono nazačiatku nastavý tú hodnotu a potom nastavý hodnotu ktorú načita zo snímaču. Má to merať tlak oleja v motore ale pokial sa nenaštartuje tak tlak bude stále 0. Ja potrebujem aby zaznamenalo minimálny tlak počas bežania motora .

jankop
Příspěvky: 383
Registrován: 06 zář 2017, 20:04
Reputation: 0
Bydliště: Brno
Kontaktovat uživatele:

Re: obnova zapísaných hodnôt

Příspěvek od jankop » 17 pro 2018, 20:04

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.

mato2sk
Příspěvky: 11
Registrován: 28 čer 2018, 08:08
Reputation: 0

Re: obnova zapísaných hodnôt

Příspěvek od mato2sk » 21 pro 2018, 18:48

to už šlape podla mojich predstáv vďaka

Odpovědět

Kdo je online

Uživatelé prohlížející si toto fórum: Žádní registrovaní uživatelé a 1 host