#include "DHT.h"
#define NTC_PIN A0 // Analog pin for NTC sensor
#define DHT_PIN 2 // Digital pin for DHT22 sensor
#define LDR_PIN A1 // Analog pin for LDR sensor
#define TRIG_PIN 9 // Ultrasonic sensor trigger pin
#define ECHO_PIN 10 // Ultrasonic sensor echo pin
#define PIR_PIN 7 // PIR motion sensor input pin
DHT dht(DHT_PIN, DHT22);
void setup() {
Serial.begin(9600);
dht.begin();
pinMode(PIR_PIN, INPUT);
pinMode(TRIG_PIN, OUTPUT);
pinMode(ECHO_PIN, INPUT);
}
void loop() {
// NTC sensor (simulated)
int ntcValue = analogRead(NTC_PIN);
float simulatedTemperature = map(ntcValue, 0, 1023, -10, 50); // Simulated temperature range: -10°C to 50°C
// DHT22 sensor (simulated)
float simulatedHumidity = random(30, 70) / 10.0; // Simulated humidity range: 30% to 70%
// LDR light sensor (simulated)
int ldrValue = analogRead(LDR_PIN);
// Ultrasonic distance sensor (simulated)
digitalWrite(TRIG_PIN, LOW);
delayMicroseconds(2);
digitalWrite(TRIG_PIN, HIGH);
delayMicroseconds(10);
digitalWrite(TRIG_PIN, LOW);
unsigned long duration = pulseIn(ECHO_PIN, HIGH);
float simulatedDistance = duration / 58.2; // Simulated distance calculation (approximate)
// PIR motion sensor
int pirState = digitalRead(PIR_PIN);
bool motionDetected = (pirState == HIGH);
// Display sensor data
Serial.print("NTC Temperature: ");
Serial.print(simulatedTemperature);
Serial.println(" °C");
Serial.print("DHT22 Temperature: ");
Serial.print(dht.readTemperature());
Serial.println(" °C");
Serial.print("DHT22 Humidity: ");
Serial.print(dht.readHumidity());
Serial.println(" %");
Serial.print("LDR Value: ");
Serial.println(ldrValue);
Serial.print("Ultrasonic Distance: ");
Serial.print(simulatedDistance);
Serial.println(" cm");
if (motionDetected) {
Serial.println("Motion Detected!");
}
delay(2000); // Delay for 2 seconds
}