Not getting I2C address..how to get it.?

hello,
i am trying to connect my gy 80 sensor to arduino uno.
connections are:
arduino gy80
5v 3.3v
gnd gnd
A5 SCL
A4 SDA

rest gy80 pins are not connected to any other pins of arduino uno.
Now, for finding my i2c device address..i run the i2c scanner code found on
http://playground.arduino.cc/Main/I2cScanner

But, unfortunately serial monitor showing "NO I2C device found".
kindly help me to find my i2c device address.??

thank you.

arduino 3.3v is connected to 3.3 v of gy80.
sorry for committing mistake in previous comment..

Checkout the I2c pin connected properly or not. Interchange if didn't worked.
And also check limit of gy80 voltage

arduino gy80
5v 3.3v

This does not look like a good idea. What happens if you connect the gy80 3.3V pin to 3.3V on the Uno, assuming, of course, that it is not too late and that you have not fried the gy80.

Here is a schematic of the GY-80:
http://www.uctronics.com/gy-80-bmp085-axis-magnetic-acceleration-gyroscope-atmospheric-pressure-module-p-1493.html

As you can see the 3.3V of the GY-80 is actually an output, and the GY-80 has also level shifters. Those level shifters assume that the VCC_IN is the pin that powers the module.

Don't connect the 3.3V of the GY-80 board.
Connect the Arduino 5V to the VCC_IN of the GY-80 board.
Run the i2c_scanner and it should be working.
If you have accidently connected the 5V to the 3.3V, it might be damaged.

You might have connected the SDA and SCL pins in reverse manner . Check it out by interchanging.

Thank you guys..!! :slight_smile:
i got my i2c addresses..
i connected the arduino 3.3 v to 3.3v of gy80. it is the mistake.
correct one is:
arduino 3.3v/5v to vin of gy80.

thank a lot..

Hello,
Greetings,

yesterday i connected my gy80 with arduino uno properly (as guided), and it was start showing i2c addresses, but today
it is not showing any i2c device. :frowning:
connections are:
Arduino gy80
5v vin
gnd gnd
A5 SCL
A4 SDA

i had almost completed my coding part..
kindly help :frowning:
thank you.

I assume that this is on a breadboard. Check that all the connections are securely in the sockets at both ends.

I, checked the connection using multimeter, voltage on gy80 vin and gnd is around 4.5v.

Can you please explain exactly what you checked the voltage of ?
4.5V is an unusual voltage to find around an Arduino. How is it powered ?

i connected the arduino's 5v pin to gy80's VCC_in pin.
arduino GND is connected to gy80's GND.

i put the multimter across the gy80's VCC_in and GND.
i checked it again, and multimeter again showing 4.58v.

BijendraSingh:
Hello,
Greetings,

yesterday i connected my gy80 with arduino uno properly (as guided), and it was start showing i2c addresses, but today
it is not showing any i2c device. :frowning:
connections are:
Arduino gy80
5v vin
gnd gnd
A5 SCL
A4 SDA

i had almost completed my coding part..
kindly help :frowning:
thank you.

As you said earlier gy80 input voltage 3.3 v and you given 5 v . Make ensure voltage input.I hope you didnt damage device

yesterday after checking with 3.3v, and for curiosity i also checked with 5v, and it shows the i2c addresses.
after that i run the gyrometer sketch on 3.3v and it shows some x,y,z values on serial monitor.

You should mention Which voltage your currently running. also try to put output / error message while compiling any.Try to put datasheet of gyro meter being used here

curiosity i also checked with 5v . Why you such thing. What is gyro specification says. If there is limit voltage between 3.3-5v then fine. Else it might get damage.

i think it might get damaged. =(
http://www.forkrobotics.com/wp-content/uploads/2013/05/L3G4200D.pdf

Wide supply voltage: 2.4 V to 3.6 V

They clearly says voltage must between 2.4 V to 3.6 V, i think it got damage.
try this:
Just provide 3.3v, and what is serial monitor displays . puts screen shot image and code you uploading.

i am running arduino i2c scanner code..

#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
}

Serial monitor displays:

I2C Scanner
Scanning...
No I2C devices found

If the current wiring is correct then it looks like you have pooped your I2C device by putting the wrong voltage on the wrong pin.

Also try to print
nDevices and error on Serial monitor window. And check what error report your are getting

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");
Serial.print("devices:");
 Serial.println(nDevices);
Serial.print("  error:");
 Serial.println(  error);
  delay(5000);           // wait 5 seconds for next scan
}