#include <Wire.h>
#include <I2C_RTC.h>
#include <LiquidCrystal_I2C.h>
static DS3231 RTC;
LiquidCrystal_I2C lcd(0x27, 16, 02);
#define rain_sense A0
#define set_hr_up 2
#define set_hr_dowb 3
#define selec_preset 4
int safe_value = 10;
int debounceDelay = 50;
int buttonState1 = HIGH;
int lastButtonState1 = HIGH;
unsigned long lastDebounceTime1 = 0;
void setup()
{
  Serial.begin(9600);
  RTC.begin();
  lcd.begin(16, 02);
  lcd.backlight();
  RTC.setDay(22);
  RTC.setMonth(5);
  RTC.setYear(2020);
  RTC.setHours(6);
  RTC.setMinutes(47);
  RTC.setSeconds(56);
  //RTC.setDate(22,07,29);
  //RTC.setTime(22,10,20);
  lcd.setCursor(0, 0);
  lcd.print("TEST");
}
void loop()
{
  int water_level = analogRead(rain_sense);
  int hrs = RTC.getHours();
  int mnt = RTC.getMinutes();
  int reading1 = digitalRead(selec_preset);
  debounceButton(reading1, lastButtonState1, lastDebounceTime1, buttonState1);
}
void debounceButton(int reading, int &lastButtonState, unsigned long &lastDebounceTime, int &buttonState) {
  if (reading != lastButtonState) {
    lastDebounceTime = millis();
  }
  if ((millis() - lastDebounceTime) > debounceDelay) {
    if (reading != buttonState) {
      buttonState = reading;
      if (buttonState == LOW) {
        Serial.println("Click");
      }
    }
  }
  lastButtonState = reading;
}