#include <DHT.h>
#define DHTPIN 4
#define DHTTYPE DHT22
#define FAN_PIN 2 //Thay bẳng led
#define BUTTON_PIN 0
float tempThreshold = 30.0;
bool buttonPressedLast = false;
DHT dht(DHTPIN, DHTTYPE);
void setup() {
pinMode(FAN_PIN, OUTPUT);
pinMode(BUTTON_PIN, INPUT_PULLUP);
Serial.begin(115200);
dht.begin();
}
void loop() {
delay(2000);
float temperature = dht.readTemperature();
if (isnan(temperature)) {
Serial.println("Failed to read from DHT sensor!");
return;
}
if (temperature > tempThreshold) {
digitalWrite(FAN_PIN, HIGH);
Serial.print("Fan is ON. Temperature: ");
} else {
digitalWrite(FAN_PIN, LOW);
Serial.print("Fan is OFF. Temperature: ");
}
Serial.println(temperature);
bool buttonPressedCurrent = (digitalRead(BUTTON_PIN) == LOW);
if (buttonPressedCurrent && !buttonPressedLast) {
tempThreshold += 1.0;
Serial.print("Temperature threshold increased to: ");
Serial.println(tempThreshold);
delay(200); // Debounce
}
buttonPressedLast = buttonPressedCurrent;
}