#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27, 16, 2);
const int b1 = 4, b2 = 2; int up, down, cnt = 0;
void setup() {
Serial.begin(115200);
pinMode(b1, INPUT_PULLUP);
pinMode(b2, INPUT_PULLUP);
lcd.init(); lcd.backlight(); lcd.setCursor(3, 0); lcd.print("HELLO AIB");
delay(500);
lcd.clear();
}
void loop() {
up = !digitalRead(b1); down = !digitalRead(b2);
Serial.print(up); Serial.print(", "); Serial.print(down); Serial.print(", ");
switch (up) {
case 1:
cnt++;
break;
}
switch (down) {
case 1:
cnt--;
break;
}
delay(50);
Serial.print("counter = "); Serial.println(cnt);
lcd.setCursor(4, 0);
lcd.print("Counter:");
lcd.setCursor(4, 1);
lcd.print(cnt);
if (cnt <= 9) {
lcd.setCursor(5, 1);
lcd.print(" ");
}
else if (cnt <= 99) {
lcd.setCursor(6, 1);
lcd.print(" ");
}
else if (cnt <= 999) {
lcd.setCursor(7, 1);
lcd.print(" ");
}
}
UP
DOWN