Portable Weather Station
Updated: May 18, 2021
The Portable Weather Station will give you the relative temperature in degrees Celsius or degrees Fahrenheit it depends on how you program it. The Weather Station will also report the relative Humidity percentage. I used the DHT11 Temperature and Humidity sensor to make the project. The Weather Station is not perfectly accurate; The Humidity is accurate to about ±5% and the Temperature is precise to about ±2°C. To power the circuit I am using a Breadboard Power supply but you could also power it using a battery pack.
The DHT11 sensors Humidity range is between 20% to 90% and the Temperature range is between 0°C to 50°C.
The DHT11 determines relative humidity by measuring the electrical resistance between two electrodes.
The Humidity sensing component on the DHT11 is a moister holding layer with electrodes applied to its surface. When moister is absorbed by the lamina, ions are released by the substrate which increases the conductivity between the electrodes. The change in resistance between the two electrodes is inversely proportional to the relative humidity. When the relative humidity increases the electrical resistance between the electrodes will decrease. When the relative humidity decreases, electrical resistance between the electrodes will increase.
The Temperature sensing component on the DHT11 is an NTC Thermistor. NTC stands for "Negative Temperature Coefficient". NTC Thermistors are resistors with a Negative Temperature coefficient, which means that when the temperature increases the resistance will decrease.
The DHT11 converts the electrical resistance measurements into relative humidity and relative temperature on a chip mounted at the back of the unit and transmits the humidity and temperature readings directly to the Arduino.
(Note: not all DHT11 sensors have the same connections, Some have there 5V connection to the right most pin and GND connection to the left most pin and DATA connection to the middle pin. Some have there GND connection to the left most pin and the 5V connection to the middle pin and the DATA connection to the right most pin. you will have to check which type of connections you have.)
Components Needed:
1X DHT11 Temperature and Humidity sensor module
1X Arduino NANO
1X LCD (16 X 2)
1X Potentiometer (10K)
1X Breadboard (5.5Cm x 17Cm)
1X Breadboard power supply or a battery pack
Straight Jumper Wires


Code:
#include <LiquidCrystal.h>
#include <DHT.h>
#define Type DHT11
int sense_pin = 2;
int rs = 7;
int en = 8;
int d4 = 9;
int d5 = 10;
int d6 = 11;
int d7 = 12;
DHT sensor(sense_pin, Type);
LiquidCrystal lcd(rs, en, d4, d5, d6, d7);
float humidity;
float tempC;
float tempF;
void setup() {
// put your setup code here, to run once:
lcd.begin(16, 2);
sensor.begin();
delay(200);
Serial.begin(9600);
}
void loop() {
// put your main code here, to run repeatedly:
humidity = sensor.readHumidity();
tempC = sensor.readTemperature(false);
tempF = sensor.readTemperature(true);
lcd.setCursor(0, 0);
lcd.print("Temp= ");
lcd.print(tempC);
lcd.print("*C");
lcd.setCursor(0, 1);
lcd.print("Humidity= ");
lcd.print(humidity);
lcd.print("%");
delay(2000);
lcd.clear();
}
(Note: you will need to install the DHT library https://www.arduinolibraries.info/libraries/dht-sensor-library)