//#include <Bonezegei_LCD2004_I2C.h>
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
#define but_left 6
#define but_right 5
#define but_up 7
#define but_down 4
int8_t count =0;
uint8_t clickUp;
uint8_t clickDown;
uint8_t lastStateUp = HIGH;
uint8_t lastStateDown = HIGH;
LiquidCrystal_I2C lcd(0x27, 20, 4); // I2C address 0x27, 20 column and 4 rows
void setup() {
pinMode(but_left, INPUT_PULLUP);
pinMode(but_right, INPUT_PULLUP);
pinMode(but_up, INPUT_PULLUP);
pinMode(but_down, INPUT_PULLUP);
lcd.init(); //initialize the lcd
lcd.backlight(); //open the backlight
lcd.setCursor(1, 0);
lcd.print("Hello World!");
//lcd.setCursor(0, 0);
//lcd.print(">");
}
void loop() {
bool butStateLeft = digitalRead(but_left);
bool butStateRight = digitalRead(but_right);
bool butStateUp = digitalRead(but_up);
bool butStateDown = digitalRead(but_down);
if (butStateUp == LOW && lastStateUp == HIGH){
clickUp = true;
}
if (butStateDown == LOW && lastStateDown == HIGH){
clickDown = true;
}
if (clickUp){
count --;
lcd.clear();
lcd.setCursor(0, count);
lcd.print(">");
if (count == -1) count=4;
clickUp = false;
}
if (clickDown){
count --;
lcd.clear();
lcd.setCursor(0, count-1);
lcd.print(">");
if (count ==4) count=0;
clickUp = false;
}
lastStateUp = butStateUp;
lastStateDown = butStateDown;
// if (butStateUp == HIGH && lastStat == HIGH){
}