#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd (0x27, 20, 4);
#define clk 25
#define dt 26
#define sw 27
int old_clk, new_clk;
int dat;
int old, new1;
int count = 0;
void setup() {
pinMode(clk, INPUT_PULLUP);
pinMode(dt, INPUT_PULLUP);
pinMode(sw, INPUT_PULLUP);
Serial.begin(115200);
lcd.init();
lcd.backlight();
lcd.setCursor(4, 0);
lcd.print("Light status");
old_clk = digitalRead(clk);
}
void loop() {
new_clk = digitalRead(clk);
if (old_clk != new_clk) {
dat = digitalRead(dt);
if (new_clk != dat && new_clk == 0) {
if(count < 10){
// int count = 0; count < 20 ; count++;
count++;
lcd.setCursor(count+4, 1);
lcd.print("*");
delay(200);
Serial.println(count);
}
if(count==10){
lcd.setCursor(8,3);
lcd.print("MAX");
delay(4000);
lcd.setCursor(8,3);
lcd.print(" ");
}
}
}
if (new_clk == dat && new_clk == 0) {
if(count > 0){
// int count = 0; count < 20 ; count++;
count--;
lcd.setCursor(count+5, 1);
lcd.print(" ");
delay(200);
Serial.println(count);
}
if(count==0){
lcd.setCursor(8,3);
lcd.print("MIN");
delay(4000);
lcd.setCursor(8,3);
lcd.print(" ");
}
}
old_clk = new_clk;
delay(10);
// for (int i = 0; i < 20 ; i++) {
// lcd.setCursor(i, 1);
// lcd.print(">");
// delay(500);
// lcd.setCursor(i, 1);
// lcd.print(" ");
// }
// for (int i = 19; i >= 0 ; i--) {
// lcd.setCursor(i, 1);
// lcd.print("<");
// delay(500);
// lcd.setCursor(i, 1);
// lcd.print(" ");
// }
}