/**** Setup ****/
/***************/
void setup() {
byte second, minute, hour, dayOfWeek, dayOfMonth, month, year;
Wire.begin();
Serial.begin(9600);
////// Uncomment the following to initially set the time and date
////// After you load the sketch, then comment out the section again, and reload the sketch 1 more time.
////// This prevents the sketch from resetting back to the beginning. ;)
second = 0;
minute = 6;
hour = 22;
dayOfWeek = 2;
dayOfMonth = 12;
month = 12;
year = 11;
/// setDateDs1307(second, minute, hour, dayOfWeek, dayOfMonth, month, year);
Wire.begin();
lcd.init();
lcd.print("Typhon-Reef");
lcd.setCursor(0,1);
lcd.print("");
delay(5000);
lcd.clear();
btnCurrIteration = btnMaxIteration;
}
/***** Loop *****/
/****************/
void loop() {
byte second, minute, hour, dayOfWeek, dayOfMonth, month, year;
getDateDs1307(&second, &minute, &hour, &dayOfWeek, &dayOfMonth, &month, &year);
oldMinCounter = minCounter;
minCounter = hour * 60 + minute;
//reset plus & minus acceleration counters if the button's state has changed
if(plus.stateChanged())
{
btnCurrDelay(btnMaxIteration);
}
if(minus.stateChanged())
{
btnCurrDelay(btnMaxIteration);
}
//check & set fade durations
if(oneFadeDuration > onePhotoPeriod/2 && onePhotoPeriod >0){oneFadeDuration = onePhotoPeriod/2;}
if(oneFadeDuration<1){oneFadeDuration=1;}
if(twoFadeDuration > twoPhotoPeriod/2 && twoPhotoPeriod >0){twoFadeDuration = twoPhotoPeriod/2;}
if(twoFadeDuration<1){twoFadeDuration=1;}
if(threeFadeDuration > threePhotoPeriod/2 && threePhotoPeriod >0){threeFadeDuration = threePhotoPeriod/2;}
if(threeFadeDuration<1){threeFadeDuration=1;}
if(fourFadeDuration > fourPhotoPeriod/2 && fourPhotoPeriod > 0){fourFadeDuration = fourPhotoPeriod/2;}
if(fourFadeDuration<1){fourFadeDuration=1;}
if(fiveFadeDuration > fivePhotoPeriod/2 && fivePhotoPeriod > 0){fiveFadeDuration = fivePhotoPeriod/2;}
if(fiveFadeDuration<1){fiveFadeDuration=1;}
if(sixFadeDuration > sixPhotoPeriod/2 && sixPhotoPeriod > 0){sixFadeDuration = sixPhotoPeriod/2;}
if(sixFadeDuration<1){sixFadeDuration=1;}
//check & set any time functions
//set outputs
if(!override){
oneVal = setLed(minCounter, oneLed, oneStartMins, onePhotoPeriod, oneFadeDuration, oneMax, oneInverted);
twoVal = setLed(minCounter, twoLed, twoStartMins, twoPhotoPeriod, twoFadeDuration, twoMax, twoInverted);
threeVal = setLed(minCounter, threeLed, threeStartMins, threePhotoPeriod, threeFadeDuration, threeMax, threeInverted);
fourVal = setLed(minCounter, fourLed, fourStartMins, fourPhotoPeriod, fourFadeDuration, fourMax, fourInverted);
fiveVal = setLed(minCounter, fiveLed, fiveStartMins, fivePhotoPeriod, fiveFadeDuration, fiveMax, fiveInverted);
sixVal = setLed(minCounter, sixLed, sixStartMins, sixPhotoPeriod, sixFadeDuration, sixMax, sixInverted);
}
else{
ovrSetAll(overpercent);
}
//turn the backlight off and reset the menu if the idle time has elapsed
if(lcdTime + lcdDelay < millis() && lcdTime > 0 ){
menuCount = 1;
lcd.clear();
lcdTime = 0;
}
//iterate through the menus
if(menu.uniquePress()){
lcdTime = millis();
if(menuCount < 32){ ///////////////////////////////////////////////////////////////////// menu count
menuCount++;
}else {
menuCount = 1;
}
lcd.clear();
}
if(menuCount == 1){
//main screen turn on!!!
if (minCounter > oldMinCounter){
lcd.clear();
}
lcd.setCursor(0,0);
printHMS(hour, minute, second);
lcd.setCursor(0,1);
switch(dayOfWeek){
case 1:
lcd.print("Sun");
break;
case 2:
lcd.print("Mon");
break;
case 3:
lcd.print("Tue");
break;
case 4:
lcd.print("Wed");
break;
case 5:
lcd.print("Thu");
break;
case 6:
lcd.print("Fri");
break;
case 7:
lcd.print("Sat");
break;
}
lcd.print(" ");
lcd.print(dayOfMonth, DEC);
lcd.print("/");
lcd.print(month, DEC);
lcd.print("/20");
lcd.print(year, DEC);
lcd.setCursor(0,2);
lcd.print("1-3:");
lcd.setCursor(5,2);
lcd.print(oneVal);
lcd.setCursor(9,2);
lcd.print(twoVal);
lcd.setCursor(13,2);
lcd.print(threeVal);
lcd.setCursor(0,3);
lcd.print("4-6:");
lcd.setCursor(5,3);
lcd.print(fourVal);
lcd.setCursor(9,3);
lcd.print(fiveVal);
lcd.setCursor(13,3);
lcd.print(sixVal);
//debugging function to use the select button to advance the timer by 1 minute
//if(select.uniquePress()){setDateDs1307(second, minute+1, hour, dayOfWeek, dayOfMonth, month, year);}
}
if(menuCount == 2){
//Manual Override Menu
lcd.setCursor(0,0);
lcd.print("Manual Overrides");
lcd.setCursor(0,1);
lcd.print("All: ");
if(select.uniquePress()){
if(menuSelect < 3){menuSelect++;}
else{menuSelect = 0;}
lcdTime = millis();
}
if(menuSelect == 0){
lcd.print("Timer");
override = false;}
if(menuSelect == 1){
lcd.print("ON ");
overpercent = 100;
override = true;}
if(menuSelect == 2){
lcd.print("OFF ");
overpercent = 0;
override = true;}
if(menuSelect == 3){
override = true;
lcd.print(overpercent,DEC);
lcd.print("% ");
if(plus.isPressed() && overpercent <100)
{
overpercent++;
delay(btnCurrDelay(btnCurrIteration-1));
lcdTime = millis();
}
if(minus.isPressed() && overpercent > 0)
{
overpercent--;
delay(btnCurrDelay(btnCurrIteration-1));
lcdTime = millis();
}
}
}
if(menuCount == 3){
//set start time for channel one
lcd.setCursor(0,0);
lcd.print("Channel 1 Start");
lcd.setCursor(0,1);
printMins(oneStartMins, true);
if(plus.isPressed() && oneStartMins < 1440){
oneStartMins++;
if(onePhotoPeriod >0){onePhotoPeriod--;}
else{onePhotoPeriod=1439;}
delay(btnCurrDelay(btnCurrIteration-1));
lcdTime = millis();
}
if(minus.isPressed() && oneStartMins > 0){
oneStartMins--;
if(onePhotoPeriod<1439){onePhotoPeriod++;}
else{onePhotoPeriod=0;}
delay(btnCurrDelay(btnCurrIteration-1));
lcdTime = millis();
}
}
if(menuCount == 4){
//set end time for channel one
lcd.setCursor(0,0);
lcd.print("Channel 1 End");
lcd.setCursor(0,1);
printMins(oneStartMins+onePhotoPeriod, true);
if(plus.isPressed()){
if(onePhotoPeriod < 1439){
onePhotoPeriod++;}
else{
onePhotoPeriod=0;
}
delay(btnCurrDelay(btnCurrIteration-1));
lcdTime = millis();
}
if(minus.isPressed()){
if(onePhotoPeriod >0){
onePhotoPeriod--;}
else{
onePhotoPeriod=1439;
}
delay(btnCurrDelay(btnCurrIteration-1));
lcdTime = millis();
}
}
if(menuCount == 5){
//set fade duration for channel one
lcd.setCursor(0,0);
lcd.print("Channel 1 Fade");
lcd.setCursor(0,1);
printMins(oneFadeDuration, false);
if(plus.isPressed() && (oneFadeDuration < onePhotoPeriod/2 || oneFadeDuration == 0)){
oneFadeDuration++;
delay(btnCurrDelay(btnCurrIteration-1));
lcdTime = millis();
}
if(minus.isPressed() && oneFadeDuration > 1){
oneFadeDuration--;
delay(btnCurrDelay(btnCurrIteration-1));
lcdTime = millis();
}
}
if(menuCount == 6){
//set intensity for channel one
lcd.setCursor(0,0);
lcd.print("Channel 1 Max");
lcd.setCursor(1,1);
lcd.print(oneMax);
lcd.print(" ");
if(plus.isPressed() && oneMax < 100){
oneMax++;
delay(btnCurrDelay(btnCurrIteration-1));
lcdTime = millis();
}
if(minus.isPressed() && oneMax > 0){
oneMax--;
delay(btnCurrDelay(btnCurrIteration-1));
lcdTime = millis();
}
}
if(menuCount == 7){
//set start time for channel two
lcd.setCursor(0,0);
lcd.print("Channel 2 Start");
lcd.setCursor(0,1);
printMins(twoStartMins, true);
if(plus.isPressed() && twoStartMins < 1440){
twoStartMins++;
if(twoPhotoPeriod >0){twoPhotoPeriod--;}
else{twoPhotoPeriod=1439;}
delay(btnCurrDelay(btnCurrIteration-1));
lcdTime = millis();
}
if(minus.isPressed() && twoStartMins > 0){
twoStartMins--;
if(twoPhotoPeriod<1439){twoPhotoPeriod++;}
else{twoPhotoPeriod=0;}
delay(btnCurrDelay(btnCurrIteration-1));
lcdTime = millis();
}
}
if(menuCount == 8){
//set end time for channel two
lcd.setCursor(0,0);
lcd.print("Channel 2 End");
lcd.setCursor(0,1);
printMins(twoStartMins+twoPhotoPeriod, true);
if(plus.isPressed()){
if(twoPhotoPeriod < 1439){
twoPhotoPeriod++;}
else{
twoPhotoPeriod=0;
}
delay(btnCurrDelay(btnCurrIteration-1));
lcdTime = millis();
}
if(minus.isPressed()){
if(twoPhotoPeriod >0){
twoPhotoPeriod--;}
else{
twoPhotoPeriod=1439;
}
delay(btnCurrDelay(btnCurrIteration-1));
lcdTime = millis();
}
}
if(menuCount == 9){
//set fade duration for channel two
lcd.setCursor(0,0);
lcd.print("Channel 2 Fade");
lcd.setCursor(0,1);
printMins(twoFadeDuration, false);
if(plus.isPressed() && (twoFadeDuration < twoPhotoPeriod/2 || twoFadeDuration == 0)){
twoFadeDuration++;
delay(btnCurrDelay(btnCurrIteration-1));
lcdTime = millis();
}
if(minus.isPressed() && twoFadeDuration > 1){
twoFadeDuration--;
delay(btnCurrDelay(btnCurrIteration-1));
lcdTime = millis();
}
}
if(menuCount == 10){
//set intensity for channel two
lcd.setCursor(0,0);
lcd.print("Channel 2 Max");
lcd.setCursor(1,1);
lcd.print(twoMax);
lcd.print(" ");
if(plus.isPressed() && twoMax < 100){
twoMax++;
delay(btnCurrDelay(btnCurrIteration-1));
lcdTime = millis();
}
if(minus.isPressed() && twoMax > 0){
twoMax--;
delay(btnCurrDelay(btnCurrIteration-1));
lcdTime = millis();
}
}
if(menuCount == 11){
//set start time for channel three
lcd.setCursor(0,0);
lcd.print("Channel 3 Start");
lcd.setCursor(0,1);
printMins(threeStartMins, true);
if(plus.isPressed() && threeStartMins < 1440){
threeStartMins++;
if(threePhotoPeriod >0){threePhotoPeriod--;}
else{threePhotoPeriod=1439;}
delay(btnCurrDelay(btnCurrIteration-1));
lcdTime = millis();
}
if(minus.isPressed() && threeStartMins > 0){
threeStartMins--;
if(threePhotoPeriod<1439){threePhotoPeriod++;}
else{threePhotoPeriod=0;}
delay(btnCurrDelay(btnCurrIteration-1));
lcdTime = millis();
}
}
if(menuCount == 12){
//set end time for channel three
lcd.setCursor(0,0);
lcd.print("Channel 3 End");
lcd.setCursor(0,1);
printMins(threeStartMins+threePhotoPeriod, true);
if(plus.isPressed()){
if(threePhotoPeriod < 1439){
threePhotoPeriod++;}
else{
threePhotoPeriod=0;
}
delay(btnCurrDelay(btnCurrIteration-1));
lcdTime = millis();
}
if(minus.isPressed()){
if(threePhotoPeriod >0){
threePhotoPeriod--;}
else{
threePhotoPeriod=1439;
}
delay(btnCurrDelay(btnCurrIteration-1));
lcdTime = millis();
}
}
if(menuCount == 13){
//set fade duration for channel three
lcd.setCursor(0,0);
lcd.print("Channel 3 Fade");
lcd.setCursor(0,1);
printMins(threeFadeDuration, false);
if(plus.isPressed() && (threeFadeDuration < threePhotoPeriod/2 || threeFadeDuration == 0)){
threeFadeDuration++;
delay(btnCurrDelay(btnCurrIteration-1));
lcdTime = millis();
}
if(minus.isPressed() && threeFadeDuration > 1){
threeFadeDuration--;
delay(btnCurrDelay(btnCurrIteration-1));
lcdTime = millis();
}
}
if(menuCount == 14){
//set intensity for channel three
lcd.setCursor(0,0);
lcd.print("Channel 3 Max");
lcd.setCursor(1,1);
lcd.print(threeMax);
lcd.print(" ");
if(plus.isPressed() && threeMax < 100){
threeMax++;
delay(btnCurrDelay(btnCurrIteration-1));
lcdTime = millis();
}
if(minus.isPressed() && threeMax > 0){
threeMax--;
delay(btnCurrDelay(btnCurrIteration-1));
lcdTime = millis();
}
}
if(menuCount == 15){
//set start time for channel four
lcd.setCursor(0,0);
lcd.print("Channel 4 Start");
lcd.setCursor(0,1);
printMins(fourStartMins, true);
if(plus.isPressed() && fourStartMins < 1440){
fourStartMins++;
if(fourPhotoPeriod >0){fourPhotoPeriod--;}
else{fourPhotoPeriod=1439;}
delay(btnCurrDelay(btnCurrIteration-1));
lcdTime = millis();
}
if(minus.isPressed() && fourStartMins > 0){
fourStartMins--;
if(fourPhotoPeriod<1439){fourPhotoPeriod++;}
else{fourPhotoPeriod=0;}
delay(btnCurrDelay(btnCurrIteration-1));
lcdTime = millis();
}
}
if(menuCount == 16){
//set end time for channel four
lcd.setCursor(0,0);
lcd.print("Channel 4 End");
lcd.setCursor(0,1);
printMins(fourStartMins+fourPhotoPeriod, true);
if(plus.isPressed()){
if(fourPhotoPeriod < 1439){
fourPhotoPeriod++;}
else{
fourPhotoPeriod=0;
}
delay(btnCurrDelay(btnCurrIteration-1));
lcdTime = millis();
}
if(minus.isPressed()){
if(fourPhotoPeriod >0){
fourPhotoPeriod--;}
else{
fourPhotoPeriod=1439;
}
delay(btnCurrDelay(btnCurrIteration-1));
lcdTime = millis();
}
}
if(menuCount == 17){
//set fade duration for channel four
lcd.setCursor(0,0);
lcd.print("Channel 4 Fade");
lcd.setCursor(0,1);
printMins(fourFadeDuration, false);
if(plus.isPressed() && (fourFadeDuration < fourPhotoPeriod/2 || fourFadeDuration == 0)){
fourFadeDuration++;
delay(btnCurrDelay(btnCurrIteration-1));
lcdTime = millis();
}
if(minus.isPressed() && fourFadeDuration > 1){
fourFadeDuration--;
delay(btnCurrDelay(btnCurrIteration-1));
lcdTime = millis();
}
}
if(menuCount == 18){
//set intensity for channel four
lcd.setCursor(0,0);
lcd.print("Channel 4 Max");
lcd.setCursor(1,1);
lcd.print(fourMax);
lcd.print(" ");
if(plus.isPressed() && fourMax < 100){
fourMax++;
delay(btnCurrDelay(btnCurrIteration-1));
lcdTime = millis();
}
if(minus.isPressed() && fourMax > 0){
fourMax--;
delay(btnCurrDelay(btnCurrIteration-1));
lcdTime = millis();
}
}
if(menuCount == 19){
//set start time for channel five
lcd.setCursor(0,0);
lcd.print("Channel 5 Start");
lcd.setCursor(0,1);
printMins(fiveStartMins, true);
if(plus.isPressed() && fiveStartMins < 1440){
fiveStartMins++;
if(fivePhotoPeriod >0){fivePhotoPeriod--;}
else{fivePhotoPeriod=1439;}
delay(btnCurrDelay(btnCurrIteration-1));
lcdTime = millis();
}
if(minus.isPressed() && fiveStartMins > 0){
fiveStartMins--;
if(fivePhotoPeriod<1439){fivePhotoPeriod++;}
else{fivePhotoPeriod=0;}
delay(btnCurrDelay(btnCurrIteration-1));
lcdTime = millis();
}
}
if(menuCount == 20){
//set end time for channel five
lcd.setCursor(0,0);
lcd.print("Channel 5 End");
lcd.setCursor(0,1);
printMins(fiveStartMins+fivePhotoPeriod, true);
if(plus.isPressed()){
if(fivePhotoPeriod < 1439){
fivePhotoPeriod++;}
else{
fivePhotoPeriod=0;
}
delay(btnCurrDelay(btnCurrIteration-1));
lcdTime = millis();
}
if(minus.isPressed()){
if(fivePhotoPeriod >0){
fivePhotoPeriod--;}
else{
fivePhotoPeriod=1439;
}
delay(btnCurrDelay(btnCurrIteration-1));
lcdTime = millis();
}
}
if(menuCount == 21){
//set fade duration for channel five
lcd.setCursor(0,0);
lcd.print("Channel 5 Fade");
lcd.setCursor(0,1);
printMins(fiveFadeDuration, false);
if(plus.isPressed() && (fiveFadeDuration < fivePhotoPeriod/2 || fiveFadeDuration == 0)){
fiveFadeDuration++;
delay(btnCurrDelay(btnCurrIteration-1));
lcdTime = millis();
}
if(minus.isPressed() && fiveFadeDuration > 1){
fiveFadeDuration--;
delay(btnCurrDelay(btnCurrIteration-1));
lcdTime = millis();
}
}
if(menuCount == 22){
//set intensity for channel five
lcd.setCursor(0,0);
lcd.print("Channel 5 Max");
lcd.setCursor(1,1);
lcd.print(fiveMax);
lcd.print(" ");
if(plus.isPressed() && fiveMax < 100){
fiveMax++;
delay(btnCurrDelay(btnCurrIteration-1));
lcdTime = millis();
}
if(minus.isPressed() && fiveMax > 0){
fiveMax--;
delay(btnCurrDelay(btnCurrIteration-1));
lcdTime = millis();
}
}
if(menuCount == 23){
//set start time for channel six
lcd.setCursor(0,0);
lcd.print("Channel 6 Start");
lcd.setCursor(0,1);
printMins(sixStartMins, true);
if(plus.isPressed() && sixStartMins < 1440){
sixStartMins++;
if(sixPhotoPeriod >0){sixPhotoPeriod--;}
else{sixPhotoPeriod=1439;}
delay(btnCurrDelay(btnCurrIteration-1));
lcdTime = millis();
}
if(minus.isPressed() && sixStartMins > 0){
sixStartMins--;
if(sixPhotoPeriod<1439){sixPhotoPeriod++;}
else{sixPhotoPeriod=0;}
delay(btnCurrDelay(btnCurrIteration-1));
lcdTime = millis();
}
}
if(menuCount == 24){
//set end time for channel six
lcd.setCursor(0,0);
lcd.print("Channel 6 End");
lcd.setCursor(0,1);
printMins(sixStartMins+sixPhotoPeriod, true);
if(plus.isPressed()){
if(sixPhotoPeriod < 1439){
sixPhotoPeriod++;}
else{
sixPhotoPeriod=0;
}
delay(btnCurrDelay(btnCurrIteration-1));
lcdTime = millis();
}
if(minus.isPressed()){
if(sixPhotoPeriod >0){
sixPhotoPeriod--;}
else{
sixPhotoPeriod=1439;
}
delay(btnCurrDelay(btnCurrIteration-1));
lcdTime = millis();
}
}
if(menuCount == 25){
//set fade duration for channel six
lcd.setCursor(0,0);
lcd.print("Channel 6 Fade");
lcd.setCursor(0,1);
printMins(sixFadeDuration, false);
if(plus.isPressed() && (sixFadeDuration < sixPhotoPeriod/2 || sixFadeDuration == 0)){
sixFadeDuration++;
delay(btnCurrDelay(btnCurrIteration-1));
lcdTime = millis();
}
if(minus.isPressed() && sixFadeDuration > 1){
sixFadeDuration--;
delay(btnCurrDelay(btnCurrIteration-1));
lcdTime = millis();
}
}
if(menuCount == 26){
//set intensity for channel six
lcd.setCursor(0,0);
lcd.print("Channel 6 Max");
lcd.setCursor(1,1);
lcd.print(sixMax);
lcd.print(" ");
if(plus.isPressed() && sixMax < 100){
sixMax++;
delay(btnCurrDelay(btnCurrIteration-1));
lcdTime = millis();
}
if(minus.isPressed() && sixMax > 0){
sixMax--;
delay(btnCurrDelay(btnCurrIteration-1));
lcdTime = millis();
}
}
if(menuCount == 27){
//set hours
lcd.setCursor(0,0);
lcd.print("Set Time: Hrs");
lcd.setCursor(0,1);
printHMS(hour, minute, second);
if(plus.isPressed() && hour < 23){
hour++;
delay(btnCurrDelay(btnCurrIteration-1));
lcdTime = millis();
}
if(minus.isPressed() && hour > 0){
hour--;
delay(btnCurrDelay(btnCurrIteration-1));
lcdTime = millis();
}
setDateDs1307(second, minute, hour, dayOfWeek, dayOfMonth, month, year);
}
if(menuCount == 28){
//set minutes
lcd.setCursor(0,0);
lcd.print("Set Time: Mins");
lcd.setCursor(0,1);
printHMS(hour, minute, second);
if(plus.isPressed() && minute < 59){
minute++;
delay(btnCurrDelay(btnCurrIteration-1));
lcdTime = millis();
}
if(minus.isPressed() && minute > 0){
minute--;
delay(btnCurrDelay(btnCurrIteration-1));
lcdTime = millis();
}
setDateDs1307(second, minute, hour, dayOfWeek, dayOfMonth, month, year);
}
if(menuCount == 29){
//set dayOfWeek
lcd.setCursor(0,0);
lcd.print("Set Date: Day");
lcd.setCursor(0,2);
printDate();
if(plus.isPressed() && dayOfWeek < 7){
dayOfWeek++;
delay(btnCurrDelay(btnCurrIteration-1));
lcdTime = millis();
}
if(minus.isPressed() && dayOfWeek > 1){
dayOfWeek--;
delay(btnCurrDelay(btnCurrIteration-1));
lcdTime = millis();
}
setDateDs1307(second, minute, hour, dayOfWeek, dayOfMonth, month, year);
}
if(menuCount == 30){
//set dayOfMonth
lcd.setCursor(0,0);
lcd.print("Set Date: Date");
lcd.setCursor(0,2);
printDate();
if(plus.isPressed() && dayOfMonth < 31){
dayOfMonth++;
delay(btnCurrDelay(btnCurrIteration-1));
lcdTime = millis();
}
if(minus.isPressed() && dayOfMonth > 1){
dayOfMonth--;
delay(btnCurrDelay(btnCurrIteration-1));
lcdTime = millis();
}
setDateDs1307(second, minute, hour, dayOfWeek, dayOfMonth, month, year);
}
if(menuCount == 31){
//set Month
lcd.setCursor(0,0);
lcd.print("Set Date: Month");
lcd.setCursor(0,2);
printDate();
if(plus.isPressed() && month < 12){
month++;
delay(btnCurrDelay(btnCurrIteration-1));
lcdTime = millis();
}
if(minus.isPressed() && month > 1){
month--;
delay(btnCurrDelay(btnCurrIteration-1));
lcdTime = millis();
}
setDateDs1307(second, minute, hour, dayOfWeek, dayOfMonth, month, year);
}
if(menuCount == 32){
//set Month
lcd.setCursor(0,0);
lcd.print("Set Date: Year");
lcd.setCursor(0,2);
printDate();
if(plus.isPressed() && year < 99){
year++;
delay(btnCurrDelay(btnCurrIteration-1));
lcdTime = millis();
}
if(minus.isPressed() && year > 1){
year--;
delay(btnCurrDelay(btnCurrIteration-1));
lcdTime = millis();
}
setDateDs1307(second, minute, hour, dayOfWeek, dayOfMonth, month, year);
}
}