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.??
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.
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.
Thank you guys..!!
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.
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.
connections are:
Arduino gy80
5v vin
gnd gnd
A5 SCL
A4 SDA
i had almost completed my coding part..
kindly help
thank you.
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.
connections are:
Arduino gy80
5v vin
gnd gnd
A5 SCL
A4 SDA
i had almost completed my coding part..
kindly help
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.
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.
#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
}
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
}