Algortihmus für Sonnenauf- und untergang gesucht

Gast #753793
Lesenswert?

Moin,

wenn ich diese Formelmonster so sehe, frage ich mich ob ich das meinem 
Mega16 antun will. Folgendes habe ich mir überlegt:

So wie ich das sehe, hängt das Ergebnis (Sonnenauf- und Untergang) nicht 
vom Jahr ab. D.h. die Zeiten sind jedes Jahr gleich!

Wenn ich mich jetzt damit zufrieden gebe, dass ich nur jede Woche die 
Schaltzeiten anpasse (Es geht um meine Rolladensteuerung, die 
automatisch bei Sonnen-aufgang die Rolläden offnen bzw. bei -untergang 
schliessen soll) habe ich nur 52 verschiedene Start- und Schlieszeiten.

Mit ein bischen zusätzlichem Code komme ich auf eine 52-zeilige Tabelle 
mit 2 Spalten macht ein paar hundert Byte im Flash.

Ist so eine Tabellenorientierte Lösung nicht einfacher, schneller und 
evtl. sogar noch kürzer als wenn ich die Formelmonster der Links mit 
Floatingpoint-Variablen, Sinus, Cosinus etc. umsetze ???

Wer hat hier Erfahrung? Eine Meinung ?

Gruß und Danke

Andreas
#754024
Lesenswert?

UBoot-Stocki wrote:

> wenn ich diese Formelmonster so sehe, frage ich mich ob ich das meinem
> Mega16 antun will.

Na ja. So schlimm ist es dann auch wieder nicht.
Du kriegst von Atmel für nicht benötigten Flash kein Geld zurück :-)

> Wer hat hier Erfahrung? Eine Meinung ?

Solange du das nur für dich baust, ist eine Tabellenlösung
sicher mehr als ausreichend.

Wenn du das aber kommerziell vertreiben willst, brauchst du
die Formeln. Die Auf und Untergangszeiten sind am gleichen
Tag in Rom nun mal anders als in Hamburg.

Implementiere es so, wie es für dich am einfachsten ist.
Ich würde die Formeln nehmen.
Grund: die 5 Formeln einmal abzutippen geht (für mich) allemal
schneller als das ganze in Excel abzutippen, eine Tabelle zu
erstellen, diese Tabelle abspeichern, in den C Code zu übernehmen
und den Tabellenzugriff zu programmieren. Da ist es mir doch
lieber der Mega rechnet einmal am Tag was ordentliches aus
anstatt nur so vor sich hinzudösen. Er hat ja Zeit. :-)

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren