#include <LiquidCrystal_I2C.h>;
LiquidCrystal_I2C lcd(0x27,16,2);
int tombol=13;
int merah=8;
int kuning=9;
int hijau=10;
int tekan;
int tekanan;
void setup() {
//program masukan dan keluaran:
pinMode(13, INPUT);
pinMode(10, OUTPUT);
pinMode(9, OUTPUT);
pinMode(8, OUTPUT);
lcd.init();
lcd.backlight();
}
void lmerah() {
digitalWrite(8, HIGH);
digitalWrite(9, LOW);
digitalWrite(10, LOW);
tone(12,262);
lcd.clear();
lcd.setCursor(2,0);
lcd.print("Lampu Merah");
lcd.setCursor(4,1);
lcd.print("Menyala");
}
void lkuning() {
digitalWrite(8, LOW);
digitalWrite(9, HIGH);
digitalWrite(10, LOW);
tone(12,294);
lcd.clear();
lcd.setCursor(2,0);
lcd.print("Lampu Kuning");
lcd.setCursor(4,1);
lcd.print("Menyala");
}
void lhijau() {
digitalWrite(8, LOW);
digitalWrite(9, LOW);
digitalWrite(10, HIGH);
tone(12,330);
lcd.clear();
lcd.setCursor(2,0);
lcd.print("Lampu Hijau");
lcd.setCursor(4,1);
lcd.print("Menyala");
}
void lmati() {
digitalWrite(10, LOW);
digitalWrite(9, LOW);
digitalWrite(8, LOW);
noTone(12);
lcd.clear();
tekanan=0;
}
void loop() {
//pencet button ke berapa kali
tekan=digitalRead(13);
if (tekan==1){
tekanan++;
delay(300);
if (tekanan==1){
lmerah();
}else if (tekanan==2){
lkuning();
}else if(tekanan==3){
lhijau();
}else if(tekanan==4){
lmati();
}
}
}