Over the past few years I’ve been playing around with Arduino and aquarium related projects. The Photon will be my first IoT. I was wondering if I could still use this library to calculate sunrise/sunset times for a certain geographical location using longitude and latitude for start and stop times.
That is a nice simple library. It is imported into the Particle cloud. Search for it as TimeLord@0.0.1. Let me know if you have any problems.
$ particle serial monitor --follow
Polling for available serial device...
Opening serial monitor for com port: "/dev/cu.usbmodem1421"
Serial monitor opened successfully:
Serial connection closed. Attempting to reconnect...
Serial monitor opened successfully:
Sunrise: 5:20
Sunset: 18:47
I am try to use this library…I have at least, for the moment, one question. In the example SunriseSunset.ino I don’t understand the format in the statement:
byte today[] = { 0, 0, 12, 27, 10, 2012 }; // store today’s date (at noon) in an array for TimeLord to use.
it won’t compile as is , since 2012 is not byte sized. what are the array locations meanings?
This statement defines a byte array with (originally) unknown extent but then initialises it with the values given in the curly braces hence setting its extent to six bytes - but you are right 2012 won’t fit into byte, so either change the data type (e.g uint16_t)or use 12 instead of 2012.
I managed to get SunriseSunset.ino to function using a 2 digit year of 19 and making the appropriate changes to the date to 2-22-19. It did return the sunset time within a few minutes of what I found on a website. This is close enough for my application.
I do have two questions though:
I am really puzzled over the comment in this statement:
tardis.TimeZone(-5 * 60); // tell TimeLord what timezone your RTC is synchronized to. You can ignore DST
// as long as the RTC never changes back and forth between DST and non-DST
(the -5 is my local time zone)
Any help in clarifying the meaning would be appreciated!