Saturday, January 29, 2011

Pressure Sensor

The pressure sensor senses changes in air pressure that can be used to calculate altitude. I will also attempt to use it a launch detect mechanism, so that an accelerometer is not required.

I will try using a BMP085 pressure sensor that comes mounted on a breakout. I forgot to order pins with it (newby mistake), so I used cut-off paper clip wire. A little big, but it works.

The BMP085 is a digital sensor that uses the I2C interface that may be intimidating to beginners. Fortunately, others have blazed the trail and offer the coding online (however, read the comments to get some corrections). So, within a couple of hours a beginner like me was able to get a rather accurate barometer up and running on the Arduino!

However, the sensing has noise on it correlating to about +/-6 feet of altitude. I tried some things like keeping the power line as separate as possible, and moving around the house with it to see if it was radio noise, but none of that made much difference. The code will have to live with that much uncertainty.

The BMP085 runs on 3.3V, while the Arduino Uno ATMega 328 processor runs on 5V. Fortunately, the Uno board has a 3.3V output pin that can power the BMP085. However, the digital signal out of the BMP085 is therefore limited to 3.3V. The processor still reads the signal accurately, although this voltage mis-match may be part of the noisy signal (some ambiguity as to whether the signal is high or low).

No comments:

Post a Comment