Introduction
Here we are successfully controlling a BLDC blower by using arduino uno and DHT11. DHT11 is a temperature and humidity sensor. In our case when temperature exceeds 31 degree Celsius the blower is activated. As we have used a relay driver circuit here, any load can be operated which may be comparatively heavier. For example a ceiling fan or a table fan can be operated easily. You can set your desired temperature by changing the value in code. We are going to display the values by using a 16×2 LCD.
Hardware required
DHT11
Arduino Uno Board
Bread Board
LCD
Jumpers
Bc547
4.7 kΩ, 470 Ω
LED
BLDC blower
5V relay
What is DHT11

It is a basic, low cost digital temperature and humidity sensor. It consists of a thermistor and a capacitive humidity sensor to measure the surrounding air. There is also an 8-bit microcontroller inside it, which converts the analog signals from both the sensors and provids us a single digital signal. It has three pins Ground(GND), DATA and VCC.
Wiring

Connect the DHT 11 and LCD with the arduino uno according to the diagram given below. The ground pin of LCD and DHT11 must be connected to the ground pin of arduino uno.
Copy the arduino code and paste it in Arduino IDE software. Open sketch then manage library and then install Tiny DHT.
The arduino code
#include <TinyDHT.h>
#include <LiquidCrystal.h>
#define DHTPIN 10
#define DHTTYPE DHT11
DHT dht(DHTPIN,DHTTYPE);
LiquidCrystal lcd(2,3,4,5,6,7);// Initialize the interface pins
byte degree[] = {
B00010,
B00101,
B00010,
B00000,
B00000,
B00000,
B00000,
B00000
};//This is for creating a degree symbol in LCD
void setup() {
dht.begin(); // Initialize the sensor
pinMode(8,OUTPUT);
lcd.begin(16, 2);
lcd.createChar(0, degree);
lcd.home();
lcd.setCursor(12,0);
lcd.write((byte)0);
}
void loop(){
float h=dht.readHumidity();
float t=dht.readTemperature();
lcd.setCursor(0,0);
lcd.print(“Temp = “);
lcd.setCursor(7,0);
lcd.print(t);
lcd.setCursor(9,0);
lcd.print(” “);// This is for not representing fractional values in LCD
lcd.setCursor(13,0);
lcd.print(“C”);
lcd.setCursor(0,1);
lcd.print(“Humidity = “);
lcd.setCursor(11,1);
lcd.print(h);
lcd.setCursor(13,1);
lcd.print(” % “);
if(t>31) // THIS IS THE LIMIT WE HAVE TO SET
{
digitalWrite(8,HIGH);
}
else
{
digitalWrite(8,LOW);
}
delay(1000);
}
// end of code
Contact:
Er. Anil Kumar Prusty
Phone: 9861004895