#include <Wire.h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27, 16, 2);
const int led_merah = 3;
const int led_hijau = 4;
const int led_kuning = 5;
const int led_biru = 6;
const int led_ungu = 7;
const int button = 2;
int status_button = 0;
int nilaidata = 0;
void setup() {
lcd.init();
pinMode(led_merah, OUTPUT);
pinMode(led_hijau, OUTPUT);
pinMode(led_kuning, OUTPUT);
pinMode(led_biru, OUTPUT);
pinMode(led_ungu, OUTPUT);
pinMode(button, INPUT_PULLUP);
}
void loop() {
status_button = digitalRead(button);
if(status_button == LOW){
if(nilaidata == 0)
digitalWrite(led_merah, LOW);
digitalWrite(led_hijau, LOW);
digitalWrite(led_kuning, LOW);
digitalWrite(led_biru, LOW);
digitalWrite(led_ungu, LOW);
lcd.setCursor(0,0);
lcd.print("NILAI DATA : ");
lcd.print(nilaidata);
lcd.setCursor(0,1);
lcd.print("ALL LAMPU OFF");
nilaidata++;
delay(500);
}
else if(nilaidata == 1){
digitalWrite(led_merah, HIGH);
lcd.setCursor(0,0);
lcd.print("NILAI DATA : ");
lcd.print(nilaidata);
lcd.setCursor(0,1);
lcd.print("LAMPU MERAH ON ");
nilaidata++;
delay(500);
}
else if(nilaidata == 2){
digitalWrite(led_hijau, HIGH);
lcd.setCursor(0,0);
lcd.print("NILAI DATA : ");
lcd.print(nilaidata);
lcd.setCursor(0,1);
lcd.print("LAMPU HIJAU ON ");
nilaidata++;
delay(500);
}
else if(nilaidata == 3){
digitalWrite(led_kuning, HIGH);
lcd.setCursor(0,0);
lcd.print("NILAI DATA : ");
lcd.print(nilaidata);
lcd.setCursor(0,1);
lcd.print("LAMPU KUNING ON ");
nilaidata++;
delay(500);
}
else if(nilaidata == 4){
digitalWrite(led_biru, HIGH);
lcd.setCursor(0,0);
lcd.print("NILAI DATA : ");
lcd.print(nilaidata);
lcd.setCursor(0,1);
lcd.print("LAMPU BIRU ON ");
nilaidata++;
delay(500);
}
else if(nilaidata == 5){
digitalWrite(led_ungu, HIGH);
lcd.setCursor(0,0);
lcd.print("NILAI DATA : ");
lcd.print(nilaidata);
lcd.setCursor(0,1);
lcd.print("LAMPU UNGU ON ");
nilaidata++;
delay(500);
}
else if(nilaidata == 6){
lcd.setCursor(0,0);
lcd.print("NILAI DATA : ");
lcd.print(nilaidata);
lcd.setCursor(0,1);
lcd.print(" ALL LAMPU BLINK ");
for (int i = 0; i < 5; i++)
digitalWrite(led_merah, LOW);
delay(200);
digitalWrite(led_hijau, LOW);
delay(200);
digitalWrite(led_kuning, LOW);
delay(200);
digitalWrite(led_biru, LOW);
delay(200);
digitalWrite(led_ungu, LOW);
delay(200);
digitalWrite(led_merah, HIGH);
digitalWrite(led_hijau, HIGH);
digitalWrite(led_kuning, HIGH);
digitalWrite(led_biru, HIGH);
digitalWrite(led_ungu, HIGH);
nilaidata = 0;
delay(500);
}
}