Bird cage LED daylight simulation system (5 / 10 steg)
Steg 5: Att hålla tiden
Arduinoen har inte en Real-Time-gång-klocka (RTC). Eftersom detta projekt är ett daylight simulation system, måste vi veta vilken tid det är för att starta ljusreglering lysdioderna.
De mest vanliga & prisvärda RTC: s är DS1302 (SPI) och DS1307 (I2C). För detta projekt använde jag DS1302 ansluten via SPI. Ansluta till denna RTC är väl förklaras på arduino playground webbplats
Jag använde DS1302 biblioteket av Henning Karlsen. Som är lätt att använda, och mycket väl dokumenterade. Så tack Henning för det hårda arbetet & för att dela koden!
Exempelkod för att få tid och kontrollera den mot en viss tid:
Boolean CheckIsDay()
{
Om kallas för andra gången, transit till rätt staten
Tid tid = rtc.getTime();
om ((time.hour > Day_Start_Hour & & time.hour < Day_End_Hour) ||
(time.hour == Day_Start_Hour & & time.min > = Day_Start_Min) ||
(time.hour == Day_End_Hour & & time.min < Day_End_Min))
{
return true;
}
{
returnera false;
}
}
Exempelkod för inställning av tid / datum:
Ställa in klockan till run-läge och inaktivera skrivskydd
RTC.halt(false);
rtc.writeProtect(false);
Följande rader kan kommenteras ut för att använda värden redan lagrade i DS1302
rtc.setDOW(SATURDAY); Ange dagen av veckan (ENUM kapital engelska fullständigt namn av dagen)
rtc.setTime (16, 12, 0); Ställa in tiden (24hr format)
rtc.setDate (4, 1, 2014); Ange datum dd mm åååå