#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27, 16 ,2);
const int buttonPlus = 13;
const int buttonMinus = 12;
const int buttonAwal = 11;
const int buttonAkhir = 10;
int counter = 0;
int mode = 0;
void setup() {
lcd.init();
lcd.backlight();
lcd.setCursor(0, 0);
lcd.print("Wahyu efendi");
lcd.setCursor(0, 1);
lcd.print("20 Mei 2007");
delay(1500);
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("Wahyu efendi");
lcd.setCursor(0, 1);
lcd.print("Counter : 0");
pinMode(buttonPlus, INPUT);
pinMode(buttonMinus, INPUT);
pinMode(buttonAwal, INPUT);
pinMode(buttonAkhir, INPUT);
}
void loop() {
int SbuttonPlus = digitalRead(buttonPlus);
int SbuttonMinus = digitalRead(buttonMinus);
int SbuttonAwal = digitalRead(buttonAwal);
int SbuttonAkhir = digitalRead(buttonAkhir);
// Menambah counter jika tombol increment ditekan
if (SbuttonPlus == HIGH) {
if (counter < 25) {
counter++;
lcd.setCursor(10, 1);
lcd.print(counter);
lcd.print(" ");
}
delay(200); // Debounce delay
}
// Mengurangi counter jika tombol decrement ditekan
if (SbuttonMinus == HIGH) {
if (counter > 0) {
counter--;
lcd.setCursor(10, 1);
lcd.print(counter);
lcd.print(" ");
}
delay(200);
}
if (SbuttonAwal == HIGH) {
counter = 0;
lcd.setCursor(10, 1);
lcd.print(counter);
lcd.print(" ");
mode = 1;
delay(1000);
}
if (SbuttonAkhir == HIGH) {
counter = 25;
lcd.setCursor(10, 1);
lcd.print(counter);
lcd.print(" ");
mode = 2;
delay(1500);
}
if (mode == 1) {
if (counter < 25 ) {
counter++;
lcd.setCursor(10, 1);
lcd.print(counter);
lcd.print(" ");
delay(1000);
}else{
mode = 0;
}
}
if (mode == 2) {
if(counter > 0){
counter--;
lcd.setCursor(10, 1);
lcd.print(counter);
lcd.print(" ");
delay(1500);
}else{
mode = 0;
}
}
}