1#include <SimpleDHT.h>
2
3
4 data pin
5
6int pinDHT11 = 2;
7int DHTpower = 3;
8int Fan = 13;
9SimpleDHT11
10 dht11;
11
12void setup() {
13 pinMode(Fan, OUTPUT);
14 pinMode(DHTpower, OUTPUT);
15
16 digitalWrite(DHTpower, LOW);
17 digitalWrite(Fan, LOW);
18 Serial.begin(9600);
19
20}
21
22void loop() {
23 delay(1000);
24 RHcheck();
25 Humidity Level
26 delay(15000);
27 }
28
29
30void
31 RHcheck() {
32 digitalWrite(DHTpower,
33 HIGH);
34 delay(5000);
35 Serial.println("============
36 Check Humidity ===============");
37 delay(1000);
38 Serial.println("DHT11
39 readings...");
40
41 byte temperature = 0;
42 byte humidity = 0;
43 int
44 err = SimpleDHTErrSuccess;
45
46
47 if there is some sort of an error at getting readings from our sensor
48 if ((err
49 = dht11.read(pinDHT11, &temperature, &humidity, NULL)) != SimpleDHTErrSuccess) {
50
51 Serial.print("No reading , err="); Serial.println(err);delay(1000);
52 return;
53
54 }
55 Serial.print("Readings: ");
56 Serial.print((int)temperature); Serial.print("
57 C, ");
58 Serial.print((int)humidity); Serial.println(" %");
59 delay(500);
60
61 if((int)humidity < 50){
62 digitalWrite(DHTpower, LOW);
63 delay(500);
64
65 Serial.println("Fan OFF");
66 delay(500);
67 digitalWrite(Fan, LOW);
68
69 }else{
70 if ((int)humidity > 58){
71 Serial.println("Humidity > 58%");
72
73 digitalWrite(DHTpower, LOW);
74 delay(500);
75 Serial.println("Fan
76 ON @ full speed");
77 delay(500);
78 digitalWrite(Fan, HIGH);
79 }else{
80
81 Serial.println("50% < Humidity < 58%");
82 digitalWrite(DHTpower,
83 LOW);
84 delay(500);
85 Serial.println("Fan ON @ low speed");
86
87 delay(500);
88 analogWrite(Fan, 150);
89 }
90 }
91 }
92