I have installed the TimeLord from GitHub and RTClib from the library manager.
This is my code to control the light in the staircase using these libraries. The relay will be connected to Pin 9.
#include <TimeLord.h>
#include <RTClib.h>
RTC_DS1307 RTC;
TimeLord aqua;
void setup() {
// put your setup code here, to run once:
//put your locations latlong for sunrise/sunset timimgs
aqua.Position(28.60598, 77.33622);
aqua.TimeZone(5.5 * 60);
RTC.begin();
//RTC.adjust(DateTime(__DATE__, __TIME__));
pinMode(13, OUTPUT);
pinMode(9, OUTPUT);
}
void loop() {
// put your main code here, to run repeatedLy:
DateTime now = RTC.now();
byte sunRise[6] = {
0, 0, 0, now.day(), now.month(), now.year()
};
byte sunSet[6] = {
0, 0, 0, now.day(), now.month(), now.year()
};
aqua.SunRise(sunRise);
aqua.SunSet(sunSet);
if (now.hour() * 60 + now.minute() > sunRise[2] * 60 + sunRise[1] && now.hour() * 60 + now.minute() <= sunSet[2] * 60 + sunSet[1])
{
digitalWrite(13, 1);
digitalWrite(9, 0);
}
else
{
digitalWrite(13, 0);
digitalWrite(9, 1);
}
delay(90000);
}
The code compiles but the compiler comes up with some warnings. these are
Compiling library "TimeLord"
"C:\\Users\\Karanbir\\AppData\\Local\\Arduino15\\packages\\arduino\\tools\\avr-gcc\\4.9.2-atmel3.5.4-arduino2/bin/avr-g++" -c -g -Os -Wall -Wextra -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -MMD -flto -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10809 -DARDUINO_AVR_UNO -DARDUINO_ARCH_AVR "-IC:\\Users\\Karanbir\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\avr\\1.6.21\\cores\\arduino" "-IC:\\Users\\Karanbir\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\avr\\1.6.21\\variants\\standard" "-ID:\\Arduino_1.8.9\\Portable\\Sketchbook\\libraries\\TimeLord" "-ID:\\Arduino_1.8.9\\Portable\\Sketchbook\\libraries\\RTClib" "-IC:\\Users\\Karanbir\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\avr\\1.6.21\\libraries\\Wire\\src" "D:\\Arduino_1.8.9\\Portable\\Sketchbook\\libraries\\TimeLord\\TimeLord.cpp" -o "C:\\Users\\Karanbir\\AppData\\Local\\Temp\\arduino_build_172345\\libraries\\TimeLord\\TimeLord.cpp.o"
D:\Arduino_1.8.9\Portable\Sketchbook\libraries\TimeLord\TimeLord.cpp: In member function 'bool TimeLord::ComputeSun(uint8_t*, bool)':
D:\Arduino_1.8.9\Portable\Sketchbook\libraries\TimeLord\TimeLord.cpp:299:37: warning: unused variable 'z' [-Wunused-variable]
float y, decl, eqt, ha, lon, lat, z;
^
D:\Arduino_1.8.9\Portable\Sketchbook\libraries\TimeLord\TimeLord.cpp:301:7: warning: unused variable 'doy' [-Wunused-variable]
int doy, minutes;
^
Compiling library "RTClib"
"C:\\Users\\Karanbir\\AppData\\Local\\Arduino15\\packages\\arduino\\tools\\avr-gcc\\4.9.2-atmel3.5.4-arduino2/bin/avr-g++" -c -g -Os -Wall -Wextra -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -MMD -flto -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10809 -DARDUINO_AVR_UNO -DARDUINO_ARCH_AVR "-IC:\\Users\\Karanbir\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\avr\\1.6.21\\cores\\arduino" "-IC:\\Users\\Karanbir\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\avr\\1.6.21\\variants\\standard" "-ID:\\Arduino_1.8.9\\Portable\\Sketchbook\\libraries\\TimeLord" "-ID:\\Arduino_1.8.9\\Portable\\Sketchbook\\libraries\\RTClib" "-IC:\\Users\\Karanbir\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\avr\\1.6.21\\libraries\\Wire\\src" "D:\\Arduino_1.8.9\\Portable\\Sketchbook\\libraries\\RTClib\\RTClib.cpp" -o "C:\\Users\\Karanbir\\AppData\\Local\\Temp\\arduino_build_172345\\libraries\\RTClib\\RTClib.cpp.o"
D:\Arduino_1.8.9\Portable\Sketchbook\libraries\RTClib\RTClib.cpp: In constructor 'DateTime::DateTime(uint32_t)':
D:\Arduino_1.8.9\Portable\Sketchbook\libraries\RTClib\RTClib.cpp:86:18: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
if (days < 365 + leap)
^
D:\Arduino_1.8.9\Portable\Sketchbook\libraries\RTClib\RTClib.cpp: In constructor 'DateTime::DateTime(const char*, const char*)':
D:\Arduino_1.8.9\Portable\Sketchbook\libraries\RTClib\RTClib.cpp:136:70: warning: operation on '((DateTime*)this)->DateTime::m' may be undefined [-Wsequence-point]
case 'J': m = date[1] == 'a' ? 1 : m = date[2] == 'n' ? 6 : 7; break;
^
D:\Arduino_1.8.9\Portable\Sketchbook\libraries\RTClib\RTClib.cpp: In constructor 'DateTime::DateTime(const __FlashStringHelper*, const __FlashStringHelper*)':
D:\Arduino_1.8.9\Portable\Sketchbook\libraries\RTClib\RTClib.cpp:161:70: warning: operation on '((DateTime*)this)->DateTime::m' may be undefined [-Wsequence-point]
case 'J': m = buff[1] == 'a' ? 1 : m = buff[2] == 'n' ? 6 : 7; break;
^
These appear to be about code in the libraries.
How do we address these warnings.
Regards.