Creative Commons License
.

Recently I started playing around with DHT11 Temperature and Humidity sensor. And So at that time around, I had an idea to make a small yet effective Weather Station. Therefore in this project instructable, we will use the DHT11 sensor from the previous tutorial . and turn it into mini weather station for our desk. And so follow up this tutorial to build this awesome arduino Weather Station for yourself!

Supplies for arduino weather station:

  1. DHT 11 Sensor
  2. and 16X2 I2C LCD Display
  3. Arduino Nano
  4. 3D Printed Parts ( attached in further Steps )
  5. and PCB board / Bread Board ( files attached in further steps )
  6. (OPTIONAL) Cardboard
  7. (OPTIONAL) Hotglue Gun
  8. (OPTIONAL) Scissor/ Cutter

Step 1: Watch the Video!

Step 2: Brush Up the Basics!

in this project, we will use 3 things, so we need to Brush up our Basics on these 3 things to build arduino weather station.

1. Arduino microcontroller.

i have previously covered the very basics of Arduino Micro controllers in a video, please go through it to understand the very basics of Arduino Boards.

2. LCD

we will be using i2c lcd in this project, to understand its basics and working, lets refer this video of mine, which explains very basics of writing i2c code in easy steps.

3. DHT 11 Sensor

DHT 11 sensor is a Temperature and Humidity sensing module, which uses NTC – i.e. negative temperature coefficient to convert the temperature into equivalent resistance change. watch the following video for more detailed Tutorial and Working of DHT11 Sensor.

arduino weather station

Step 3: Build the Circuit!

for this project, we are using an i2c lcd for display and DHT 11 sensor, along with Arduino Nano, so complete this circuit, i first designed and created a PCB design according to simple connections as shown in attached pictures, using a free software tool called “Easy EDA ” but i could not order the PCB due to time constrains, so i rather used a breadboard, and connected the following pins to arduino, but if you want to order the PCB, you can use the following gerber files to order the pcb / make it for yourself

DHT11 connections for arduino weather station.

GND – GND of arduino

Data – D2 pin of arduino

VCC – D3 pin of arduino

( i used pin D3 of arduino to create a virtual Vcc pin, and by sending digital HIGH from code to power DHT11 )

LCD connections

VCC – 5V of arduino

and GND- GND of arduino

SDA – A4 of arduino

and SCL – A5 of arduino

Step 4: Upload the Code

In this project, i wanted a startup animation screen which would display the my Channel name and Project name. and next I needed to display the data from DHT11 sensor, so i set the cursor position on my LCD according the convenience and simply dumped the Temperature and Humidity values from the Variables that hold the data from sensor on the LCD screen using lcd.print command and that’s pretty much it. you can download and read the code, it’s pretty simple and straight forward. And you can also download the code and read it for better understanding so download it get sṭarted. arduino weather station

Code

/*
* by Akshay Momaya
for Mission Critical ( youtube )
* subscribe for more arduino projects and tutorials
httpv://www.youtube.com/watch?v=channel/UCM6rbuieQBBLFsxszWA85AQ?sub_confirmation=1
*
*
*/

#include <Wire.h>
#iinclude <LiquidCrystal_I2C.h>
#include “DHT.h”

#define DHTPIN 2 // Sesnor Pin!
#define DHTTYPE DHT11 // define the type of sensor used!

DHT dht(DHTPIN, DHTTYPE); // Initialize DHT sensor.

LiquidCrystal_I2C lcd(0x27, 16, 2); // Set the LCD address to 0x27 in PCF8574 by NXP and Set to 0x3F in PCF8574A by Ti

byte degreec[] =
{
B11000,
B11000,
B00011,
B 00100,
B00100,
B00100,
B00011,
B00000
};

void setup()
{
pinMode(3,OUTPUT);
digitalWrite(3,HIGH);
lcd.init();
lcd.backlight();
lcd.createChar(0, degreec);
lcd.home();
dht.begin();
lcd.setCursor(0,0);
lcd.print(“Mission Critical”);
lcd.setCursor(0,1);
lcd.print(“Weather Station! “);
delay(600);
lcd.setCursor(0,0);    //arduino humidity sensor
lcd.print(” “);
lcd.setCursor(0,1);
lcd.print(” “);
delay(100);

}

void loop()
{
float h = dht.readHumidity(); // Read Humidity
float t = dht.readTemperature(); // Read temperature as Celsius
lcd.setCursor(1,0);
lcd.print(“Temp:”);
lcd.setCursor(6,0);
lcd.print(t);
lcd.setCursor(11,0);
lcd.write(degreec);
lcd.setCursor(1,1);
lcd.print(“Humd:”);
lcd.setCursor(6,1);
lcd.print(h);
lcd.setCursor(11,1);
lcd.print(“%”);

}

arduino weather station

Step 5: Make the Enclosure

I firstly thought about make a 3D printed enclosure, which I designed on the Autodesk’s Fusion 360 software. However, I didn’t got this enclosure 3D printed. Because didn’t have any access to a 3D printer, I rather used a piece of cardboard, which I snipped according to CAD dimensions attached in this step. and then I used a bit of Hot-Glue to mount the parts and then the box was complete

Step 6: Testing!

after all these steps, i simply powered the arduino nano using USB. and tested the project, once the power is connected. And the project takes around 1 second to startup and initialize, once the lcd’s backlight is on, the project says Mission Critical, Weather Station for around 600 microseconds. and then the second screen loads up showing the room temperature in degree Celsius (°C) unit and Humidity in percentage (%). (arduino humidity sensor)

Step 7: Thank You!

arduino weather station

if you have any question or suggestion drop me a message on any of the following social media links. And also if you make this similar project, don’t forget to tag me on any of the social media platform!

thank you!

Twitter –  https://twitter.com/AkshayMomaya1

and Instagram – https://www.instagram.com/officialmissioncritical…

and also Facebook – https://www.instagram.com/officialmissioncritical…

[ult_createlink title=”5 most common arduino nano problems” btn_link=”url:https%3A%2F%2Fminov.in%2F5-most-common-arduino-nano-clone-problems-and-their-solutions%2F|||”]

Write A Comment

Minov

A Market Place for your Innovations

0