Go Down

Topic: IMU 6050-no data on serial monitor (Read 715 times) previous topic - next topic

12341234tmmt

Hello I am trying to get the IMU 6050 to work. I am using this code from this website (the one that prints data on the serial moniter): https://howtomechatronics.com/tutorials/arduino/arduino-and-mpu6050-accelerometer-and-gyroscope-tutorial/

When I run the code, there is no data being printed on the serial moniter. I tried to change the I2c address from 0x68 to 0x40 (based on the datasheet: https://www.invensense.com/wp-content/uploads/2015/02/MPU-6000-Datasheet1.pdf) and it still doesn't work.

I also checked the wiring between the IMU6050 and my arduino nano a couple of times so I don't think it is a problem.

How can I get the sensor to work? Thanks.

12341234tmmt

My wiring: VCC to VIN of arduino, GND to GND, SCL to A5, SDA to A4

My power is a cable from my computer to the arduino nano (cable to upload code to arduino)

Idahowalker

When you ran the I2C scanner did the scanner report your device being connected?

Poki

The first program sets the serial monitor speed to 19200. You must set the IDE serial monitor window speed to match.

12341234tmmt

I set my Serial Monitor to 19200, and it is still not working.

@Idahowalker when I ran an I2c scanner code on my arduino with the IMU6050 hooked up to it, there was no result, only the message "I2C sanner, scanning..."
When I unhooked the IMU6050, the code was working fine ("It was printing no device found")

Here is the code I used:
Code: [Select]
include <Wire.h>
 
 
void setup()
{
  Wire.begin();
 
  Serial.begin(9600);
  while (!Serial);             // Leonardo: wait for serial monitor
  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("Unknown 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
}



Idahowalker

@Idahowalker when I ran an I2c scanner code on my arduino with the IMU6050 hooked up to it, there was no result, only the message "I2C sanner, scanning..."
If you do not solve this issue, you will not solve the other issues. It is about time for a schematic and a pic of your wiring.

12341234tmmt

This is the picture of my schematic. I apologize for the blurry image but I have checked it over many times and certain that the schematic is correct. I will test the IMU with another arduno I have to see if it works 

12341234tmmt

I've tested the IMU with my arduino uno. It is working correctly. I believe there might be a power issue the nano

12341234tmmt

I have found the issue, the power wire was not connected properly to the IMU. Thank you :)

Idahowalker

I have found the issue, the power wire was not connected properly to the IMU. Thank you :)
You're welcome.

Go Up