#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27, 16, 2);
#define pinLed_Kuning 19
#define pinLed_Hijau 18
#define PB_Kuning 14
#define PB_Hijau 12
#define pinBuzzer 5
unsigned char Status_PB_Kuning, Status_PB_Hijau;
unsigned char Counter;
unsigned long PrevMillis, Interval = 500;
void setup() {
// put your setup code here, to run once:
Serial.begin(115200);
pinMode(pinLed_Kuning, OUTPUT);
pinMode(pinLed_Hijau, OUTPUT);
pinMode(PB_Kuning, INPUT);
pinMode(PB_Hijau, INPUT);
lcd.init();
lcd.backlight();
//Setup Awal Ketika Running
lcd.setCursor(3,0);
lcd.print("TOLI 3A");
lcd.setCursor(0,1);
lcd.print("Count:");
}
void loop() {
Status_PB_Kuning = digitalRead(PB_Kuning);
Status_PB_Hijau = digitalRead(PB_Hijau);
if (Status_PB_Kuning == 1){
Counter++;
lcd.setCursor(6,1);
lcd.print(Counter);
while (Status_PB_Kuning == 1){
Status_PB_Kuning = digitalRead(PB_Kuning);
Serial.println("Blocking...");
delay(100);
}
}
//==== program count down ===
//==== indikator mikon on off ==================
if (millis() - PrevMillis >= Interval){
PrevMillis= millis();
digitalWrite(pinLed_Hijau, !digitalRead(pinLed_Hijau));
}
//---------------------------------------------
if (Counter == 10){
for (i=0;i<10;i++){
tone(pinBuzzer, 100);
delay(200);
noTone(pinBuzzer);
}
}
//-----------------------------------------------
delay(100); // this speeds up the simulation
}