SparkFun Forums 

Where electronics enthusiasts find answers.

For the discussion of Arduino related topics.
By tomed3210
#186931
When I access the BMP180 library and upload altitude_example then go to the serial monitor the only display is reboot. Any help is appreciated.
By PaulRB
#187002
Hi, so after "REBOOT" you do not see either "BMP180 init success" or "BMP180 init fail (disconnected?)" ?

I think this may mean that the i2c bus is not working. Check that you have the SDA and SCL lines connected correctly and they are not swapped. What kind of Arduino are you using? Try external pull-up resistors (4K7) on the SDA and SCL lines. Also try running this sketch:
Code: Select all
// --------------------------------------
// i2c_scanner
//
// Version 1
//    This program (or code that looks like it)
//    can be found in many places.
//    For example on the Arduino.cc forum.
//    The original author is not know.
// Version 2, Juni 2012, Using Arduino 1.0.1
//     Adapted to be as simple as possible by Arduino.cc user Krodal
// Version 3, Feb 26  2013
//    V3 by louarnold
// Version 4, March 3, 2013, Using Arduino 1.0.3
//    by Arduino.cc user Krodal.
//    Changes by louarnold removed.
//    Scanning addresses changed from 0...127 to 1...119,
//    according to the i2c scanner by Nick Gammon
//    http://www.gammon.com.au/forum/?id=10896
// Version 5, March 28, 2013
//    As version 4, but address scans now to 127.
//    A sensor seems to use address 120.
// 
//
// This sketch tests the standard 7-bit addresses
// Devices with higher bit address might not be seen properly.
//

#include <Wire.h>


void setup()
{
  Wire.begin();

  Serial.begin(9600);
  Serial.println("\nI2C Scanner");
}


void loop()
{
  byte error, address;
  int nDevices;

  Serial.println("Scanning...");

  nDevices = 0;
  for(address = 1; address < 127; address++ ) 
  {
    // The i2c_scanner uses the return value of
    // the Write.endTransmisstion to see if
    // a device did acknowledge to the address.
    Wire.beginTransmission(address);
    error = Wire.endTransmission();

    if (error == 0)
    {
      Serial.print("I2C device found at address 0x");
      if (address<16) 
        Serial.print("0");
      Serial.print(address,HEX);
      Serial.println("  !");

      nDevices++;
    }
    else if (error==4) 
    {
      Serial.print("Unknow error at address 0x");
      if (address<16) 
        Serial.print("0");
      Serial.println(address,HEX);
    }    
  }
  if (nDevices == 0)
    Serial.println("No I2C devices found\n");
  else
    Serial.println("done\n");

  delay(5000);           // wait 5 seconds for next scan
}
This should show you if the Arduino can see any devices on the i2c bus, and if so it will report their address. The BMP180 should have address 0x77.

Paul
By michael.tanja
#195934
I ran the code above to scan for my I2C, but it endlessly scans. Does this mean that it possibly have a higher bit address than 7? Thanks
By michael.tanja
#195935
in addition to my lst response, I should also note that the BMP-180 was working when I ran the example code, however it only worked for about 2 minutes until it stopped outputting data. I ran the code again multiple times, but the monitor keeps displaying "REBOOT" without actually telling me whether the sequence failed or not