Odecteni prvni zmerene hodny snimace

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
Fab18
Příspěvky: 3
Registrován: 16 črc 2020, 14:52
Reputation: 0

Odecteni prvni zmerene hodny snimace

Příspěvek od Fab18 » 16 črc 2020, 15:11

Dobry den, delam mensi projekt s pomoci Arduino nano pro mereni tlaku. Snimac mi meri samozrejme i atmosfericky tlak potreboval bych nejakym zpusobem ulozit prvni zmerenou hodnotu a odecist ji od absolutni hodnoty. Tim bych udelal korekci atm. tlaku . Jsem uplny zacatecnik takze uplne nevim jak pro to napsat kod. Diky
#include <Wire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SH1106.h>
#define sensorPin 0

int OLED_RESET = 4;
Adafruit_SH1106 display(OLED_RESET);

void setup() {
display.begin(SH1106_SWITCHCAPVCC); // 3.3V power supply


}

void loop() {
int boostmbar = map(analogRead(sensorPin), 21, 961, 100, 2600);
display.setTextColor(WHITE);
display.setTextSize(4);
display.setCursor(0, 0);
display.println(boostmbar);

display.display();
display.clearDisplay();
delay(10);
}

KamilV
Příspěvky: 479
Registrován: 03 dub 2018, 15:27
Reputation: 0
Bydliště: Olomouc

Re: Odecteni prvni zmerene hodny snimace

Příspěvek od KamilV » 16 črc 2020, 16:29

Co je v kódu první změřená hodnota? Co je v kódu absolutní hodnota? Nebo ta korekce bude odpočtem konstanty?

Uživatelský avatar
gilhad
Příspěvky: 778
Registrován: 07 bře 2018, 11:22
Reputation: 0

Re: Odecteni prvni zmerene hodny snimace

Příspěvek od gilhad » 17 črc 2020, 02:26

V setup(), ktery se spousti jen jednou, na zacatku, si nacti hodnotu snimace a zpracuj ji - uloz do nejake promenne, pripadne si uloz rozdil od nejake konstanty, spocti korekci nebo cokoli potrebujes udelat jen jednou, na zacatku.

V loop(), co se pousti az po setupu a pousti se porad dokud arduino bezi, si nacti aktualni hodnotu snimace (a pripadne ji zkoriguj o to, co sis nacetl a spocetl a ulozil v setupu) a neco zajimaveho s ni udelej, treba zobraz na displayi.

(Tohle je celkem nejjednodussi zpusob, jak neco udelat jednou poprve, hned po startu a pak uz se na to jen odkazovat)

Fab18
Příspěvky: 3
Registrován: 16 črc 2020, 14:52
Reputation: 0

Re: Odecteni prvni zmerene hodny snimace

Příspěvek od Fab18 » 17 črc 2020, 11:22

Tak uz mi to funguje! Urcite by to slo napsat lepe ale jak rikam jsem amater takze ja jsem spokojeny :D Jeste se budu muset kouknout na nejake vyhlazeni protoze ty hodnoty stejne celkem litaji +- 20mbar. Diky
#include <Wire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SH1106.h>
int atm;
int boostmbar;
int atmconst;


int OLED_RESET = 4;
Adafruit_SH1106 display(OLED_RESET);

void setup() {
display.begin(SH1106_SWITCHCAPVCC); // 3.3V power supply
atmconst = analogRead(0);


}

void loop() {
int boostmbar = map(analogRead(0), 21, 961, 100, 2600);
int atm = map(atmconst, 21, 961, 100, 2600);

display.setTextColor(WHITE);
display.setTextSize(4);
display.setCursor(0, 0);
display.println(boostmbar - atm, mbar);

display.display();
display.clearDisplay();
delay(10);

}

KamilV
Příspěvky: 479
Registrován: 03 dub 2018, 15:27
Reputation: 0
Bydliště: Olomouc

Re: Odecteni prvni zmerene hodny snimace

Příspěvek od KamilV » 17 črc 2020, 14:48

Tohle

Kód: Vybrat vše

int atm = map(atmconst, 21, 961, 100, 2600);
lze udělat také v setup, je zbytečné to dokola počítat v loop, když se to nemění...

Odpovědět

Kdo je online

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