Yesterday I got some free time and thought about recycling some parts from old Arduino projects to build a weather station in less than one hour.

I used the following parts and mounted all them on a PMMA board. Wiring was done using a cheap breadboard. See it in action:

WIM Board

If you want build your own just connect all VCC together to 5V of the Arduino and all GND to the GND respectively.

  • BMP085 – temperature and pressure sensor
  • RTC Module
  • DHT11 – temperatur and humditiy sensor
  • 4×20 LCD with I2C interface
  • Arduino MEGA 2560

BMP085 is a high precision pressure sensor which will also give you temperature readings with good resolution. It is connect via I2C. The DHT11 is a cheap humidity sensor with a custom I/O protocoll. You can connect it to nearly any pin on your Arduino. I can also measure temperature but it is way less accurate than the BMP085. Therefore I used the temperature reading of BMP085 for further calculations like heat index or dewpoint.

The LCD and the RTC module are connected via I2C. This is particularly useful to decrease the amount of cables to be wired on your breadboard. I would always recommend to use an LCD with an I2C interface instead of the standard 8 or 16 bit types.

WIM Overview

 

And now to the coding part:

To make your life easier I used a couple of libraries listed below: Usually I prefere to use an interrupt driven DHT library as this sensor is pretty slow and blocks the code execution for about one second. Unfortunately the new version seems to be broken. Therefore the old plain DHT library gets to be used.

 

Complete Code: 

Icon

WIM Arduino Sketch 5.71 KB 2 downloads

...