Jak stworzyć efektywny algorytm do automatycznego włączania/wyłączania lampy z PCF8583?
Algorytm zalacz_wylacz np lampy
From: tzurek_at_nospam_poczta.onet.pl (=?iso-8859-2?Q?Tomek_=AF=F3rawski?=)
Subject: Algorytm zalacz_wylacz np lampy
Date: 6 Sep 2002 07:18:31 +0200
Witam
Jak rozwiazac nastepyjacy problem
Mam zrobiony zegar na PCF8583(podtrzymanie bateryjka) z ktorego mozna tylko
odczytac (pomijam sekundy):
- godzine,
- dzien tygodnia (tj. Poniedzialek .... Niedziela),
- dzien miesiaca
- miesiac
niestety roku nie ma w tym scalaku (jedynie zlicza lata 0...4) dla
obliczenia roku przestepnego.
Zegar ma symulowac np obecnosc domownikow czyli ma sie samo zalaczac/
wylaczac swiatlo np.
na zewnatrz domu. Pomijam tutaj czy ona sie swieci caly dzien czy nie (to
jest teraz nie istotne).
Zapalenie sie lamy ustawiamy poprzez:
- godzine (bez minut), dzien miesiaca i miesiac.
Podobnie jest z wylaczeniem ustawiamy:
- godzine (bez minut), dzien miesiaca i miesiac.
I teraz jedziemy sobie np. na narty (zima za kilka miesiecy :)) )
Ustawiamy ze lampa ma sie swiecic od np 10:00 22.Styczen a wylaczenie na
15:00 18. Lutego
Jedziemy na narty o 2 dni wczesniej czyli 20'tego.
Czyli jesli zegar osiagnie czas zalaczenia to lampa swieci az do dnia
zakonczenia
tj. po przekroczeniu 15:00 18. Lutego wylaczamy lampe
Teraz pytanie jak powinien wygladac algorytm takiego wlacz/wylacz przez
okreslony czas, majac do dyspozycji odczyt z tego PCF8583.
teoretycznie :
if ((miesiac >= miesiac_start) and (dzien>= dzien_start) and (godzina>=
godz_start)) then
wlacz lampke
wylacz podobnie
Ale ten algorytm powyzej jest do kitu:
1. jesli ustawie start na np 22.Grudnia a stop na Styczen ...
itd
dzieki za pomoc
Pozdrowienia
Tomek
Gadu-Gadu 625530
--
Archiwum grupy: http://niusy.onet.pl/pl.misc.elektronika
From: Milosz Skowyra <miloszek_at_nospam_fido.net.org.pl>
Subject: Re: Algorytm zalacz_wylacz np lampy
Date: Fri, 06 Sep 2002 10:40:51 +0200
Tomek Żórawski wrote:
teoretycznie :
if ((miesiac >= miesiac_start) and (dzien>= dzien_start) and (godzina>=
godz_start)) then
wlacz lampke
Ja zaproponuje rozwiazanie znane z pecka, jezeli wystarczy ci
rozdzielczosc minutowa to okreslaj date jako ilosc minut od daty
poczatkowej. Wiem ze to troche karkolomne ale raczej nic innego ci nie
pozostalo.
Swoja droga to ciekawe dlaczego RTC nie ma wskaznika roku...
--
Regards. Przy odpowiedzi usun "." przed "net" z adresu!!!
|-----------------------------------------------------|
| Milosz Skowyra GSM Mobile +48 600 95 35 72 |
| miloszek_at_nospam_fido.net.org.pl 2:484/2.47 on fidonet |
|-----------------------------------------------------|
..and when you turned to me and smiled.....it took my breath away...
From: tzurek_at_nospam_poczta.onet.pl (=?iso-8859-2?Q?Tomek_=AF=F3rawski?=)
Subject: Re: Algorytm zalacz_wylacz np lampy
Date: 6 Sep 2002 11:17:19 +0200
PCF8583 nie ma i nie zlicza lat, tzn aby zliczal automatycznie np sama
koncowke zamiast 2002 to 02, jest jedynie
zliczanie od 0 do 3 , tylko tyle ale to jest tylko potrzebne aby PCF sobie
odpowiednio skorygowal rok przestepny.
Czyli jesli rokiem przestepnym byl (chyba) 2000 to do PCF powwinno sie
wpisac w rejestr rok = 2
--
Archiwum grupy: http://niusy.onet.pl/pl.misc.elektronika
From: "Lenin" <paytv4free_at_nospam_poczta.onet.pl>
Subject: Re: Algorytm zalacz_wylacz np lampy
Date: Fri, 6 Sep 2002 11:52:23 +0200
zliczanie od 0 do 3 , tylko tyle ale to jest tylko potrzebne aby PCF sobie
odpowiednio skorygowal rok przestepny.
noo... nie do konca...algorytm obliczania lat przestepnych jest ciut
bardziej skomplikowany... bez znajomosci ktory mamy rok (aby sprawdzic jego
podzielnosc) nie jest mozliwe (IMHO) obliczenie ktory rok uznac za
przestepny :)
Lenin