#include <Arduino.h>
// Define pin numbers
const int LDR_Pin = 2; // LDR sensor connected to analog pin A0
const int GREEN_LED = 22; // Green LED connected to digital pin 13
const int RED_LED = 21; // Red LED connected to digital pin 12
// Define thresholds for LED indicators
const int GREEN_Threshold = 600; // Example threshold for green LED
const int RED_Threshold = 800; // Example threshold for red LED
float analogToLux(int analogValue) {
float resistance = 10000.0 / ((1023.0 / analogValue) - 1.0); // 10kΩ resistor used
float lux = map(resistance, 10000, 1000000, 100, 0); // Map resistance range to Lux range
return lux;
}
void setup() {
// Initialize serial communication
Serial.begin(9600);
pinMode(LDR_Pin , INPUT);
pinMode(GREEN_LED, OUTPUT);
pinMode(RED_LED, OUTPUT);
}
void loop() {
// Read analog value from LDR sensor
int ldrValue = analogRead(LDR_Pin);
float lux = analogToLux(ldrValue);
// Display the measured light intensity value on the serial monitor
Serial.print("Light Intensity: ");
Serial.println(ldrValue);
Serial.print("Light Intensity (Lux): ");
Serial.println(lux);
// Turn on/off LED indicators based on light intensity thresholds
if (ldrValue > GREEN_Threshold) {
digitalWrite(GREEN_LED, HIGH);
digitalWrite(RED_LED, LOW);
} else if (ldrValue < RED_Threshold) {
digitalWrite(GREEN_LED, LOW);
digitalWrite(RED_LED, HIGH);
} else {
digitalWrite(GREEN_LED, LOW);
digitalWrite(RED_LED, LOW);
}
delay(1000);
}