Go Down

Topic: Troubles with BMP085 pressure sensor & I2C protocol (Read 3 times) previous topic - next topic

robtillaart

Quote
Sorry, I didn't pay much attention to the baudrate

Allways pay attention when programming, errors can be as small as one bit (not smaller) but a lot bigger :)

Quote
Could be that breakout/sensor has been damaged during delivery?

Yes, or afterwards

Quote
how should I check if the breakout board is damaged?

The I2C scanner does check if it is reachable, if it is not reachable by the Arduino I2C you might test it with another microprocessor.

Furthermore you could check if other I2C devices can talk with the Arduino to exclude that as error source.


Rob Tillaart

Nederlandse sectie - http://arduino.cc/forum/index.php/board,77.0.html -
(Please do not PM for private consultancy)

lucareds7

Ok, I have only one Arduino and only one I2C sensor... my topic was oriented to discover if there's a method to test the board without any other I2C sensor, but - never mind - I just bought a DS1307 which will become useful in the future, I hope!

It will arrive in the next days, after check I'll tell you how the story is going on...

For now many thanks, your suggestion have been useful and I've learned something new!

Hope that a day I'll be able to give this pleasure back to you! ;) I'm a mechanical engineer, so if you need somethingh in this branch, you're welcome!

Luca

lucareds7

What the hell...

I've solved one problem and then discovered another...

DS1307 arrived this morning, this evening I've soldered the protoboard with crystal, pull-up resistors, and battery as I found here http://lusorobotica.com/index.php?topic=681.0.

Connected and for few seconds worked (1st run of I2DScanner.pde), then I re-checked the BMP085 and as the other day it starts but displays only "I2CScanner ready! - starting scanning of I2C bus from 1 to 100…" and hangs.

I disconnected the sensor, then run I2DScanner.pde; this time worked and obviously no I2C address were found, after the 100 numbers there wasn't any "found"

Re-connected the DS1307 and - surprise - even this doesn't work, or better will make I2CScanner.pde halting as above... Checked and re-checked, tired with both to connect directly to Arduino board bypassing my shield but nothing changed.

I don't understand what's happening...

Now I've bought another ATMega328 with bootloader, trying to check if the microprocessor could have been someway damaged, it looks pretty strange to me, I've been extremely clean- & careful...

It stimulate me to knock my head on a hard edge...

retrolefty

Quote
I disconnected the sensor, then run I2DScanner.pde; this time worked and obviously no I2C address were found, after the 100 numbers there wasn't any "found"


Well that scanner sketch has kind of a dumb setup in that it doesn't scan for all possible I2C address. You should change the ending address used in the sketch to: 

Code: [Select]
byte end_address = 127;

A 1307 RTC will report back as: 

Quote
addr: 104 found!


Lefty

lucareds7


Quote
I disconnected the sensor, then run I2DScanner.pde; this time worked and obviously no I2C address were found, after the 100 numbers there wasn't any "found"


Well that scanner sketch has kind of a dumb setup in that it doesn't scan for all possible I2C address. You should change the ending address used in the sketch to: 

Code: [Select]
byte end_address = 127;

A 1307 RTC will report back as: 

Quote
addr: 104 found!




Lefty



I already made this modification, I see this issue in other forum. I even tried by other baudrate, but still nothing changed. My problem is that scanner initialize but halts after displaying "I2CScanner ready! - starting scanning of I2C bus from 1 to 100…", it seems like the I2C sensors make something busy by a loop

I also triple-checked wiring, voltage supply of devices, connectors, but all seems OK. I made some analogueRead on analogue pin 4 e 5, and they work ok (I made even measurement on analogue pin 0 and 2 to make sure to get same values)

What kind of mess could be happened to the board? it worked well for two hours, nothing have been changed/touched and now it's in strike...

Go Up