int ldrPin = A0;
int redPin = 2;
int greenPin = 3;
int bluePin = 4;
int buzzerPin = 5; // Connect your buzzer to pin 5
void setup() {
pinMode(redPin, OUTPUT);
pinMode(greenPin, OUTPUT);
pinMode(bluePin, OUTPUT);
pinMode(buzzerPin, OUTPUT);
Serial.begin(9600);
}
void loop() {
int lightValue = analogRead(ldrPin); // 0 (dark) → 1023 (bright)
Serial.println(lightValue);
// Map light reading to colors
int redValue = map(lightValue, 0, 1023, 255, 0);
int greenValue = map(lightValue, 0, 1023, 0, 255);
int blueValue = map(lightValue, 300, 1023, 0, 255);
// Limit values
redValue = constrain(redValue, 0, 255);
greenValue = constrain(greenValue, 0, 255);
blueValue = constrain(blueValue, 0, 255);
// Write to RGB LED (common cathode → HIGH = ON)
analogWrite(redPin, redValue);
analogWrite(greenPin, greenValue);
analogWrite(bluePin, blueValue);
// Buzzer alarm if it's dark
if(lightValue < 200){ // Threshold for darkness
tone(buzzerPin, 1000); // Play 1kHz tone
} else {
noTone(buzzerPin); // Stop buzzer if enough light
}
delay(20);
}