Einfügen als Gemeinsames Modul
Funktionen:
round()
JulianDatum()
InPi()
BerechneZeitgleichung()
SaSu()
Geo_to_Dez()
MinuteSerial_to_TimeHHNN()
Beschreibung Nach oben
Mit dem Modul geo.c2 kann man ortsbezogen den Sonnenauf-, sowie
den Sonnenuntergang berechnen.
Einfügen als Gemeinsames Modul
Nach oben
Die Datei geo.c2 in das Verzeichnis .\CControl2\UserLib
kopieren und in
der Datei modules.txt die Zeile geo.c2 unterhalb
einfügen.
Ein zusätzliches Ausrufezeichen unmittelbar nach einem Modulnamen in modules.txt
bestimmt,
daß das Modul in jedem neuen Projekt von anfang an aktiviert wird.
Konstanten Nach oben
const Pi = 3,1415926535897932;
// PI, hochauflösend
const Rad = Pi
/ 180;
// Bogenmaß
Funktionen:
round() Nach oben
function round(float fz) returns int
Die Funktion round() rundet eine Floatzahl entsprechend auf bzw.
ab
und gibt das Ergebnis als Integer zurück.
fz | zu rundende Float-Zahl |
JulianDatum()
Nach oben
function JulianDatum(float Jahr, float Monat, float Tag) returns float
Berechnung des Julianischen Datums.
Diese Funktion wird von der Sonnenauf-/Untergangsberechnung benötigt.
Die Rückgabe erfolgt in Tagen.
Jahr | Jahreszahl |
Monat | Monat |
Tag | Tag |
InPi()
Nach oben
function InPi(float x) returns float
Diese Funktion berechnet den Modulo 2Pi .
BerechneZeitgleichung()
Nach oben
function BerechneZeitgleichung(float T) returns float
Diese Funktion wird für die Funktion SaSu() benötigt.
SaSu() Nach oben
function SaSu(int Ja, int Mo, int Ta, float GBN, float GLO, int MEZ_MESZ, int sasu[])
Dies ist die eigentliche Funktion, um den Sonnenauf-, sowie den
Sonnenuntergang
anhand der Koordinaten und des Datums zu berechnen.
Die Rückgabe erfolgt in Minuten über ein Integerarray.
Ja | Jahr, vierstellig, Werte ab 2000 |
Mo | Monat (1-12) |
Ta | Tag (1-31) |
GBN | geographisch nördl. Breite in Grad |
GLO | geographisch östl. Länge in Grad |
MEZ_MESZ | 0 = nach aktueller Zeit (Sommerzeit(MESZ)
bzw. Winterzeit(MEZ)) 1 = MEZ 2 = MESZ |
sasu | serielles Datum |
Bsp. für München:
int time[2],SA,SU;
lcdext.init();
geo.SaSu(2005,
4, 10, geo.Geo_to_Dez(48,08),
geo.Geo_to_Dez(11,34),
0, time);
SA=geo.MinuteSerial_to_TimeHHNN(time[0]);
SU=geo.MinuteSerial_to_TimeHHNN(time[1]);
lcdext.print("SA:
");
lcdext.zahl4(SA);
lcdext.line(2);
lcdext.print("SU:
");
lcdext.zahl4(SU);
Geo_to_Dez() Nach oben
function Geo_to_Dez(byte grad, byte minuten) returns float
Diese Funktion konvertiert Koordinaten angegeben in Grad und Minuten
zu einem Dezimalen Grad-Wert.
grad | Grad |
minuten | Minuten |
MinuteSerial_to_TimeHHNN() Nach oben
function MinuteSerial_to_TimeHHNN(int minutes) returns int
Diese Funktion konvertiert Minuten in das Zeitformat HHNN in einer
Integerzahl,
um z.B. die Ausgabe leichter lesbar zu machen.
minutes | Minuten (0 - 1440) |
Author: André Helbig Mail: andre.h@cc2net.de
Erstellt: 9.4.2005 ©www.CC2Net.de