Stránka 1 z 1
Odecteni prvni zmerene hodny snimace
Napsal: 16 črc 2020, 15:11
od Fab18
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);
}
Re: Odecteni prvni zmerene hodny snimace
Napsal: 16 črc 2020, 16:29
od KamilV
Co je v kódu první změřená hodnota? Co je v kódu absolutní hodnota? Nebo ta korekce bude odpočtem konstanty?
Re: Odecteni prvni zmerene hodny snimace
Napsal: 17 črc 2020, 02:26
od gilhad
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)
Re: Odecteni prvni zmerene hodny snimace
Napsal: 17 črc 2020, 11:22
od Fab18
Tak uz mi to funguje! Urcite by to slo napsat lepe ale jak rikam jsem amater takze ja jsem spokojeny

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);
}
Re: Odecteni prvni zmerene hodny snimace
Napsal: 17 črc 2020, 14:48
od KamilV
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í...