Hi, ich bin auf der Suche nach einem Algorithmus zur Berechnung der Sonnenauf- und untergangszeit. Hat jemand sowas schonmal auf einem AVR gemacht? Kennt jemand eine Beschreibung des Algortihmus ? Gruß Andreas
http://de.wikipedia.org/wiki/Sonnenaufgang Weblinks: Berechnung von Tageslängen und Dämmerungsdauer in Abhängigkeit von Breitengrad und Tag im Jahr. Herleitung der Formeln. http://herbert.gandraxa.com/herbert/lod.asp http://www.mzmsoft.de/sheets/sasu_1.htm da gibts "bürgerliche" Dämmerungszeiten
Ist ansonsten mit grundlegenden Geometrie-/Astronomiekenntnissen selbst herleitbar - sind einfach zwei überlagerte Sinusschwingungen (Jahr und Tag). Wenn du die richtig zusammenfügst ist das eine einfache Abfrage des Vorzeichens, ob es Tag oder Nacht ist. Gruß Kai
Das Thema gabs schon mal Beitrag "Algorithnus für Sommerzeitberechnung gesucht" Beitrag "Uhr mit Wochentag und Datum"
Moin, alles klar - vielen Dank an alle! Gruß Andreas
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
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. :-)
Ich habe mal den hier http://williams.best.vwh.net/sunrise_sunset_algorithm.htm angegebenen Algoritmus angepasst. Die errechneten Werte weichen von den im 'Himmelsjahr' gelisteten Zeiten um +-1 Minute ab, was wohl mit Rundungseffekten zu tun hat. Auf einem Mega32 belegt der Code (ohne die Math-lib) 1284 Byte. Gruß Uwe
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.