#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27, 16, 2);
// Define pins
const int lightSensorPin = 34; // Analog pin for light sensor (LDR)
const int ledPin = 2; // LED connected to GPIO2
// Define threshold for light detection
const int LIGHT_THRESHOLD = 2000; // Adjust based on your environment
void setup() {
lcd.init();
lcd.clear();
lcd.backlight();
// Initialize Serial Monitor
Serial.begin(115200);
// Set pin modes
pinMode(lightSensorPin, INPUT);
pinMode(ledPin, OUTPUT);
// Display header
Serial.println("PENDETEKSI CAHAYA");
Serial.println("Program: Light Sensor Monitor");
Serial.println("Nama: [Nurulia Firi Octaviani]"); // Replace with your name
Serial.println("-----------------------------");
}
void loop() {
// Read the analog value from the light sensor
int lightValue = analogRead(lightSensorPin);
// Print the analog value to Serial Monitor
Serial.print("Nilai Analog: ");
Serial.println(lightValue);
// Check if light is detected
if (lightValue < 2000) {
// Light is detected (lower value means more light for LDR)
Serial.println("ADA CAHAYA");
lcd.setCursor(0, 0);
lcd.print("ADA CAHAYA ");
digitalWrite(ledPin, HIGH); // Turn on LED
} else {
// No light detected
Serial.println("TIDAK ADA CAHAYA");
lcd.setCursor(0, 0);
lcd.print("TIDAK ADA CAHAYA");
digitalWrite(ledPin, LOW); // Turn off LED
}
Serial.println("-----------------------------");
// Wait before next reading
delay(1000);
}