Arduino C kode

Oct 17, 2014 16 Replies

Storm - Regn - Foranderligt - (Smukt - Sol)?


timer, hvordan vejret bliver.


udregnes over en 3 timers periode, hver time.


Nogen der har ideer?


Karl Erik.


Karl Erik Christensen skriver:

Klaus

-- Modelbane Europas hjemmeside:

formatting link
Min egen hjemmeside:
formatting link
Forum om modeltog og tog i 1:1:
formatting link

Den 17-10-2014 kl. 23:03 skrev Karl Erik Christensen:

En tanke:

  • Et array (liste) med tre (eller fire om man vil) pladser, en for hver
Steen Suder

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

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.

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.

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

Den 18-10-2014 09:28, Anders Wegge Keller skrev:

Hej Anders - tak for "Skide godt, Egon" :-)

Normaltrykket over DK er beregnet til 1013.25hPa.

Er det under 1011.25 vises :-( og over 1015.25 vises :-)

nem at arbejde med.

Karl Erik.

Den 18-10-2014 14:59, Karl Erik Christensen skrev:

Damit - damit - damit :-)

Luftrykket falder nu med rasende fart (godt 1hPs pr. time), og

Karl Erik.

Den fredag den 17. oktober 2014 23.03.59 UTC+2 skrev Karl Erik Christensen:

over 3

...

jdet?

Mvh. Anders

Den 18-10-2014 19:59, Anders F skrev:

Nej - en lille hobby har man vel lov at have.

Karl Erik.

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) { 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.

Den 18-10-2014 22:06, Karl Erik Christensen skrev:

if (h %3 != 0 && Psat == true) { Psat = false; }

Karl Erik.

"Karl Erik Christensen" skrev i meddelelsen news:m1ug15$2i9$ snipped-for-privacy@dont-email.me...

Nej - en lille hobby har man vel lov at have.

Karl Erik.

Lave hjemmesider ? ;)

MVH Lars Arup

Den 19-10-2014 00:22, Lars Arup skrev:

Hov - glemte:

Skriver du ikke snart et lille brev til mig?

Mvh. Karl Erik.

nsen:

sen:

et over 3

et!)...

arbejdet?

[...]

Men jeg forstod pointen! ;-)

/A

Den 19-10-2014 16:48, Anders F skrev:

Jeg kom i tvivl om, om jeg forstod den :-)

var det du mente, misforstod jeg meningen.

(for dem der vil sammenligne).

Karl Erik.

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required