Solar-orienterade, Arduino-Powered klockan (5 / 10 steg)
Steg 5: Programvara - Solar beräkningar
Det är här bibliotek är bra. Jag använde Timelord.h och formaterade min data i matrisen den väntat och få tillbaka alla mina solar och lunar data. Enda jag behövde göra var sol noon, som jag tänkte var halvvägs mellan soluppgång och solnedgång. Kanske i någon trigonometriska mening är det felaktiga, men det är nära nog för mig.Den större smärtan är DST konvertering. Det är inte så enkelt som att bara lägga till eller dra ifrån en timme, som du måste ta hänsyn till vad som händer nära midnatt, och som beror på månaden, oavsett om det är ett skottår, osv... Tack och lov hanterar Timelord.h som alltför.
Slutligen är den vanliga konventionen i datorvärlden för RTC (system) tid att lagring av tidpunkten som UTC och sedan beräkna tiden baserat på tidsskillnaden och DST konvertering, om det behövs. Jag har inte problem med det, men för inte-teknisk folk kan det vara en hinderance. Jag valde att spara den tiden i RTC som standard lokal tid. Jag tycker det är lättare för de flesta att släppa en timme om i DST när du än tror om vad tiden är i UTC. Det vore inte svårt att ändra klockan för att hålla tiden UTC om thats vad du ville, som Timelord.h kommer att hantera detta.