Skip to content

Latest commit

 

History

History
30 lines (26 loc) · 2.21 KB

README.md

File metadata and controls

30 lines (26 loc) · 2.21 KB

MiniWeatherStation

Mini Weather Station is an example of a Personal Weather System (PWS). A personal weather station (PWS) is a set of weather measuring instruments operated by a private individual, club, association, or business (where obtaining and distributing weather data is not a part of the entity's business operation). PWS has become an important device as its network help to get as many data as possible and help in running weather prediction model and forecast system such as Weather Underground. Building such PWS is an essential part of learning, research and contribution to citizen science programs for precise weather forecasting systems.

This project is based on the Arduino Microcontroller for reading the sensors and ESP8266 Module for communications.

The hardware used in this project are:

  • Arduino Microcontroller
  • DHT11 (or DHT22) Temperature Humidity Sensor
  • BMP180 Barometric Sensor
  • Sharp Optical Dust Sensor
  • Light Dependent Resistor (LDR)

DHT Library

The DHT11 sensor is used for temperature and humidity readings. It uses Adafruit Unified Sensor library which contains DHT.h. It is one of the easy to use libraries and has buitin functions to get and compute values. Methods such as readHumidity() and readTemperature() is used in a DHT object, here 'dht.readHumidity()'. Heat index can also be computed from the DHT library. Adafruit Unified Sensor Library needs to be installed seperately using the built-in library manager in Arduino IDE.
For reference: DHT Sensor Library in Github

There is a possibility of getting NaN as sensor reading which stands for Not a Number. This is because the Arduino is not getting the value from sensor. The most likely cause of this problem is due to bad hardware connection. So one must check all the wirings and soldering during the connection. Another logical way to tackle this if it persist is to store the previous reading value and whenever it gives NaN reading we can display that previous value.

	//define the program to store backup
		
	t=dht.readTemperature();
		
	if(isnan(t)){
		t=backupT;
		Serial.println(t);
	}
	else{
		Serial.println(t);
	}



For details: [email protected]