Arduino Weather Station Project with ATMEGA328P, DHT22, BMP180, BH1750 and a Nokia 5110 LCD

Home/Arduino Projects/Arduino Weather Station Project with ATMEGA328P, DHT22, BMP180, BH1750 and a Nokia 5110 LCD

Arduino Weather Station Project with ATMEGA328P, DHT22, BMP180, BH1750 and a Nokia 5110 LCD

This is an Arduino Weather Station Project that can run on batteries for almost a year! In order to achieve that we use a bare ATMEGA328 chip along with some accurate sensors.

We use the DHT22 temperature and humidity sensor, a BMP180 barometric pressure sensor, a BH1750 light intensity sensor and a Nokia 5110 LCD display. We use the low power library in order to greatly reduce the power consumption of the project and we disable the lcd display when it is night.

——————–
WHERE TO BUY
——————–

1. ATMEGA328: http://educ8s.tv/part/ATMEGA328P

2. 16Mhz Crystal: http://educ8s.tv/part/Crystal16

3. NOKIA 5110 DISPLAY: http://educ8s.tv/part/NOKIA5110

4. BMP180: http://educ8s.tv/part/BMP180

5. BH1750: http://educ8s.tv/part/BH1750

6. DHT22: http://educ8s.tv/part/DHT22

7. Large Breadboard: http://educ8s.tv/part/LargeBreadboard

8. FTDI programmer: http://educ8s.tv/part/FTDI

9. Jumper wires: http://educ8s.tv/part/JumperWires

10. Battery Case: http://educ8s.tv/part/BatteryHolderAA

11. Multimeter: http://educ8s.tv/part/Multimeter

12. Wires: http://educ8s.tv/part/Wires

13. Cheap Arduino Uno: http://educ8s.tv/part/ArduinoUno

Schematic

In order to program the ATMEGA chip we are going to need a programmer like this one, or if you don’t have one, all we need is an Arduino Uno board like this one. The cost of the project is less than 15$ and we are using some of the most accurate sensors available so the readings we are going to get will be very accurate.

The code is simple. In every loop of the program the first thing we do is to read the light intensity of the environment using the BH1750 sensor. The sensor gives us the light intensity in lux. If the light intensity is less than 30 lux, we disable the LCD display in order to conserve power and we sleep for two minutes. If the light intensity is more than 30 lux, we enable the LCD display we read the values from the sensors, we update the display and we go to sleep for two minutes. The sleep function uses the Low Power library which greatly reduces the power consumption of the ATMEGA chip. After we wake up, the loop start’s over again. As always you can find the code of the project in a link below.

——————–

LIBRARIES
——————–

LowPower: https://github.com/rocketscream/Low-Power
Nokia 5110: http://www.rinkydinkelectronics.com/library.php?id=48
BH1750: https://github.com/claws/BH1750
BMP180: https://github.com/LowPowerLab/SFE_BMP180

 

——————–

CODE OF THE PROJECT
——————–

Download

 

 

 

 

SUBSCRIBE ON YOUTUBE

——————–

Never miss a video: Subscribe to educ8s.tv

2018-02-21T12:37:03+00:00

2 Comments

  1. total June 4, 2016 at 9:49 am - Reply

    I am very interested in this project.
    I have OLED 128×64 I2C.
    Can you ask for the code for the display !.
    Thank you very much

  2. Zis December 16, 2017 at 11:44 am - Reply

    Hello,
    Great project! For me there is definitely a missing RTC module.

    Thanks for the great inspirations.

Leave A Comment

Close