Hi every one i'm using mpu 5060 when i canned it i stuck in 'i2c Device scanning.......' whats the problem?!

// --------------------------------------
// 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.
//
bool blinkState = false;
#include <Wire.h>


void setup()
{
  Wire.begin();

  Serial.begin(115200);
  Serial.println("\nI2C Scanner");
  pinMode(3, OUTPUT);
}


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("  !");
        blinkState = !blinkState;
        digitalWrite(3, blinkState);
      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 is the connection
image

and this is the serial monitor

The code hung at "Scanning" is typically a hardware problem with the i2c bus. Often SDA/ACL shorted to each other or ground.

If you remove the mpu 5060 from the circuit, does the Arduino itself scan correctly and report no devices.

If that works correctly check very carefully for problems with the module.

1 Like

i removed the mpu from circuit and doesn't report no devices.show me the same serial monitor,but I ordered a new one and have the same problem

This indicates that the issue is with the Arduino and not the module.

You will have to check very carefully for any solder bridges, flux, or any thing that could cause a short between sda/scl or either of them to ground.

Did you solder headers onto the Uno? Can you post of a picture of your board?

1 Like

no i'm not have anysolder bridges


I can see any obvious defects, but I think you have a defective board or AT328 chip. Do analog readings on A4 and A5 work correctly? Perhaps jumper each of them to 3.3v and see what they read.

If its new, I would try and return it.

yes sir i have an ATMEG328p chip on my board what is the problem now!!

I do not know the specific problem with your board, but I believe it is defective.

i wiil try analog read on the pins

i tryed the Arduino board on DHT! with porgram it works correctly !!!!

What have you learned about the operation of A4 and A5 as either digital or analog pins? They clearly don't work as the i2c bus sda/scl.

Even if they are defective, it's clear from your DHT code that there are many programs where the board will function correctly.

1 Like

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.