#include <Wire.h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27, 16, 2);
int sw1 = 12, sw2 = 11;
int led1 = 7, led2 = 6;
int in1 = 0;
float ValueIn = 0;
#define CLK 8
#define DT 9
#define SW 10
int counter = 0;
int currentStateCLK;
int lastStateCLK;
String currentDir ="";
unsigned long lastButtonPress = 0;
void setup() {
pinMode(CLK,INPUT);
pinMode(DT,INPUT);
pinMode(SW, INPUT_PULLUP);
Serial.begin(9600);
lastStateCLK = digitalRead(CLK);
lcd.init(); //can use lcd.begin();
lcd.backlight(); // on-off background
//display lcd
lcd.setCursor(0,0);
lcd.print("PV: ");
lcd.setCursor(12, 0);
lcd.print("(mA)");
}
void loop() {
currentStateCLK = digitalRead(CLK);
if (currentStateCLK != lastStateCLK && currentStateCLK == 1){
if (digitalRead(DT) != currentStateCLK) {
if(counter < 0){
counter = 0;
}
else{
counter ++;
}
ValueIn = 0.1 * counter;
lcd.setCursor(0,1); lcd.print("LOW: ");
if(ValueIn > 20){
ValueIn = 20;
}
else{
lcd.setCursor(5,1); lcd.print(ValueIn,1);
}
}
else {
counter --;
ValueIn = 0.1 * counter;
lcd.setCursor(0,1); lcd.print("LOW: ");
if(ValueIn < 0){
ValueIn = 0;
}
else{
lcd.setCursor(5,1); lcd.print(ValueIn,1);
}
}
}
lastStateCLK = currentStateCLK;
int btnState = digitalRead(SW);
delay(1);
}