#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C LCD = LiquidCrystal_I2C(0x27, 20, 4);
unsigned char StatePB1, StatePB2,StatePB3;
#define pinPB1 14
#define pinPB2 12
#define pinPB3 13
#define LedMerah 23
#define LedKuning 19
#define LedHijau 18
unsigned char Counter;
unsigned char PLAN = 100;
unsigned char ACTUAL = 0; // DARU SENSOR = TOMBOL PB1
unsigned char DIFF; // plan - actual
unsigned char hasil = PLAN;
void setup() {
// put your setup code here, to run once:
Serial.begin(115200);
pinMode(LedMerah, OUTPUT);
pinMode(LedKuning, OUTPUT);
pinMode(LedHijau, OUTPUT);
digitalWrite(LedMerah, HIGH);
digitalWrite(LedKuning, HIGH);
digitalWrite(LedHijau, HIGH);
pinMode(pinPB1, INPUT_PULLUP);
pinMode(pinPB2, INPUT_PULLUP);
pinMode(pinPB3, INPUT_PULLUP);
LCD.init();
LCD.backlight();
LCD.setCursor(0, 0); // x , y
LCD.print("PLAN: ");
LCD.print(PLAN);
LCD.setCursor(0, 1);
LCD.print("ACTUAL: ");
LCD.setCursor(0, 2);
LCD.print("DIFF: ");
LCD.setCursor(0, 3);
LCD.print("DONE!");
}
void loop() {
// put your main code here, to run repeatedly:
StatePB1 = digitalRead(pinPB1);
StatePB2 = digitalRead(pinPB2);
StatePB3 = digitalRead(pinPB3);
if (StatePB1 == LOW)
{
digitalWrite(LedMerah, LOW); // led on
Counter++;
LCD.setCursor(8,1);
LCD.print(Counter);
digitalWrite(LedMerah, LOW); // led on
LCD.setCursor(7,2);
hasil--;
LCD.print(hasil);
}
else {
digitalWrite(LedMerah, HIGH);
}
//==============================================
if (StatePB2 == LOW)
{
digitalWrite(LedKuning, LOW);
}
else {
digitalWrite(LedKuning, HIGH);
}
}