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://bit.ly/atmega_chip

2. 16Mhz Crystal: http://goo.gl/bdZibi

3. NOKIA 5110 DISPLAY: http://bit.ly/NOKIA5110

4. BMP180: http://bit.ly/BMP180

5. BH1750: http://bit.ly/BH1750_Sensor

6. DHT22: http://bit.ly/DHT_22

7. Large Breadboad: http://bit.ly/LargeBreadboard

8. FTDI programmer: http://bit.ly/FTDIB

9. Jumper wires: http://bit.ly/JumperWiresB

10. Battery Case: http://bit.ly/4BatteryHolder

11. Multimeter: http://bit.ly/MultimeterMS8268

12. Wires: http://bit.ly/WiresArduino

13. Cheap Arduino Uno: http://bit.ly/Cheap_Uno

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

2017-03-31T11:57:57+00:00

One Comment

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

    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

Comments are closed.

Close