0 Comments

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

Leave a Reply

Your email address will not be published. Required fields are marked *

Related Posts