// Home Automation Code
// Pin Definitions
int ledPin = 13; // Built-in LED
int pirSensorPin = 2; // PIR Sensor
int tempSensorPin = A0; // Temperature Sensor (Analog Input)
int ldrPin = A1; // LDR (Light Dependent Resistor)
// Variables
int pirState = LOW; // No motion detected
int tempValue = 0; // Placeholder for temperature value
int ldrValue = 0; // Placeholder for LDR value
void setup() {
// Initialize serial communication
Serial.begin(9600);
// Initialize pins
pinMode(ledPin, OUTPUT);
pinMode(pirSensorPin, INPUT);
pinMode(tempSensorPin, INPUT);
pinMode(ldrPin, INPUT);
// Initial messages
Serial.println("Home Automation System Initialized");
}
void loop() {
// PIR Sensor
int motion = digitalRead(pirSensorPin);
if (motion == HIGH) {
digitalWrite(ledPin, HIGH);
if (pirState == LOW) {
Serial.println("Motion detected: Turning on LED");
pirState = HIGH;
}
} else {
digitalWrite(ledPin, LOW);
if (pirState == HIGH) {
Serial.println("No motion: Turning off LED");
pirState = LOW;
}
}
// Temperature Sensor
tempValue = analogRead(tempSensorPin);
float temperature = (tempValue * 5.0 / 1023.0) * 100; // Convert to Celsius
Serial.print("Temperature: ");
Serial.print(temperature);
Serial.println(" °C");
// LDR (Light Detection)
ldrValue = analogRead(ldrPin);
Serial.print("Light Intensity: ");
Serial.println(ldrValue);
// Wait before next iteration
delay(1000);
}