#include <DHT.h>
#define led 2
#define dhtp 15
#define btn 4
#define DHT_TYPE DHT22
DHT dht(dhtp, DHT_TYPE);
bool ledState = false;
/*
bool lbuttonS = LOW;
unsigned long ldTime = 0;
const unsigned long debounceD = 50;
*/
void setup() {
pinMode(led, OUTPUT);
pinMode(btn, INPUT_PULLDOWN);
Serial.begin(115200);
dht.begin();
}
void loop() {
static unsigned long sensorRead = 0;
// for button
/*
bool currentButtonState = digitalRead(btn);
if (currentButtonState != lbuttonS) {
ldTime = millis();
}
if ((millis() - ldTime) > debounceD) {
if (currentButtonState == HIGH && lbuttonS == LOW) {
ledState = !ledState;
digitalWrite(led, ledState);
Serial.println(ledState ? "LED ON" : "LED OFF");
}
}
lbuttonS = currentButtonState;
*/
if (millis() - sensorRead >= 5000) {
sensorRead = millis();
float temperature = dht.readTemperature();
float humidity = dht.readHumidity();
if (isnan(temperature) || isnan(humidity)) {
Serial.println("Failed");
return;
}
Serial.print("Temperature: ");
Serial.print(temperature);
Serial.print(" °C, Humidity: ");
Serial.print(humidity);
Serial.println(" %");
if (temperature > 25) {
digitalWrite(led, HIGH);
} else {
digitalWrite(led, LOW);
}
}
}