#include <Wire.h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27, 16, 2); // Alamat I2C LCD
const int LDR_PIN = A0; // Pin analog untuk sensor LDR
const int BUZZER_PIN = 9; // Pin untuk buzzer
const int LED_PIN = 13; // Pin untuk LED
void setup() {
lcd.begin(16, 2); // Inisialisasi LCD
lcd.backlight();
pinMode(LDR_PIN, INPUT);
pinMode(BUZZER_PIN, OUTPUT);
pinMode(LED_PIN, OUTPUT);
Serial.begin(9600);
}
void loop() {
int sensorValue = analogRead(LDR_PIN);
// Mendeteksi warna berdasarkan nilai sensor LDR
if (sensorValue < 30) {
displayColor("merah");
digitalWrite(LED_PIN, HIGH);
noTone(BUZZER_PIN);
} else if (sensorValue >= 300 && sensorValue < 600) {
displayColor("Hijau");
digitalWrite(LED_PIN, HIGH);
noTone(BUZZER_PIN);
} else if (sensorValue >= 600 && sensorValue < 800) {
displayColor("Kuning");
digitalWrite(LED_PIN, HIGH);
noTone(BUZZER_PIN);
} else {
displayColor("Biru");
digitalWrite(LED_PIN, LOW);
tone(BUZZER_PIN, 1000); // Mengaktifkan buzzer jika warna biru terdeteksi
}
delay(1000); // Mengatur waktu delay untuk stabilisasi pembacaan
}
void displayColor(String color) {
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("Warna: ");
lcd.print(color);
}