Vidi is said to have spent years and all his money on the invention of the barograph. That was a time when the value of something was judged
to be proportional to the time and effort that went into
it. Of course, we in the modern era have been taught
to laugh at ideas like that, and think ourselves superior
because we can put together a better device with
some parts bought online and a few hours’ work.
I, for one, feel a quite satisfactory sense of
accomplishment at having duplicated — if in only a
removed sense — the device of Vidi with a graphical
LCD, a BMP085 digital pressure sensor, and an
Photo 2 shows the breadboarded version. A
resistor, a 10K pot, the GLCD, and the Arduino — that's
it. The display lists the pressure in Pascals (named, of
course, for the aforementioned pioneer), meters of
elevation, and standard atmosphere fraction of the sea
level average. Also, there are low and high graph limits.
These limits are calculated like this: The setup
function does a reading and then it rounds this up or
down to the nearest 500 Pascals. It then adds 1,000
Pascals to the upper value, and subtracts 1,000 from
the lower one. This is so the readings will have a
chance of landing in the middle of the graph since the
device may be at any altitude when it is started.
If the pressure happens to wander to within 100
Pascals of either limit, it adjusts both limits up or down
by 500 Pascals. This creates an unavoidable
discontinuity, but the jump is obvious on the graph.
Refer to 90_hour_bmp085_GLCD_graph_baro.ino at
the article link.
There are two graphs: one for the last hour, to
show rapidly changing pressure; and one for the last 90
hours, to show the long term trend. The graphing
proceeds right to left, with the display marching as it
were to the left as new values are added to the right.
The program uses two circular buffers to store the
readings, with the newest reading overwriting the
See the source list for the places to download the
C code for the BMP085 and the KS0108 Graphical
LCD Library. There is a PDF file
(GLCD_Documentation.PDF) in the DOC subdirectory
of the unzipped GLCD library. This contains a correct
wiring diagram for the display; use it instead of the
HTML version which contains errors.
Due to the use of the WIRE library for the BMP085
— which uses Arduino pins A4 and A5 — the EN port of
the GLCD needs to be changed from A4 to something
April 2015 25
Post comments on this article and find any associated files
and/or downloads at www.nutsvolts.com/index.php?/
■ PHOTO 2.
■ PHOTO 3.