Adafruit BMP183 SPI Barometric Sensor issue with Intel Ediso

Our weekly LIVE video chat. Every Wednesday at 8pm ET!

Moderators: adafruit_support_bill, adafruit

Please be positive and constructive with your questions and comments.
Locked
Tomx
 
Posts: 3
Joined: Wed Jan 04, 2012 3:01 am

Adafruit BMP183 SPI Barometric Sensor issue with Intel Ediso

Post by Tomx »

I have the Adafruit BMP183 SPI Barometric Pressure & Altitude Sensor and it works (sort of).

Test result with Intel Edison:
Pressure: 111265.00 Pascals / 1112.65 millibar (hPa)
Temperature: 14.77 C

As you can see, the room temperature is around 20 C but it reads 14.77 C. When I put I hand on/off it, the value did change though.

Sometime, it is even worse, I saw something like 90 C many times.

I used the Adafruit_BMP183 library and BMP183test sketch from Adafruit web site.

Any idea why this happens with Intel Edison? Thanks a lot!


Also, the pressure is off as well. The room pressure is around 1020 mbar, but it reads 1112.65 mbar.

User avatar
Franklin97355
 
Posts: 23910
Joined: Mon Apr 21, 2008 2:33 pm

Re: Adafruit BMP183 SPI Barometric Sensor issue with Intel E

Post by Franklin97355 »

Have you tried this with an Arduino to make sure the code and your connections are sound? Also post on the Edison forums as someone over there may have found a reason this is happening.

Tomx
 
Posts: 3
Joined: Wed Jan 04, 2012 3:01 am

Re: Adafruit BMP183 SPI Barometric Sensor issue with Intel E

Post by Tomx »

Thanks for the reply! I have tested with UNO board and everything works fine. See below for testing result. Any idea why the code doesn't work for Intel Edison? Thanks again!

Pressure: 100461 Pascals / 1004 millibar (hPa)
Temperature: 23.97 C
Sea level pressure: 1013.25 millibar/hPa
Altitude: 72.27 m

Tomx
 
Posts: 3
Joined: Wed Jan 04, 2012 3:01 am

Re: Adafruit BMP183 SPI Barometric Sensor issue with Intel E

Post by Tomx »

I made it work!

Basically, the raw values read from UNO and Edison are same, but the following code doesn't read the registers' values from Edison correctly (see below for my testing results),

/* read calibration data */
ac1 = read16(BMP183_REGISTER_CAL_AC1);
ac2 = read16(BMP183_REGISTER_CAL_AC2);
ac3 = read16(BMP183_REGISTER_CAL_AC3);
ac4 = read16(BMP183_REGISTER_CAL_AC4);
ac5 = read16(BMP183_REGISTER_CAL_AC5);
ac6 = read16(BMP183_REGISTER_CAL_AC6);
b1 = read16(BMP183_REGISTER_CAL_B1);
b2 = read16(BMP183_REGISTER_CAL_B2);
mb = read16(BMP183_REGISTER_CAL_MB);
mc = read16(BMP183_REGISTER_CAL_MC);
md = read16(BMP183_REGISTER_CAL_MD);

From UNO board,

ac1 = 7553
ac2 = -1093
ac3 = -14411
ac4 = 33233
ac5 = 25446
ac6 = 13402
b1 = 6515
b2 = 39
mb = -32768
mc = -11786
md = 2548

From Edison Board,

ac1 = 7553
ac2 = -1093
ac3 = -19071
ac4 = 25446
ac5 = 23065
ac6 = 39
b1 = 209
b2 = 2548
mb = 188
mc = 0
md = 0

As a temporary workaround, I just hard coded these variables with the values I got from UNO board in the following functions and it works now!

getTemperature()
getPressure()

For long term solution, I may need a little more time to figure it out. If you have any input, please do let me know, thanks a lot!

User avatar
parth9966
 
Posts: 4
Joined: Thu Jan 08, 2015 2:41 am

Re: Adafruit BMP183 SPI Barometric Sensor issue with Intel E

Post by parth9966 »

hi ,Tomx you got any solution about temperature sensor with intel edison ?

i have same problem ...here.

thanks!

Locked
Please be positive and constructive with your questions and comments.

Return to “Ask an Engineer! VIDEO CHAT (closed)”