// Sensor pins
const int tempPin = A0; // Analog pin for temperature sensor (LM35)
const int ldrPin = A1; // Analog pin for light sensor (LDR)
const int pirPin = 2; // Digital pin for motion sensor (PIR)
// LED pins
const int redLED = 8;
const int greenLED = 9;
const int blueLED = 10;
void setup() {
pinMode(redLED, OUTPUT);
pinMode(greenLED, OUTPUT);
pinMode(blueLED, OUTPUT);
pinMode(pirPin, INPUT);
Serial.begin(9600);
}
void loop() {
// Read temperature (LM35 gives 10mV/°C)
int tempValue = analogRead(tempPin);
float voltage = tempValue * (5.0 / 1023.0);
float temperature = voltage * 100;
// Read light level
int lightLevel = analogRead(ldrPin);
// Read motion
int motionDetected = digitalRead(pirPin);
// Debug prints
Serial.print("Temp: ");
Serial.print(temperature);
Serial.print(" C, Light: ");
Serial.print(lightLevel);
Serial.print(", Motion: ");
Serial.println(motionDetected);
// Control LEDs based on readings
digitalWrite(redLED, temperature > 30 ? HIGH : LOW); // High temp -> Red LED
digitalWrite(greenLED, lightLevel > 500 ? HIGH : LOW); // Bright light -> Green LED
digitalWrite(blueLED, motionDetected == HIGH ? HIGH : LOW); // Motion -> Blue LED
delay(1000);
}