int ldrPin = A0; // LDR sensor connected to analog pin A0
int buzzerPin = 8; // Passive buzzer connected to pin 8
int redPin = 6; // Red pin of RGB LED
int greenPin = 3; // Green pin of RGB LED
int bluePin = 5; // Blue pin of RGB LED
int ldrValue = 0; // Variable to store LDR value
void setup() {
pinMode(buzzerPin, OUTPUT);
pinMode(redPin, OUTPUT);
pinMode(greenPin, OUTPUT);
pinMode(bluePin, OUTPUT);
Serial.begin(9600); // Start Serial Monitor
}
void loop() {
ldrValue = analogRead(ldrPin); // Read LDR sensor value
Serial.print("LDR Value: ");
Serial.println(ldrValue);
if (ldrValue >= 10 && ldrValue <= 100) {
// Magenta (Red + Blue)
analogWrite(redPin, 255);
analogWrite(greenPin, 0);
analogWrite(bluePin, 255);
tone(buzzerPin, 233);
Serial.println("Mode: Magenta (233 Hz)");
}
else if (ldrValue >= 130 && ldrValue <= 270) {
// White (Red + Green + Blue)
analogWrite(redPin, 255);
analogWrite(greenPin, 255);
analogWrite(bluePin, 255);
tone(buzzerPin, 333);
Serial.println("Mode: White (333 Hz)");
}
else if (ldrValue >= 300 && ldrValue <= 480) {
// Orange (Red + small amount of Green)
analogWrite(redPin, 255);
analogWrite(greenPin, 128);
analogWrite(bluePin, 0);
tone(buzzerPin, 444);
Serial.println("Mode: Orange (444 Hz)");
}
else {
// Turn off LED and buzzer when out of range
analogWrite(redPin, 0);
analogWrite(greenPin, 0);
analogWrite(bluePin, 0);
noTone(buzzerPin);
}
delay(300); // Small delay for stability
}