#include "DHT.h"
const int buttonPin = 35; // Pin tin hieu nut nhan
const int ledPin = 2; // Pin dieu khien den LED
int ledState; // Trang thai LED
int buttonState; // Trang thai nut nhan
#define DHTPIN 4 // Pin cho DHT22
#define DHTTYPE DHT22 // Loai DHT
DHT dht(DHTPIN, DHTTYPE); // Khoi tao DHT22
float h, t; // Bien luu gia tri do am, nhiet do
void setup() {
Serial.begin(115200); // Khoi tao giao tiep Serial
pinMode(ledPin, OUTPUT); // Cai dat pin LED lam output
pinMode(buttonPin, INPUT); // Cai dat pin nut nhan lam input
digitalWrite(ledPin, LOW); // Mac dinh den LED tat
dht.begin(); // Khoi dong DHT
Serial.println("Bat dau");
}
void ReadingDHT22() {
h = dht.readHumidity();
t = dht.readTemperature();
if (isnan(h) || isnan(t)) {
Serial.println(F("Failed to read from DHT sensor!"));
return;
}
}
void loop() {
ReadingDHT22(); // Doc gia tri tu DHT22
buttonState = digitalRead(buttonPin); // Doc trang thai nut nhan
if (buttonState == HIGH) { // Neu nut nhan duoc bam
Serial.println("KIEM TRA");
if (h >= 70) {
ledState = HIGH; // Neu do am >= 70% thi bat LED
} else {
ledState = LOW; // Neu do am < 70% thi tat LED
}
digitalWrite(ledPin, ledState); // Dieu khien LED theo trang thai
// In ra cac gia tri doc duoc
Serial.println("Data log ");
Serial.print("Do Am: ");
Serial.print(h);
Serial.println("%");
Serial.print("Nhiet Do: ");
Serial.print(t);
Serial.println("°C ");
}
// Kiem tra trang thai LED va in thong tin tuong ung
if (ledState == HIGH) {
Serial.println("Do am tren 70%");
Serial.println("Bat LED");
} else {
Serial.println("Do am duoi 70%");
Serial.println("Tat LED");
}
Serial.println("-----------------");
delay(100);
}