Arduino Barometer - Arduino Project Hub
Arduino Barometer - Arduino Project Hub
current_site=arduino&setup=true&redirect_to=%2Fprojecthub%2Fbrettoliver49%2Farduino-
barometer-eb5bdd)
Arduino Stepper Motor Barometer with additional displays for last 3 & 6 hour
pressure changes.
barometer (/projecthub/projects/tags/barometer)
motor (/projecthub/projects/tags/motor)
temperature (/projecthub/projects/tags/temperature)
weather (/projecthub/projects/tags/weather)
Arduino Nano R3
(/projecthub/products/buy/19
× 1
172?
( (/proj (/projecthub/products
s=BAhJIhMzMzM0MjgsUHJva
/ ecthu /buy/19172?
mVjdAY6BkVG%0A)
p b/pro s=BAhJIhMzMzM0Mjgs
(/projecthub/pro
r ducts UHJvamVjdAY6BkVG%
ducts/buy/19172?
o /buy/ 0A)
s=BAhJIhMzMzM
j 19172
0MjgsUHJvamVjd
AY6BkVG%0A) e ?
c s=BA
t hJIhM
h zMzM
u 0Mjgs
b UHJva
/ mVjd
p AY6B
r kVG%
o 0A)
d
u
c
t
s
/
b
u
y
/
/
1
9
1
7
2
?
s
=
B
A
h
JI
h
M
z
M
z
M
0
M
j
g
s
U
H
J
v
a
m
V
j
d
A
Y
6
B
k
V
G
G
%
0
A
)
Using an Arduino UNO and Nano to display Air Pressure on a 12" (300m) analogue
display using 3 stepper motors.
There is a choice to 2 dial designs modern and classic.
Air Pressure in hPa (Hectopascal) is displayed on the large main dial and is updated every
10 minutes.
There are 2 secondary dials, one shows the last 6 hour pressure change and the other
shows the last 3 hour pressure change.
The 3 hour dial has an increased resolution of 0.5 hPa as this is used for weather
forecasting. There are LEDs to show when extended range is in use on all three displays
and also LEDs to indicate the weather forecast off the 3 hour display.
Inside the case two 20x4 LCD screens show info from each of the microprocessors.
The main air pressure display and 6 hour display are controlled by a RTC. This clock also
provides a 1 hour pulse for the 3 hour display.
Most analogue barometers pic. 2 just use the air pressure as an indication to predict the
weather and you have to remember to set the movable pointer and note the time it was
set to see air pressure change.
The weather is simply written around the dial and read off from the pointer. Forecasting
is a little bit more complicated that as you have to use the 2nd pointer and make note of
any change over a 3 hour period. You will have to memories the combinations of current
pressure and rising/falling pressure to get your forecast.
My Barometer continuously monitors the the pressure change over a 3 hour and 6 hour
period and displays these readings on 2 seperate dials.
pic.1 shows my barometer's range of weather predictions.
pic.3 shows a close up of the weathr prediction LEDs. The weather prediction is based on
the last 3 hour air pressure change.
This time-lapse animation shows how the Barometer hands and forecast LEDs react to a
comming storm.
All three dial have extended ranges. This allows larger displayed resolution on the dials
for normal weather. In extreme weather conditions the dials switch to extended range.
The animation pic1. shows how the LEDs light when extended range is in operation. The
Red LED shows when the reading is +5 and above. You would then read the Red scale
lettering. The Green LED shows when the reading is -5 and below. You would then read
the Green scale lettering. If the reading goes beyond the extended range eg on this dial
above +9 or -9 both LEDs will light to show this- see next section.
Pressure readings Over Extended RangePic.2 If the pressure reading is over the
extended range + or - then both LEDs will light to warn you that extreme readings or
changes have taken place. The dials will actually still show the readings eg on the 3 hour
dial if the reading was -10 then the dial would point to 0 with both LEDs lit. If the 3 hour
reading was -11 then the dial would point to -1 with both LEDs lit. You just add 10 to the
reading.
In the animation below the 3 hour pressure difference is starts at 0 and the pressure
difference is going down. At -5 hPa the green LED lights to indicate negative extended
range is in use. The pressure change keeps dropping until it reaches -10hPa. This is now
over the extended range so the Red LED also lights. The pressure then drops again to
-11hPa and both LEDs remain lit. The pressure change starts decreasing to -10 hPa and
again this is still over the extended range so both LEDs remain lit. Once the pressure
change drops to below -10 the Red LED will go out showing extended range is again in
use.
I set the extended range into the dials after checking weather extreems in the UK and
while I expected the 3 hour and 6 hour extended ranges to be used I did not think the
extended range would ever be used on the main Barometer display.
Pic.3 While prototyping the barometer in Jan 2020 there was a record high reading of
1050hPa is the South of England my main barometer went into the extended range with
the pointer on the red 1050 and the red high range LED lit.
3 Hour
Pic.1 & 2 This display shows the 3 hour readings and information on the 3 hour dial. It
also shows the weather forecast based on the current and last 3 hour reading.
6 Hour
Pic. 3 & 4 This display shows the main barometer dial readings and also the 6 hour
readings.
Pic.1 On initial power up the barometer will need to be setup using the controls on the
Vero Board.
RTC
Pic.2 The RTC will need to be set to the correct time.I set it to UTC and don't bother
changing to summer time. Before adjusting the time make note of the "Disp" value in
this case -5. This is the value of the 6 hour hand and will be needed later in the setup.
Slide the "Select Setting Enable" switch to the On position. The display will not change.
Pic.3 Slowly turn the "Select Setting" Knob clockwise and the 2nd row of the main LCD
display will change.
Stop when the display shows "RTC Hour Retard" If you want to retard the RTC hours
press the red "change setting" button. A single click will step the hours backwards.
Multiple clicks will step back the number of clicks pressed but will take a second to
update the RTC.
Pic.4 Turning the "Select Setting" Knob further will change the display to "RTC Hour
Advance"
If you want to advance the RTC hours press the red "change setting" button. A single
click will step the hours forwards. Multiple clicks will step forward the number of clicks
pressed but will take a second to update the RTC.
Pic.5 Turning the "Select Setting" Knob further will change the display to "RTC Min
Retard"
If you want to retard the RTC mins press the red "change setting" button. A single click
will step the mins backwards. Multiple clicks will step back the number of clicks pressed
but will take a second to update the RTC.
Pic.6 Turning the "Select Setting" Knob further will change the display to "RTC Min
Advance"
If you want to advance the RTC mins press the red "change setting" button. A single click
will step the mins forwards. Multiple clicks will step forwards the number of clicks
pressed but will take a second to update the RTC.
Pic.7 Once you have completed the RTC setting or any other setting return the "Select
Setting" Knob fully anti clockwise until the display shows "Off"
Slide the "Select Setting Enable" switch to the Off position.
Note. The seconds can be synchronized to 30 seconds at any time by pressing the black
"Reset to 30 seconds" button.The time will now be remembered on the RTC if the power
is turned off.
Modules
Where possible this project uses prebuilt modules to save construction and design time.
Microprocessors
This project uses 2 microprocessors an Atmega 328(UNO) pic.1 and an Arduino Nano
pic.2. I have used this combination as I had already had a 328 built from another project
and due to limited space on the Vero Board added the Nano as well.
Power
The Barometer uses around 65mA and this will increase a little as each motor steps for a
fraction of a second every 10mins to and hour
AMS117 pic.3
The module on this project is 3.3v and is used to power the BMP180 module.
The The AMS1117 series of adjustable and fixed voltage regulators are designed to provide
up to1A output current and to operatedown to 1V input-to-output differential. The
dropout voltage of the device is guaranteed maximum 1.3V, decreasing at lower load
currents.On-chip trimming adjusts the reference voltage to 1.5%. Current limit is set to
minimize the stress under overload conditions on both the regulator and power source
circuitry. The module on this project is 3.3v and is used to power the BMP180 module.
LM2596 Buck DC to DC Converter 3.0-40V to 1.5-35V pic.4This module converts the 12v
input to 5v
BMP180 Pressure Sensor Module 2 off pic.5The BMP180 Breakout is a barometric
pressure sensor with an I2C ("Wire") interface.Barometric pressure sensors measure the
absolute pressure of the air around them. This pressure varies with both the weather and
altitude. Depending on how you interpret the data, you can monitor changes in the
weather, measure altitude, or any other tasks that require an accurate pressure reading.
Connect the +, -, CL, and DA pins to your Arduino.
CL goes to SCL and DA goes to SDA.
IMPORTANT: Connect the power pins (+ and -) ONLY to a 3.3V supply. Larger voltages
will permanently damage the part.Note that because I2C uses open drain drivers, it is
safe to connect the I2C pins (DA and CL) to an I2C port on a 5V microprocessor.
RTC real time clock pic.6
This brometer uses a DS3231 AT24C32 I2C Precision Real Time Clock Module.
This module is used mainly for timing but also supplies time stamps on the LCD display.
Time is set to UTC and is not changed for summertime.The module comes supplied with
a Lithium-Ion rechargeable battery see diagram above. I use a non rechargeable battery
so have removed resistor R5 from the module see RTC Modification section for details.
Stepper Motors 3 offThe barometer uses 3 Nema 17 Stepper Motors 1A, 13N.cm Holding
Torque, 4-Lead, 1.8° I used 1.8° motors as the steps fit exactly into 360° 200 times. You
can use Nema 8 motors if you wish but don't use 28BYJ-48-5V motors as they don't have
the required 1.8° step angle.
The 1.8° step angle is required as it divides exactly in 360° for my barometer dials.
LCD Displays 2 off
I have used 2 20x4 LCD displays one for the Barometer, clock and 6 hour display and the
other for the 3 hour display and forecast.
The circuit was prototyped using a hardboard dial with holes drilled for the motor
spindles and LEDs.
Various dial designs were then printed on normal paper and Sellotaped over the top. The
LED wiring loom was made with the LEDs in position on the temporary dial.
If you are using the round dial design this will allow you to check if the board etc will be
mounted on the dial or in the back box.
The module comes supplied with a Lithium-Ion rechargeable battery see diagram pic. 2.
I use a non rechargeable battery (I am not happy with the circuit design with a lithium-
iron battery and associated fire risk) of the so have removed resistor R5 from the module
as below. This stops any charge current to the battery.
Pic.3 shows the module without the resistor (just break it off) and pic.4 the modified
circuit.
On the modern square dial design all the modules and boards are mounted on the dial.
The classic round dial desgn will need some parts mounted in the back box as there is
less space on the dial.
Motors are hot melt glued to wooden mounting blocks pic.1&2. The wooded blocks are
cut fron a sheet of plywood pic.3. The mounting blocks depths are set to allow the
correct protrusion of the spindles through the dial. I have hot melt glued the blocls to
the dial.
The Vero Boards and LCD displays are also screwed to wooden blocks which have been
glued to the dial using impact adhesive.
Pic.4 shows the front view with a transparent dial showing mounting locations.
Pic. 5 shows the same but the rear view.
Pic.6 shows the wooden mounting blocks locations and layout.
Pic.7 shows the modules and motors mounted on the blocks.
The 3mm LEDs are mounted so they just show above the surface of the dial pic.1.
3mm holes are drilled and hot melt glue holds them in place.
To get a uniform depth I made a jig using a washer and piece of card glued to it
pic.2.When fixing the LEDs the jig is pressed against the dial with the depth of the
washer setting the protrusion of the LED through the dial.
Back Box
Pic.1 The barometer is housed in a back box that is smaller than the dial frame on all side
apart from the top. The fram overlap helps hide the back box and adds a shadow effect
to the case on the wall.
Pic.2 The back box is 50mm deep and is simply constructed of glued and screwed wood.
Pic.3 Rear view of back box in position behind rear dial frame showing the frame overlap.
Pic.4 The screw holes are filled then a coat of matt black is applied to the back box.
Pic.5 Back box with rear picture frame in place this holds the dial.Note the rear frame is
placed upside down.
Pic.6 A spacer is cut the same size and depth as the recess of the picture frame.
Pic.7 The spacer is set under the dial.
Pic.8 This will raise the dial level with the top edge of the rear frame.
Pic.9 Back box with front picture frame in place on top of the rear frame.This frame
holds the glass.
The dial and all the boards etc are removable for maintenance and is held to the backbox
by 2 bolts.
Mounting the Dial in the Back Box
The dial holds the combined weight of all the stepper motors, boards and modules and is
stiffened by impact gluing two strips of unequal aluminium angle to it's rear surface.Two
blocks of wood are then glued to these bars and small screws then hold these wooden
blocks through the side of the back box. A further thin strip of wood is glued to the dial
below the LCD mounting block. This is not screwed to the case but sits on the back box
to support the dial.
Pic.1 Strengthening bar of alluminium unequal angle.
Pic.2 Strengthening bar locations.
Pic.3 Glued wooden fixing/support blocks for dial fixing bolts left and right and glued dial
support lower.
Pic.4 Shows contact/fixing points between the back box and dial. Back box in black with
dial fixings/support in wood.
Pic.5 Rear view showing mounting block and bar locations.
Pic.6 Dial with Back Box Removed showing mounting blocks and strengthening bars
glued to the rear of the dial.
The dial spacer allows the dial to sit flush with the top of the rear picture frame.
Pic.7 Right side of clock showing dial fixing bolt location.
Pic.8 A mount is constructed from 4 thin strips of wood and is placed in the recess of the
front picture frame. This fills the gap between the picture frame and dial, holds the
Perspex sheet in place and also adds a photo mount effect to the dial.
Pic.9 Mount in place behind the front picture frame.
Pic.1 The dial is made from 1.5mm thick alluminium sheet and comes covered with a
protective plastic film.
Pic.2 From your cad program print out the dial on A3 paper and include center marks for
all the LED and stepper motor shaft holes.This will be your drill template.Lay the paper
of the alluminium dial blank and tape the edges to stop it moving.Center punch all the
holes through the paper.
Pic.3 Remove the paper template and drill out the holes 3mm for the LEDs and 3 larger
holes for your stepper motor spindle.
Start with a small pilot hole and increase the drill size in 3 stages. If you are using a
round dial mark it out on the projective film with a market pen and cut it out at this
stage.
Pic.4 The protective plastic film can now be removed. Rub down the dial back and front
to remove any burrs and to provide a key for the paint.
Pic.5 Spray a coat of acrylic primer and then your choice of top coat - I have used
antique white.
I then give a final coat of matt clear acrylic. Leave to dry over night.
I have included a high res pic of the dial pic.6. Contact me if you need it in another
format. My CAD format is TurboCad.
Hands are a very personnal choice and there are many diffent styles to choose from. The
hardest part is finding hands that match each other. I found a perfect set of small hands
but was unable to find a matching longhand for the main barometer. In the end I made
my own from 3 donor hands.
All my hands were quartz second hands so I hand to file the mounting spindle off the
back for mounting on the stepper motor spindle.
On some stepper motors the spindle can be drilled out to take the hand spindle but my
spindles were too hard to drill.
Pic.1 my completed hands.
Pic.2 The long barometer hand was constructed from 3 different hands
Pic.3 To get the lower spade balance part of the hand I used a spade hand.
Pic.4 First I cut off the top using sharp scissors.
Pic.5 The top was then trimmed by cutting the point off.
Pic.6 The remaining part was then filed away to match the shape of the 2 smaller hands.
Pic.7 The completed balance for the hand.
Pic.8 To make the front pointer and center I cut the end off one off my donor hands.
Pic.9 To make the rear balance shaft I cut a section out of the 3rd donor hand.
Pic.10 Left the 3 parts of the new hand. Middle shows the overlap of the balance shaft to
allow for bonding. Right pic shows the balance shaft bonded with impact adhesive to the
underside of the balance and center shaft.
To fix the hands to the stepper motor spindle I did not want to use impact adhesive as
the hands are fragile and would be damaged if I hand to remove them. In the end I went
for a tiny bit of Blu Tack on each hand. Blu Tack is putty like and is non setting but seems
to hold very well!
The main shematic is shown in Pic. 1 with the power supply in Pic.2.
You will also need a regulated plug in 12v supply adaptor of around 1amp.
Note I have fitted switches on the LCD displays to turn the backlight LEDs On and Off.
This is optional but as the displays are not visible for 99.99% of the time it will save
power.
Note larger schematics can be found on my web site here
(http://www.brettoliver.org.uk/Barometer/Arduino_Barometer.htm#schematic)
CODE
SCHEMATICS
S
c
h
e
m
a
t
i
DOWNLOAD (HTTPS://HACKSTERIO.S3.AMAZONAWS.COM/UPLOADS/ATTACHMENTS/1109124/SCHEMATIC04_PDB
c
COMMENTS
(/projecthub/brettoliver49)
FOLLOW (/PROJECTHUB/USERS/SIGN_UP?ID=345260&M=USER&REASON=FOLLOW&REDIRECT
PUBLISHED ON
WRITE A COMMENT
Share
(/projecthub/alejandrom)
and 2 others
(/projecthub/mircemk/barometer-with-analog-scale-ammeter-54a483?
ref=similar&ref_id=333428&offset=0)
(/projecthub/antiElectron/edot-arduino-based-precision-clock-and-weather-station-
a76ed0?ref=similar&ref_id=333428&offset=1)
eDOT - Arduino Based Precision Clock and Weather Station
(/projecthub/antiElectron/edot-arduino-based-precision-clock-
and-weather-station-a76ed0?ref=similar&ref_id=333428&offset=1)
Project tutorial by antiElectron (/projecthub/antiElectron)
15,158 VIEWS 6 COMMENTS 37 RESPECTS
(/projecthub/viccarre/ishield-weather-station-27ab2a?
ref=similar&ref_id=333428&offset=2)
iShield Weather Station (/projecthub/viccarre/ishield-weather-
station-27ab2a?ref=similar&ref_id=333428&offset=2)
Project tutorial by Victor Carreño (/projecthub/viccarre)
8,377 VIEWS 0 COMMENTS 17 RESPECTS
(/projecthub/somenjana/sensing-the-comfort-level-of-atmosphere-using-humidex-
3ee0df?ref=similar&ref_id=333428&offset=3)
(/projecthub/muhammad-aqib/interfacing-nokia-5110-lcd-with-arduino-7bfcdd?
ref=similar&ref_id=333428&offset=5)
Interfacing Nokia 5110 LCD with Arduino (/projecthub/muhammad-
aqib/interfacing-nokia-5110-lcd-with-arduino-7bfcdd?
ref=similar&ref_id=333428&offset=5)
by Aqib (/projecthub/muhammad-aqib)
17,841 VIEWS 3 COMMENTS 10 RESPECTS
(https://www.arduino.cc)
Powered by
(https://www.hackster.io)