Hi,
I think I've zapped my BMP180.... the story ...
I'm working thru a project in the Book - "Begining Sensor Networks with Arduino and Raspberry Pi", pp 130-136, connecting the bmp180(bmp085 in the book) to a Raspberry Pi(I'm using the B+).
I was a bit careless soldering the pins (didn't bother to push the black plastic supports to one end), as a result it didn't sit firmly in the breadboard.
Although I got address 77 from "i2cdetect -y 1", when running a program the results seemed incorrect ie. -55Hpa, although the temp was ok.
So I though I'd resolder the pins. Actually removed them(with quickchip) & replaced them.
However running "i2cdetect -y 1" returned the following !
sudo i2cdetect -y 1
0 1 2 3 4 5 6 7 8 9 a b c d e f
00: -- -- -- -- -- -- -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
30: -- -- -- -- -- -- -- -- -- -- -- UU -- -- -- --
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
70: -- -- -- -- -- -- -- --
ie. 3b = UU
unsurprising running the program from the book (pi_bmp085.py) - returned the following results.
Error accessing 0x77: Check your I2C address
Error accessing 0x77: Check your I2C address
The barometric pressure at altitude 127.51 is 14449.01 hPa & Temperature is 12.80
^Z
& the temperature unlike before is unresponsive.
So I'm wondering is the sensor dead or is there something I can do to get it working, any tests??.
The book does mention something about making changes to Adafruit.i2C.py file in the Adafruit-Raspberry-Pi_Python library, but I'm not sure if this still applies.
ie. changing the return value from the getPiRevision() method
Any ideas anyone?? would be much appreciated!
Regards
Barometric sensor - BMP180 -Address Error or Dead??
Moderators: adafruit_support_bill, adafruit
Please be positive and constructive with your questions and comments.
- roduino
- Posts: 7
- Joined: Sun Aug 24, 2014 7:24 pm
- Franklin97355
- Posts: 23911
- Joined: Mon Apr 21, 2008 2:33 pm
Re: Barometric sensor - BMP180 -Address Error or Dead??
Could you post clear pictures of your board, any soldering you did and the connections to it?
- roduino
- Posts: 7
- Joined: Sun Aug 24, 2014 7:24 pm
Re: Barometric sensor - BMP180 -Address Error or Dead??
Hi Franklin, thanks for your interest, ok here's 2 pics, 1 of the soldered board (looks fine ! - I think ;-) ) & a pic of the connections...
And I've included the book's, project pytthon code.
I also tried to run Arduino code - using the "Adafruit_BMP085_Unified-master" library & still no luck.
Regards
And I've included the book's, project pytthon code.
I also tried to run Arduino code - using the "Adafruit_BMP085_Unified-master" library & still no luck.
Regards
Code: Select all
# RasPi I2C Sensor - Beginning Sensor Networks
#
# For this script, we connect to and read data from an
# I2C sensor. We use the BMP085 sensor module from Adafruit
# or Sparkfun to read barometric pressure and altitude
# using the Adafruit I2C Python code.
import time
# Import the BMP085 class
from Adafruit_BMP085 import BMP085
# Instantiate an instance of the BMP085 class passing
# the address of the sensor as displayed by i2cdetect.
bmp085 = BMP085(0x77)
# Read data until cancelled
while True:
try:
# Read the data
pressure = float(bmp085.readPressure()) / 100
altitude = bmp085.readAltitude()
# Display the data
print("The barometric pressure at altitude {0:.2f} "
"is {1:.2f} hPa.".format(pressure, altitude))
# Wait for a bit to allow sensor to stabilize
time.sleep(3)
# Catch keyboard interrupt (CTRL-C) keypress
except KeyboardInterrupt:
break
- Attachments
-
- BMP180-Conn-2-Pi.JPG (389.66 KiB) Viewed 3241 times
-
- BMP180-with-header.JPG (325.78 KiB) Viewed 3241 times
- Franklin97355
- Posts: 23911
- Joined: Mon Apr 21, 2008 2:33 pm
Re: Barometric sensor - BMP180 -Address Error or Dead??
It all looks OK to me from the pictures. When did you purchase the BMP180?
- roduino
- Posts: 7
- Joined: Sun Aug 24, 2014 7:24 pm
Re: Barometric sensor - BMP180 -Address Error or Dead??
[Franklin] I purchased it only a week or so ago!!
Yeah the soldering looks ok, but I wondered if I damaged it when desoldering ie. too much heat near the sensor or something. I was a bit liberal with the iso-propyl. Could excess amounts of that damage the sensor??? (it would have dried before turning it on of course!).
Meanwhile I found out there is an updated Python library for the BMP085/180
ie. Adafruit_Python_BMP
So I d/l the master.zip file into a Documents folder, unzipped it & ran
sudo python setup.py install
then rebooted
then running i2cdetect -y 1
again returned UU in the same address (ie. bmp180 not recognised ??) as in my orig post.
Nevertheless I ran te simpletest.py provided in the library, twice & returned the following
First Run with default bus selection in simpletest.py
===============================
sensor = BMP085.BMP085()
# Optionally you can override the bus number:
#sensor = BMP085.BMP085(busnum=2)
==================
pi@raspberrypi ~/Documents/AdaFruit_Libs/Adafruit_Python_BMP-master/examples $ sudo python simpletest.py
Traceback (most recent call last):
File "simpletest.py", line 36, in <module>
sensor = BMP085.BMP085()
File "/usr/local/lib/python2.7/dist-packages/Adafruit_BMP-1.0.0-py2.7.egg/Adafruit_BMP/BMP085.py", line 68, in __init__
self._load_calibration()
File "/usr/local/lib/python2.7/dist-packages/Adafruit_BMP-1.0.0-py2.7.egg/Adafruit_BMP/BMP085.py", line 71, in _load_calibration
self.cal_AC1 = self._device.readS16BE(BMP085_CAL_AC1) # INT16
File "/usr/local/lib/python2.7/dist-packages/Adafruit_GPIO-0.5.0-py2.7.egg/Adafruit_GPIO/I2C.py", line 168, in readS16BE
return self.readS16(register, little_endian=False)
File "/usr/local/lib/python2.7/dist-packages/Adafruit_GPIO-0.5.0-py2.7.egg/Adafruit_GPIO/I2C.py", line 145, in readS16
result = self.readU16(register, little_endian)
File "/usr/local/lib/python2.7/dist-packages/Adafruit_GPIO-0.5.0-py2.7.egg/Adafruit_GPIO/I2C.py", line 132, in readU16
result = self._bus.read_word_data(self._address,register) & 0xFFFF
IOError: [Errno 5] Input/output error
========================================
Then Changed to busnum=2 in simpletest.py ie.
#sensor = BMP085.BMP085()
# Optionally you can override the bus number:
sensor = BMP085.BMP085(busnum=2)
================================
/Documents/AdaFruit_Libs/Adafruit_Python_BMP-master/examples $ sudo python simpletest.py
Traceback (most recent call last):
File "simpletest.py", line 39, in <module>
sensor = BMP085.BMP085(busnum=2)
File "/usr/local/lib/python2.7/dist-packages/Adafruit_BMP-1.0.0-py2.7.egg/Adafruit_BMP/BMP085.py", line 66, in __init__
self._device = I2C.Device(address, busnum)
File "/usr/local/lib/python2.7/dist-packages/Adafruit_GPIO-0.5.0-py2.7.egg/Adafruit_GPIO/I2C.py", line 68, in __init__
self._bus = smbus.SMBus(busnum)
IOError: [Errno 2] No such file or directory
=============================================
I'm not sure if I run the simpletest.py correctly or if it's just giving an error because it can't detect the bmp180. Any ideas??
I removed the cable & connected directly to the Pi's header, but still no success.
Regards
Yeah the soldering looks ok, but I wondered if I damaged it when desoldering ie. too much heat near the sensor or something. I was a bit liberal with the iso-propyl. Could excess amounts of that damage the sensor??? (it would have dried before turning it on of course!).
Meanwhile I found out there is an updated Python library for the BMP085/180
ie. Adafruit_Python_BMP
So I d/l the master.zip file into a Documents folder, unzipped it & ran
sudo python setup.py install
then rebooted
then running i2cdetect -y 1
again returned UU in the same address (ie. bmp180 not recognised ??) as in my orig post.
Nevertheless I ran te simpletest.py provided in the library, twice & returned the following
First Run with default bus selection in simpletest.py
===============================
sensor = BMP085.BMP085()
# Optionally you can override the bus number:
#sensor = BMP085.BMP085(busnum=2)
==================
pi@raspberrypi ~/Documents/AdaFruit_Libs/Adafruit_Python_BMP-master/examples $ sudo python simpletest.py
Traceback (most recent call last):
File "simpletest.py", line 36, in <module>
sensor = BMP085.BMP085()
File "/usr/local/lib/python2.7/dist-packages/Adafruit_BMP-1.0.0-py2.7.egg/Adafruit_BMP/BMP085.py", line 68, in __init__
self._load_calibration()
File "/usr/local/lib/python2.7/dist-packages/Adafruit_BMP-1.0.0-py2.7.egg/Adafruit_BMP/BMP085.py", line 71, in _load_calibration
self.cal_AC1 = self._device.readS16BE(BMP085_CAL_AC1) # INT16
File "/usr/local/lib/python2.7/dist-packages/Adafruit_GPIO-0.5.0-py2.7.egg/Adafruit_GPIO/I2C.py", line 168, in readS16BE
return self.readS16(register, little_endian=False)
File "/usr/local/lib/python2.7/dist-packages/Adafruit_GPIO-0.5.0-py2.7.egg/Adafruit_GPIO/I2C.py", line 145, in readS16
result = self.readU16(register, little_endian)
File "/usr/local/lib/python2.7/dist-packages/Adafruit_GPIO-0.5.0-py2.7.egg/Adafruit_GPIO/I2C.py", line 132, in readU16
result = self._bus.read_word_data(self._address,register) & 0xFFFF
IOError: [Errno 5] Input/output error
========================================
Then Changed to busnum=2 in simpletest.py ie.
#sensor = BMP085.BMP085()
# Optionally you can override the bus number:
sensor = BMP085.BMP085(busnum=2)
================================
/Documents/AdaFruit_Libs/Adafruit_Python_BMP-master/examples $ sudo python simpletest.py
Traceback (most recent call last):
File "simpletest.py", line 39, in <module>
sensor = BMP085.BMP085(busnum=2)
File "/usr/local/lib/python2.7/dist-packages/Adafruit_BMP-1.0.0-py2.7.egg/Adafruit_BMP/BMP085.py", line 66, in __init__
self._device = I2C.Device(address, busnum)
File "/usr/local/lib/python2.7/dist-packages/Adafruit_GPIO-0.5.0-py2.7.egg/Adafruit_GPIO/I2C.py", line 68, in __init__
self._bus = smbus.SMBus(busnum)
IOError: [Errno 2] No such file or directory
=============================================
I'm not sure if I run the simpletest.py correctly or if it's just giving an error because it can't detect the bmp180. Any ideas??
I removed the cable & connected directly to the Pi's header, but still no success.
Regards
- adafruit_support_rick
- Posts: 35092
- Joined: Tue Mar 15, 2011 11:42 am
Re: Barometric sensor - BMP180 -Address Error or Dead??
Jumpers and breadboards have been known to go bad. Can you try swapping things around a little?
- tdicola
- Posts: 1074
- Joined: Thu Oct 17, 2013 9:11 pm
Re: Barometric sensor - BMP180 -Address Error or Dead??
Yep the error "IOError: [Errno 5] Input/output error" happens because the device can't be found on the I2C bus, just like what you see with the i2cdetect command not finding it.
One quick thing to check is the wiring to the sensor and Pi, in particular if the SDA and SCL lines are hooked up to the right pins on the Pi. If those lines are mismatched you'll see behavior like what's happening now where the device doesn't enumerate using i2cdetect. The diagram on the right of this page shows where the SDA and SCL pins are located on the Pi (even though the diagram is for a Model A/B it still applies to the upper part of the B+ header too): http://elinux.org/RPi_Low-level_periphe ... .28GPIO.29 Double check all the connections are going to the right pins on the Pi just to be sure there isn't a mismatch.
Another thing that might cause the sensor to fail to enumerate is it not getting power. If you have a multimeter handy can you check the voltage going to the sensor by putting the positive lead on the sensor's VIN pin and the negative lead on the sensor's GND pin? Lets confirm you're getting 3.3 volts as expected.
One quick thing to check is the wiring to the sensor and Pi, in particular if the SDA and SCL lines are hooked up to the right pins on the Pi. If those lines are mismatched you'll see behavior like what's happening now where the device doesn't enumerate using i2cdetect. The diagram on the right of this page shows where the SDA and SCL pins are located on the Pi (even though the diagram is for a Model A/B it still applies to the upper part of the B+ header too): http://elinux.org/RPi_Low-level_periphe ... .28GPIO.29 Double check all the connections are going to the right pins on the Pi just to be sure there isn't a mismatch.
Another thing that might cause the sensor to fail to enumerate is it not getting power. If you have a multimeter handy can you check the voltage going to the sensor by putting the positive lead on the sensor's VIN pin and the negative lead on the sensor's GND pin? Lets confirm you're getting 3.3 volts as expected.
- roduino
- Posts: 7
- Joined: Sun Aug 24, 2014 7:24 pm
Re: Barometric sensor - BMP180 -Address Error or Dead??
Thanks all
Yes, I tried on a different breadboard - no luck & pins are definitely ok! double-tripple-quadrupple checked!!
And tested power & got 3.3v
So I guess that leaves the other 2 pins or some config err on the pi.
Unless any other ideas I may get another sensor & see what happens ( fortunately pretty cheap)
I even tried Sparkfun's BMP180 Arduino code & that didn't work either.
Regards
Yes, I tried on a different breadboard - no luck & pins are definitely ok! double-tripple-quadrupple checked!!
And tested power & got 3.3v
So I guess that leaves the other 2 pins or some config err on the pi.
Unless any other ideas I may get another sensor & see what happens ( fortunately pretty cheap)
I even tried Sparkfun's BMP180 Arduino code & that didn't work either.
Regards
- adafruit_support_rick
- Posts: 35092
- Joined: Tue Mar 15, 2011 11:42 am
Re: Barometric sensor - BMP180 -Address Error or Dead??
Please email [email protected] with a link to this thread for a replacement BMP180
- roduino
- Posts: 7
- Joined: Sun Aug 24, 2014 7:24 pm
Re: Barometric sensor - BMP180 -Address Error or Dead??
Thanks for the offer, but it'll cost you 3 times what it's worth in shipping, I can buy one locally & get it sooner. so no worries
- roduino
- Posts: 7
- Joined: Sun Aug 24, 2014 7:24 pm
Re: Barometric sensor - BMP180 -Address Error or Dead??
Wel I got a new sensor (& breadboard) & worked first go - no probs, swapped out & tried the old one & still didn't work.. ah well into the spare parts box, maybe I can salvage a few smd components..
- adafruit_support_mike
- Posts: 67446
- Joined: Thu Feb 11, 2010 2:51 pm
Re: Barometric sensor - BMP180 -Address Error or Dead??
Send a note to [email protected] with a link to this thread anyway.
The BMP180 you got from us didn't work, and as far as we're concerned that's the end of the story. We stand behind what we sell.
If making things right costs us more than the initial sale, that just shows where our values are. Your opinion of us is worth a hell of a lot more than a new part and a shipping fee.. especially for something as small as a breakout.
If you don't want another BMP180, the folks in support will get you a refund or store credit toward your next order.
The BMP180 you got from us didn't work, and as far as we're concerned that's the end of the story. We stand behind what we sell.
If making things right costs us more than the initial sale, that just shows where our values are. Your opinion of us is worth a hell of a lot more than a new part and a shipping fee.. especially for something as small as a breakout.
If you don't want another BMP180, the folks in support will get you a refund or store credit toward your next order.
- roduino
- Posts: 7
- Joined: Sun Aug 24, 2014 7:24 pm
Re: Barometric sensor - BMP180 -Address Error or Dead??
Ok, thank you very much
Regards
Regards
- killabyte
- Posts: 12
- Joined: Thu Oct 16, 2014 5:37 pm
Re: Barometric sensor - BMP180 -Address Error or Dead??
Having the same issue :( ive tried everything discussed in this thread chip is less than a couple days old please help! :(roduino wrote:Hi,
I think I've zapped my BMP180.... the story ...
I'm working thru a project in the Book - "Begining Sensor Networks with Arduino and Raspberry Pi", pp 130-136, connecting the bmp180(bmp085 in the book) to a Raspberry Pi(I'm using the B+).
I was a bit careless soldering the pins (didn't bother to push the black plastic supports to one end), as a result it didn't sit firmly in the breadboard.
Although I got address 77 from "i2cdetect -y 1", when running a program the results seemed incorrect ie. -55Hpa, although the temp was ok.
So I though I'd resolder the pins. Actually removed them(with quickchip) & replaced them.
However running "i2cdetect -y 1" returned the following !
sudo i2cdetect -y 1
0 1 2 3 4 5 6 7 8 9 a b c d e f
00: -- -- -- -- -- -- -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
30: -- -- -- -- -- -- -- -- -- -- -- UU -- -- -- --
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
70: -- -- -- -- -- -- -- --
ie. 3b = UU
unsurprising running the program from the book (pi_bmp085.py) - returned the following results.
Error accessing 0x77: Check your I2C address
Error accessing 0x77: Check your I2C address
The barometric pressure at altitude 127.51 is 14449.01 hPa & Temperature is 12.80
^Z
& the temperature unlike before is unresponsive.
So I'm wondering is the sensor dead or is there something I can do to get it working, any tests??.
The book does mention something about making changes to Adafruit.i2C.py file in the Adafruit-Raspberry-Pi_Python library, but I'm not sure if this still applies.
ie. changing the return value from the getPiRevision() method
Any ideas anyone?? would be much appreciated!
Regards
- Franklin97355
- Posts: 23911
- Joined: Mon Apr 21, 2008 2:33 pm
Re: Barometric sensor - BMP180 -Address Error or Dead??
Could you post clear pictures of both sides of your board showing any soldering you have done and the connections to it? and how you are testing it.Having the same issue :(
Please be positive and constructive with your questions and comments.