#include <DHT_U.h>
#include <LiquidCrystal.h>
#define DHTPIN 2
#define DHTTYPE DHT22
DHT dht(DHTPIN, DHTTYPE);
int ledPin = 13;
int pirPin = 3;
int soundPin = A0;
LiquidCrystal lcd(12, 11, 5, 4, 6, 7);
void setup() {
dht.begin();
lcd.begin(16, 2);
pinMode(ledPin, OUTPUT);
pinMode(pirPin, INPUT);
pinMode(soundPin, INPUT);
}
void loop() {
float temperature = dht.readTemperature();
float humidity = dht.readHumidity();
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("Temp: ");
lcd.print(temperature);
lcd.print(" C");
lcd.setCursor(0, 1);
lcd.print("Humidity: ");
lcd.print(humidity);
lcd.print(" %");
// Kiểm tra điều kiện và điều khiển LED
controlLED(temperature, humidity);
delay(1000);
}
void controlLED(float temp, float hum) {
// Kiểm tra nhiệt độ và độ ẩm vượt quá ngưỡng
if (temp > 30 || hum > 70) {
digitalWrite(ledPin, HIGH); // Bật đèn LED
} else {
digitalWrite(ledPin, LOW); // Tắt đèn LED
}
// Kiểm tra cảm biến chuyển động (PIR sensor)
if (digitalRead(pirPin) == HIGH) {
digitalWrite(ledPin, HIGH); // Bật đèn LED khi phát hiện chuyển động
} else {
digitalWrite(ledPin, LOW); // Tắt đèn LED khi không có chuyển động
}
// Kiểm tra cảm biến âm thanh (Sound sensor)
int soundValue = analogRead(soundPin);
if (soundValue > 500) {
digitalWrite(ledPin, HIGH); // Bật đèn LED khi có âm thanh lớn
} else {
digitalWrite(ledPin, LOW); // Tắt đèn LED khi không có âm thanh
}
}