Do you have a question? Post it now! No Registration Necessary

Re: Arduino C kode

r 3

r

an.
int calculate_trend(int pressure) {
static int trend[3]
int i, forecast = 0;
en dag vil udvide intervallet, bliver det nemmere. */
for (i = 1 ; i > 0 ; i--) {
trend[i+1] = trend[i];
}
trend[0] = pressure;
nes.
etning
for (i=1; i > 0; i--) {
if (trend[i] > trend[i+1]) {
forecast = forecast + 1;
} else if (trend[i] < trend[i+1]) {
forecast = forecast - 1;
}
}
return forecast;
}
Som den er
Og hvis du har brug for noget mere konkret, tror jeg godt
--
//Wegge
//Wegge

Re: Arduino C kode
Den 18-10-2014 00:36, Anders Wegge Keller skrev:









kompetent ud.
int savePres[9] = {0, 3, 6, 9, 12, 15, 18, 21}; // Lufttryk hver 3'die time.
if (hour() == hour()[savePres - 1]) {
pressure_der_skal_gemmes_og_sammenlignes_med_det_der_er_gemt_for_3_timer_siden
= pressure;
-- her kom jeg til --
Tak for inspiration :-)
Karl Erik.









kompetent ud.
int savePres[9] = {0, 3, 6, 9, 12, 15, 18, 21}; // Lufttryk hver 3'die time.
if (hour() == hour()[savePres - 1]) {
pressure_der_skal_gemmes_og_sammenlignes_med_det_der_er_gemt_for_3_timer_siden
= pressure;
-- her kom jeg til --
Tak for inspiration :-)
Karl Erik.

Re: Arduino C kode
Den 18-10-2014 00:36, Anders Wegge Keller skrev:

Min "pressure" er af tekniske grunde dimensioneret som float.
if (minute() == 0 && Psat == false) {
calculate_trend(pressure);
Psat = true;
}
if (minute() > 0 && Psat == true) Psat = false;
Kan det laves smartere?
Kan jeg bruge noget med:
if (hour() in hour[savePres]);
int savePres[9] = {0, 3, 6, 9, 12, 15, 18, 21};?
Det var vist lidt af en mundfuld :-)
Karl Erik.

Min "pressure" er af tekniske grunde dimensioneret som float.
if (minute() == 0 && Psat == false) {
calculate_trend(pressure);
Psat = true;
}
if (minute() > 0 && Psat == true) Psat = false;
Kan det laves smartere?
Kan jeg bruge noget med:
if (hour() in hour[savePres]);
int savePres[9] = {0, 3, 6, 9, 12, 15, 18, 21};?
Det var vist lidt af en mundfuld :-)
Karl Erik.

Re: Arduino C kode

positivt og negativt, bliver det lidt specielt. Umiddelbart vil jeg dog tro
negativt lufttryk. '
els fordi
vi er spredt hen over 3 forskellige arkitekturer; dels fordi det tager en
gnes
ve
int til
float.

Der er en marginal forbedringsmulighed i den sidste linie:
if (Psat && minute() > 0) { Psat = false; }
mens Psat er sand.


Nej, in findes ikke som keyword i C. Du kan bruge en modulo operator i
stedet:
if (hour() %3 == 0) {
/* Hver tredie time */
}
gere
blot

det
noget simplere:
int calculate_trend(float pressure) {
static float last = -1;
float trend;
int forecast = 0;
if (last < 0) {
last = pressure;
}
trend = pressure - last;
if (trend < -3.0) {
forecast = -2;
} else (if trend < 0.0) {
forecast = -1;
} else (if trend < 3.0) {
forecast = 1;
} else (if trend > 3.0) {
forecast = 2;
}
last = pressure;
return forecast;
}
passende sted.
--
//Wegge
//Wegge

Re: Arduino C kode
Den 18-10-2014 09:28, Anders Wegge Keller skrev:

Her er den endelige kode, som jeg forventer mig meget af :-)
static float last = -1;
int forecast = 0.0, h;
boolean Psat = false;
void loop();
h = hour();
if (hour() == 0) {
h = 24;
/* Klokken bliver aldrig 24:00:00 - den skifter fra 23:59:59 til
}
if (h %3 == 0 && Psat == false) {
/* Hver tredie time, men kun hvis Psat er false */
calculate_trend(Pc);
Psat = true;
}
if (minute() > 0 && Psat == true) {
Psat = false;
}
int calculate_trend(float pressure) {
float trend;
if (last < 0) {
last = pressure;
}
trend = pressure - last;
if (trend <= -3.0) {
forecast = -2;
} else if (trend < 0.0 && trend > -3) {
forecast = -1;
} else if (trend < 3.0 && trend > 0.0) {
forecast = 1;
} else if (trend >= 3.0) {
forecast = 2;
}
last = pressure;
return forecast;
}
Karl Erik.

Her er den endelige kode, som jeg forventer mig meget af :-)
static float last = -1;
int forecast = 0.0, h;
boolean Psat = false;
void loop();
h = hour();
if (hour() == 0) {
h = 24;
/* Klokken bliver aldrig 24:00:00 - den skifter fra 23:59:59 til
}
if (h %3 == 0 && Psat == false) {
/* Hver tredie time, men kun hvis Psat er false */
calculate_trend(Pc);
Psat = true;
}
if (minute() > 0 && Psat == true) {
Psat = false;
}
int calculate_trend(float pressure) {
float trend;
if (last < 0) {
last = pressure;
}
trend = pressure - last;
if (trend <= -3.0) {
forecast = -2;
} else if (trend < 0.0 && trend > -3) {
forecast = -1;
} else if (trend < 3.0 && trend > 0.0) {
forecast = 1;
} else if (trend >= 3.0) {
forecast = 2;
}
last = pressure;
return forecast;
}
Karl Erik.
Site Timeline
- » CGA til nutids monitor konverter
- — Next thread in » Electronics (Danish)
-
- » fremkalder til negativ photoresist
- — Previous thread in » Electronics (Danish)
-
- » 3 batterier =?
- — Newest thread in » Electronics (Danish)
-
- » pemohon
- — The site's Newest Thread. Posted in » Electronics Computer-Aided Design
-