#include <DHT.h>
#define DHTPIN 2
#define DHTTYPE DHT11
DHT dht(DHTPIN, DHTTYPE);
int LED = 13;
int humidityThreshold = 90;
void setup() {
Serial.begin(9600);
pinMode(LED, OUTPUT);
dht.begin();
pinMode(2, INPUT_PULLUP);
pinMode(5, OUTPUT);
}
void loop() {
// DHT sensor code
delay(2000);
float humidity = dht.readHumidity();
if (isnan(humidity)) {
Serial.println("Failed to read from DHT sensor!");
} else {
Serial.print("Humidity: ");
Serial.print(humidity);
Serial.print("%");
if (humidity > humidityThreshold) {
digitalWrite(LED, HIGH);
} else {
blinkLED(5, 500);
}
Serial.println("");
}
// DC motor control code (ke kiri)
if (digitalRead(2) == LOW) {
while (digitalRead(2) == LOW) {
analogWrite(5, 255);
delay(3000);
analogWrite(5, 80);
delay(3000);
}
analogWrite(5, 0); // Motor OFF when the switch is released
} else {
digitalWrite(LED, HIGH); // Turn off the LED
analogWrite(5, 0); // Motor OFF if the switch is not pressed
}
}
void blinkLED(int count, int delayTime) {
for (int i = 0; i < count; i++) {
digitalWrite(LED, HIGH);
delay(delayTime);
digitalWrite(LED, LOW);
delay(delayTime);
}
}