Project Journals > Users Projects

Arduinio Weather Station Grapher

(1/2) > >>

I have always wanted to work with Arduino Microcontrollers and have decided to jump in Head-First and build a Weather Grapher.
This device will make Measurements of the following . . .
Indoor Temp
Indoor Humidity
Outdoor Temp
Outdoor Humidity
Barometric Pressure
Outdoor Light
It will make a measurement of all modes every minute, Every 12 minutes it will be averaged and stored, creating 5 averaged readings per hour.
At midnight the whole day will be averaged for the Out Temp and Out Lite readings and stored to make some graphs that show 120 day Trends
The display will be  small OLED screen with a 128x64 display
8 buttons will cause a graph of information to be displayed . . .
1- In Temp  24hr
2- In Hum  24hr
3- Out Temp  24hr
4- Out Hum  24hr
5- Bar Pres 24hr
6- Out Lite 24hr
7- 120 Day Temp Averages
8- 120 Day Light Averages

This project will involve . . .
Arduino Uno
2 DHT22 Temp Humidity sensors
Barometric Pressure sensor
Small Solar panel
Real Time Clock
and some switches
The Hardware part of the project appears to be simple.

Have programed in BASIC before and have been spending the last week learning Arduino C++
Doesn't seem to be too much of a learning curve.

Haven't ordered any parts yet so this may take some time ?

I got my Weather Station parts today and now the Arduino and display are working together.

Made a small solar panel yesterday to check the outdoor Light Level and graphing the light level will be my first learning project with these parts. Been learning Arduino C++ over the last week and will start coding tomorrow.

Realized that my project is too big to fit on a Nano so these computers will be used for learning until I can get an Arduino Mega. also did not realize that this display is really small, so a bigger display will soon be arriving.

I've had a coupla weeks to play with my little Arduino computers now, They are about the size of your thumb but appear to be more powerful than an old an old 286 Desktop that I had back in the Early 1990's. I think I have figured out most of the C++ programing and have been producing Graphs of the Outdoor Light Level over the last couple days.

I gutted an old Solar Charged Powerbank and all that is left is the 6v solar panel that has a Resister divider to keep the output voltage below 5v for the Arduino input.

It is mounted Outside next to the large solar panel that I charge my batteries with. So it is measuring the light it is receiving for Battery Charge. A small wire goes all the way inside to my Computer desk where I am testing at.

The last few days have been totally clear of clouds and Full Sun all day long. The resulting graphs have been boring straight squiggly lines. But I have been graphing some Sunrise & Sunsets so I can see it doing something.   

I have rewritten this program at least 3 times while learning the Syntax so the results displayed vary a little bit.
The picture above is a Sunset, sampled every 30 seconds, displaying 1 hour of data 120 pixels wide

Above picture is Yesterdays Sunset. Sampled once a minute. Displaying 2 hours of data.

Above picture is this mornings Sunrise. Also Sampled once a minute. Displaying 2 hours of data.

My camera does not take Close-ups very well, even set to Macro, so the focus is a little bit out.
Have decided to make this unit into a solar power monitor. It will keep track of the Sun Light and Battery Charge, will be able to overlay the 2 data streams and scale the data in different ways.
I have a second Arduino that I will build into the Weather Monitoring Station.
Today and the next few days are forecast to be considerably cloudy so I may have some fairly dynamic displays to show soon.
Have discovered that the smaller Arduinos have limited memory so I am looking into the Arduino MEGA for my future projects.

Are you trying to plot light level, or the power available?

Silicon cells are hideously non-linear - far more so if you are just looking at the voltage they generate while they have little or no load.
The ideal load is a short circuit, but that makes it hard to measure the output.
The solution to that is to use an opamp as a transimpedance amplifier, where it drives its output to keep the voltage on the PV output at ZERO - in effect, a perfect short circuit - but that outputs a signal proportional to how hard it has to push back!
Of course, using a PV panel as large as you are makes the opamp requirements pretty hefty compared to a smaller photodiode, but still doable.

Try loading the cell down as hard as you can and you should get better.


--- Quote from: rossw on March 09, 2021, 08:03:04 pm ---Are you trying to plot light level, or the power available?

Silicon cells are hideously non-linear - far more so if you are just looking at the voltage they generate while they have little or no load.

Try loading the cell down as hard as you can and you should get better.

--- End quote ---

Hey Ross
I honestly don't have any real need for these graphs. I just bought my first Arduino Computer and just trying out some things so I can learn the programming. I've always been interested in graphing data and have always thought that a graph of outdoor light level would be very interesting.
Suspected that the voltage output from a solar panel would not accurately follow the actual light level. I feel that the readings I'm getting follow actual levels really good until it gets close to Full Sunlight and then it compresses and flattens out a little bit.
The small solar panel being used to sense the light is 6 volts and measured only 60 ma short circuit. I don't think it is even big enough to charge a Powerbank in the first place. The voltage divider uses 1200 ohms across it so it's not loaded much at all.

After watching a pile of Arduino Videos on YouTube I discovered that the Arduino can send to a Plotter on the computer.
So I plotted 7 hours of time starting at 12:noon and going all the way through sunset. The levels drop off very quickly at sunset cause heavy clouds were also moving in.


[0] Message Index

[#] Next page

Go to full version