#include <LiquidCrystal_I2C.h>
#define LCD_ADDR 0x27
#define LCD_COLUMNS 16
#define LCD_ROWS 2
LiquidCrystal_I2C lcd(LCD_ADDR, LCD_COLUMNS, LCD_ROWS);
int ledm = 13;
int ledy = 12;
int ledj = 11;
int buzzer = 10;
int potpin = A0;
int value;
void setup() {
// put your setup code here, to run once:
Serial.begin(9600);
pinMode(ledm, OUTPUT);
pinMode(ledy, OUTPUT);
pinMode(ledj, OUTPUT);
pinMode(buzzer, OUTPUT);
pinMode(potpin, INPUT);
lcd.begin(16,2);
lcd.init();
lcd.backlight();
lcd.setCursor(5,0);
lcd.print("WASPADA");
lcd.setCursor(0,4);
lcd.print(" ADA ANJING GLK ");
}
void loop() {
// put your main code here, to run repeatedly:
value = analogRead(potpin);
tone(buzzer, value);
if(value > 200){
digitalWrite(ledj, HIGH);
}
else{
digitalWrite(ledj, LOW);
}
if(value > 400){
digitalWrite(ledy, HIGH);
}
else{
digitalWrite(ledy, LOW);
}
if(value > 800){
digitalWrite(ledm, HIGH);
}
else{
digitalWrite(ledm, LOW);
}
if (value < 800) {
lcd.noBacklight(); // Matikan backlight jika nilai di bawah ambang
} else {
lcd.backlight(); // Hidupkan backlight jika nilai di atas ambang
}
delay(100); // Delay untuk menghindari flickeri
}