I am having a problem with reading "wrong" pressure values from bmp180 compared with local weather stations in my area.
My setup:
Arduino uno r3
bmp180 -->3,3V/GND/SDA(A4)/SCL(A5)
no other i2c device connected to arduino.
I am using Adafruit-BMP085-Library.
The pressure value from the arduino is 1005,2 mbar while local stations give 1021 mbar.
It is strange?
Please advice
You have a BMP180, and they don't.
So perhaps your measurements are right and the others are wrong XD
The Adafruit library is good, so the value that you get is a good value.
The meteorological baromic value is measured at sea level. You should compensate for that. Do you know the height of the sensor above sea level ? with 10cm accuracy ?
The difference is 16mbar, that is about 128 meters above sea level (if my calculation is right). Is that your height ?
The 'sea level' is zero height. The average of the sea level is the commonly agreed as being zero height.
There are maps for height, you can use these sites:
That is the height at the ground. Add also the height of the sensor above the ground.
The BMP180 is very accurate, if you walk upstairs to the second floor, the air pressure is already less.
Something to try: hold the BMP180 in your hand, keep it high and read the value. Keep it low and read the value. That should already make a difference.
To calculate the mbar difference that should be added to the sensor depends on the height, but also on the actual baromic value and temperature.
But I don't know how to calculate that.
Just add 16mbar for now.
Yep, weather stations report the local barometric pressure, corrected to sea level. The standard value of sea level air pressure P0 is 1013.25 mB or 101325 Pa, assuming the sea level temperature to be 15 C or 298 K. To correct the barometer reading given your known altitude, you need to calculate the equivalent sea level pressure from the measured pressure P. Here is one formula for P in terms of P0, which you can invert to get P0 as a function of P. http://www.engineeringtoolbox.com/air-altitude-pressure-d_462.html
It usually is not useful to make corrections for temperature differences between your location and assumed sea level temperature, as the corrections are usually smaller than the error in measuring the pressure.
The BMP180 is very accurate, if you walk upstairs to the second floor, the air pressure is already less.
Sensitive, but not necessarily accurate. It can consistently tell you that the second floor is 4 metres higher than the first floor, but the reading for both might be 50 metres out.
Check out Babinet's Formula if you want to display corrected barometric pressures wrt sea level OR if you want to "uncorrect" a weather station pressure reading: