Arduino UNO and SCP1000

Hello,

I am an Atmospheric Science student at the University of Nevada in Reno, Nevada. Our professor purchased the Arduino boards and a set of SCP1000 chips equipped with the barometric pressure/temperature sensor.

We successfully wired the chip to the Arduino board and are attempting to run the "BarometricPressureSensor" example sketch for use in a project. After successfully uploading the sketch to the Arduino board, we are having trouble interpreting the results:

100000 10000000
Pressure [Pa]=3687
100001 10000100
Temp

=26.6511111	1111100
100000	10000000
Pressure [Pa]=3690
100001	10000100
Temp[C]=26.5511111	1111100
100000	10000000
Pressure [Pa]=3677
100001	10000100
Temp[C]=26.6011111	1111100
100000	10000000
Pressure [Pa]=3663

The pressure, in Pascals, in Reno, Nevada should be about 850 millibars, or approximately 85 000 Pascals. 

At first, we thought the sensor onboard the SCP1000 might be faulty, so we tried another sensor on another Arduino board and are getting the same values. 

If you could provide some insight into the SCP1000 and this issue, it would be greatly appreciated. 

Thank you,

Nic Beres

How do you correct for altitude?

Get yourself a BMP085

Get the library here..
http://code.google.com/p/bmp085driver/downloads/list

It should work a lot better.

Please share the code used, maybe its in the SW.

My SCP1000 works fine (incredibly sensitive, can 'measure' altitude to 20cm or something like that) - you need to show us the code to work out what's going wrong.

Just a quick thought - you have read all 19 bits of pressure? address 0x1F reads the top 3 bits, 0x20 the bottom 16 bits.

Mark:

Is it "better" that the BMP085?

Could I use it to detect low frequency (Seconds per cycle as opposed to CPS) pressure waves?

If you are using a good library maybe you can point it out. I am always looking for ways to do things better...

Looks like they have similar specs but the Bosch one is a lot quicker? Confused for a while with the Bosch datasheet using hPa as the unit of pressure - what? 0.01hPa = 1Pa (crazy Bosch engineers!) The SCP100 takes 0.75s for high-accuracy conversion I think, BMP085 is 25.5ms. For your bandwidth it might be better to have higher speed device or you'll be hitting the Shannon limit.

There is a problem with the sample sketch in that the binary shifts do not work in some places. Replace wherever it says "<< n" where n is an integer with *(2^n) where you have precalculated 2 to the n.

Sure its not a failure to declare types big enough? I've not seen << misbehaving.

Yes, it's something like that. I can't remember the modifications I made, but the << 16 for the pressure definitely didn't work. I think I ended up using a 'long' for pressure. Try that. I'm also in the middle of writing a library for the SCP1000, so if you want I can make it available to you when finished.