Zur Übersicht - INFO - Neueste 50 Beiträge - Neuer Beitrag - Suchen - FAQ - Zum CC1-Forum - Zum CC-Pro-Forum

Re: Zeitschaltuhr mit Serialzeit Kategorie: Programmierung (von Andreas - 12.04.2010 9:45)
Als Antwort auf Re: Zeitschaltuhr mit Serialzeit von ChristianS - 9.04.2010 10:25

Hallo Christian, ich habe versucht nicht deinen Code zu verändern, sondern neu anzufangen.
Wie schon vorher gesagt würde ich Ausschaltzeiten die nach 0:00 Uhr enden einen Wert
über 86400 geben und diesen dann über die Funktion â??neuerTagâ?? nach Mitternacht anpassen.
So kannst du auch schnell ein Sonderprogramm laufen lasen wenn mal
für z.B. 3 Tage = 259200 Sek. was anders laufen soll.
Wenn du das nicht willst, kannst du es ganz leicht anpassen.
Die Berechnung ob das Licht überhaupt eingeschaltet werden soll (zu kurze Einschaltdauer vermeiden)
würde ich in die Berechnung über die Ein- und Ausschaltzeiten reinnehmen.
Soll nicht eingeschaltet werden auto = 1, sonst auto = 2.
GruÃ?
Andreas


byte auto;
byte tag_neu;
long aus_normal;
long ausschalten;
long dauer;

function Gartenlicht ()
{
  if auto > 1 and timeserial > (aus_normal - dauer) and timeserial < aus_normal {
  max7311.set(0,7,1);
  ausschalten = aus_normal;
  auto = 4;
  }
  if auto > 1 and ausschalten + 1800 > aus_normal - dauer {
  ausschalten = aus_normal;} //manuell eingeschaltetes Licht nur aus wenn nicht in 30 Min wieder ein
 
  //auto > o wird nur benötig, wenn auch mal alles auf manuell laufen soll
  if auto > 0 and timeserial > ausschalten {
  max7311.set(0,7,0);
  }
}

function Taster ()
{
if auto == 4 {auto = 1;}
max7311.toggle(0,7);
ausschalten = timeserial + 7200;
}

function neuerTag ()
{
if timeserial < 10  and tag_neu == 0 {
  if aus_normal > 86399 { aus_normal = aus_normal - 86400;}
  if ausschalten > 86399 { ausschalten = ausschalten - 86400;}
  tag_neu = 1; //wird bei deinen Berechnungen um 4:00 wieder auf 0 gesetzt
}


    Antwort schreiben


Antworten: