Introduction: Arduino Weather Station (AWS)

Picture of Arduino Weather Station (AWS)

In this project, we will be making a weather station that measures air pressure, temperature, rain drop, soil humidity and air humidity using Arduino which save the data for data acquisition!

It’s a fairly easy project and can be used either on its own or part of something bigger, check it out >> Integrated Weather Station (IWS).

Step 1: List of Material

Picture of List of Material

For this project, we will be using:

- Arduino boards (mine Arduino Uno Rev3)

- DHT11 Humidity and temperature sensor cost: ~5.00 USD

- BMP185 Barometer sensor cost: ~6.00 USD

- Rain Drop sensor module cost:~2.00 USD

- Soil Humidity sensor module cost:~2.00 USD

- Breadboard or Custom ProtoShield (Check it out how to make it >> )

- Jumper Wire

Step 2: Hardware Connections

Picture of Hardware Connections

In general, the connections are very simple. Follow the instructions and images above, and you should have no problems.

Connecting Rain Drop Module

  • the VCC pin on Arduino’s 5V output
  • the GND pin to Arduino’s GND and
  • the Analog Data to Arduino's analog pin 0

Connecting Soil Humidity Module

  • the VCC pin on Arduino’s 5V output
  • the GND pin to Arduino’s GND and
  • the Analog Data to Arduino's analog pin 1

Connecting BMP185

  • the VCC pin on Arduino’s 3.3V output
  • the GND pin to Arduino’s GND
  • the SDA (Serial Data Line) pin to Arduino’s analog pin 4 and
  • the SCL (Serial Clock Line) pin to Arduino’s analog pin 5

Connecting DHT11

  • the VCC pin on Arduino’s 5V output
  • the GND pin to Arduino’s GND and
  • the DATA pin to Arduino’s digital pin 4

Step 3: Arduino Programming

Picture of Arduino Programming

Below is the Arduino Weather Station code. Include the library from AWS_library.rar, upload the code to your Arduino (Mine Arduino Uno Rev3), and you should have no problems.

You can clone and edit the code in any way you prefer.

Step 4: Enjoy!

Picture of Enjoy!

Power through batteries or a plug and you’re good to go.

After making sure that everything works smoothly, you can take this project into bigger project. Check it out >> Integrated Weather Station(IWS) !

Comments

bhavesh thosare (author)2017-07-28

where we will be getting output results? on laptop or we need any lcd display?

what to do if we don't want pressure sensor in circuit?

AaravM (author)2017-05-06

hi can i use a dht 22 instead of the dht 11 what will be the change in code and circuit pls tell fast i am a total beginner in this

dsw850 (author)2017-04-24

Great build! I really enjoyed putting it together. I will like to make the custom Proto-Shield but the link to the instructions appears to be broken. Are they still available?

minosama (author)2017-02-28

hi i build this project but i want to add an LCD screen how to edit the program?

amintoama (author)2016-12-26

nice

Nitrousgeras (author)2016-11-27

Hi im trying to build this project but i wanted to know if you have an schematic for the breadboard conections, and the other thing is if you could give me your email to talk more about this project?. I hope you can help me, heres my email:

geraaa.acosta@gmail.com

shad001 (author)2016-10-03

hey this is ajit. I've tried all this things but my Arduino IDE is showing compile error in wire.h library

abirmfi (author)2016-09-26

How to send attach a PIR sensor and DHT11 Humidity and temperature sensor in audrino and send the status of these sensors to an android app via bluetooth.

PLEASE help me

SébastienB8 (author)2016-09-16

is there a version of this project that stocks data on an attached SD card ? And possibly also solar powered ?

JasonT132 (author)2016-07-01

Hi,

Every time I compile the code, I always get an error that says:

undefined reference to *insert function*

Is there any way to fix this? Thanks!

lacsamanajames (author)JasonT1322016-07-28

did you fix it?

tpolito (author)2016-07-23

Since I'll probably need more inputs and Arduino hardware resources, moved to my Arduino Mega 2560. But you have to move the BMP180 SDA/SCL pins. Referencing the attached picture, the uno is the smaller board. The brown and white wires are the ones I moved. I've included a link (bottom of this post) to the BMP180 info that tells which pins to use depending upon which Arduino board you use. Scroll down the page to "running the example sketch" for the chart.

SDA A4 (uno) to A20 (mega)

SCL A5 (uno) to A21 (mega)

https://github.com/sparkfun/BMP180_Breakout

If you saw my previous post on this (which I just deleted), please disregard it.

tpolito (author)2016-07-23

For the altitude, any suggestions on where to find the numerical equivalents? In the code, it shows

#define ALTITUDE 3 //Altitude where I live (change this to your altitude)

Looked in the header for the BMP but only found a SourceForge link with formulas.

tpolito made it! (author)2016-07-23
Excellent first project for me and my Arduino Uno R3. Like a "newbie", hit some of the stumbling blocks mentioned previously (duh, had to load the libraries). Yes, you have to look at the code to determine the correct pins to connect the rain and soil sensors to. But, I looked at it as a learning tool. In a class, they give you errors and you have to correct to show you understand, helped me learn the code. Also, didn't realize the "serial monitor" in the Arduino program; once I found it, figured how to see the results. Used Sunfounder parts instead of ones shown, but they're basically identical. Yes, you can use a BMP180 because that's what I'm using. In fact, I think the code is set for the 180. Also, as a good learning tool, if you want to change the shown temp from C to F, look in the DHT header file, you'll see there's a function for this. Wrapped it around the original sensor command and adjusted serial write to show F instead of C.

result[4] = dht.convertCtoF(dht.readTemperature());

Also, changed from hPA to "in" since most weather sites I access use "in".

// result[2]=p0; //shows hPa

result[2]=p0 * 0.02952998751; //shows inches

Next learning step will be to figure out how to write data to file instead of serial output. But noticed there was link to IWS. Also, trying the idea of output to LCD, thanks to AdrieSentosa for the link to the LCD tutorial.

Sorry for the lousy pictures, didn't realize I had to "pose for the camera" to post.
SentinelSam (author)2016-07-17

Is this a dead project?

SentinelSam (author)2016-07-09

Hello,

Does anyone know on average how much power this draws? I want to hook it up to a solar panel.

Thanks

Mistermoses (author)2016-06-04

Please sir I will like to talk with you on this project because I'm building something like it. Can I get your email or please email me at Morexonline2003@gmail.com. Thanks for your concern

Rocketman12 (author)2016-05-16

Hi, With this project i am only using the bmp185 and the dht 11. I did all the stuff the intsructable told me to and then plugged it in and ran the program. The Barometric pressure shows fin but the temp and humidity all read zeroes. Could somebody help with this?

Also is there a way to record the data being collected on to the arduino's storage (or perhaps an SD card)?
Thank you.

AdrieSentosa (author)Rocketman122016-05-31

check the program again dude, sometimes the program a little tricky. for record data, yup you could do it. check the link below and you should be fine

https://learn.adafruit.com/adafruit-micro-sd-breakout-board-card-tutorial?view=all

eamirani (author)2016-04-15

Hi,how can i show the result of these mesuerments on a lcd ,becuase in this project ,there is no output ,i mean what wilk happen after sensing by these sensors.
Thank you for your answers

AdrieSentosa (author)eamirani2016-05-31

yup you could do it. check this nice tutorial link from adafruit below

https://learn.adafruit.com/adafruit-arduino-lesson-11-lcd-displays-1?view=all

abdul-moawad (author)2016-03-09

hi i'm trying to get the code to my Arduino but there is error massage

fatal error : SFE_BMP180.h: no such file or directory

any one know what is the problem

include the library dude. you could do it in sketch->include library. hope this help!

AndrewB252 (author)abdul-moawad2016-03-09

Without knowing much more, my guess is that you didn't download the library and then place it in the library directory that the arduino software points to.

VictorF56 (author)2016-03-09

Hello, how can I connect a screen to see your data?, thanks

VictorF56 (author)2016-03-08

Hello, where can I find the

BMP185 Barometer sensor

, thanks

Slavisha (author)2016-01-24

BTW, you can create pretty cool little online dashboard with these sensors. I just combined it with few other sensors and wifi cc3000 shield and you can get something on the pic bellow.

I have 10 more sensors to add to it. I am not really building weather station...more like replica of Mars Rover...so it is robot which has all these sensors to measure enviroment.

metejnik (author)Slavisha2016-01-29

Can you give me more info about this?

Slavisha (author)metejnik2016-01-29

Yes, I hope this tutorial helps:

https://www.openhomeautomation.net/internet-of-things-dashboard/

ajbozdar (author)2015-11-14

Signed hardware connections (+, -ive) would be better for beginners.

AdrieSentosa (author)ajbozdar2015-11-14

edited sir

ajbozdar (author)AdrieSentosa2016-01-24

Many thanks. I really liked your project.

Slavisha (author)2016-01-24

BTW, you can create pretty cool little online dashboard with these sensors. I just combined it with few other sensors and wifi cc3000 shield and you can get something on the pic bellow.

I have 10 more sensors to add to it. I am not really building weather station...more like replica of Mars Rover...so it is robot which has all these sensors to measure enviroment.

Slavisha (author)2016-01-23

Hi There, thank you for your tutorial.

I have followed every step and i get to the point where i open the Serial Monitor and only thing that showes is:

Program Started.

Nothing else loads. Any idea why would that happen?

Also, in your code and on your picture you dedicated DHT pin to Digital 2 pin but in instructions you said it will be digital pin 4, so I did put on pin 2 and still not getting what you are getting on your screen.

:-(

Vinh LocH (author)Slavisha2016-01-24

Hei,

As I encountered the same issue, when It only shows Program Started, it's better to check BMP180/185 and be sure to connect it properly (SDL/SDA and 3.3V).

And the problem with DHT Pin, you just need to change the line #define DHTPIN 2 //Define DHT11 digital pin to #define DHTPIN 4 //Define DHT11 digital pin and it should work well.

Hope it helps.

Slavisha (author)Vinh LocH2016-01-24

Yep,

that fixed it. Thank you so much for this. :-)

Slav

rmoule (author)2016-01-18

In your photo what are the two boards with the blue potentiometers?

Vinh LocH (author)rmoule2016-01-24

Hi,

It's the amplifier of Rain Drop and Soil Humidity I suppose.

lapenta (author)2016-01-11

Nice project, thanks for sharing! Do you know if I could shinkify this using a Attiny85 IC, instead of using Arduino? I'm planning make one myself, but I'd like to "save" the arduino, as I have only one board, and a couple of Attiny85 waiting to be used...

theredbryophyte (author)2015-12-22

You could save the data to an SD card using an SD card breakout board or you could upload the data to Google Sheets using ifttt.com or something similar.

theredbryophyte (author)2015-12-22

You could save the data to an SD card using an SD card breakout board or you could upload the data to Google Sheets using ifttt.com or something similar.

MikeZ9 (author)2015-11-27

Does the barometer sensor have to be BMP185, or can it be BMP180 as well?

YukselV (author)2015-11-18

Good but use rtc and a logging system for storing data and time

AdrieSentosa (author)YukselV2015-11-23

Sorry for really late reply,

thank you for your suggestion, i just made instructables about it (check it out in below link).
https://www.instructables.com/id/Raspberry-Pi-Real-...
https://www.instructables.com/id/Raspberry-Pi-Data-Logging/

AdrieSentosa (author)2015-11-16

let me know if you have problem building your own weather station, it's a fairly easy to follow project.

for lcd tutorial check it out adafruit tutorial,
https://learn.adafruit.com/adafruit-arduino-lesson...

hope my answer help you a bit

Jonathanrjpereira (author)2015-11-12

Where did you get the Fritizng Part for the Rain Sensor(YL-83)? Could you provide me with a link to it.

I want to use that Fritzing part in my Instructable: https://www.instructables.com/id/TWIST-DIY-Tweeting-Weather-Station/ , but I couldn't find that rain sensor part anywhere.

i made it myself. you could edit or clone my picture any way you prefer.

here, take a look
https://learn.sparkfun.com/tutorials/make-your-own...

It would be really nice if you could attach the Fritzing file.

send me your email address dude, i dont know how to attach file in comment.

About This Instructable

132,100views

966favorites

License:

Bio: A candle loses nothing of its light when lighting another
More by AdrieSentosa:LED Acrylic Trophy / PlacardRaspberry Pi - Remote Desktop ConnectionIoT Service Robot
Add instructable to: