مشکل در ارتباط با mpu6050 و esp8266

سلام من با ماژول mpu6050 و esp8266 توی سریال مانیتور این رو دریافت میکنم Error: MPU6050 not detected! و همه اتصالات رو درست وصل کردم و نمیدونم چرا نمیتونه با ماژول ارتباط برقرار کنه اگر تجربه ای دارید ممنون میشم که کمکم کنید.
و این هم کدم هست :

#include <Wire.h>
#include <I2Cdev.h>
#include <MPU6050.h>

// تعریف شیء MPU6050
MPU6050 mpu;

void setup() {
  // 1) سریال برای دیباگ
  Serial.begin(115200);
  while (!Serial) { }  
  delay(100);

  // 2) راه‌اندازی I2C با پین‌های مشخص‌شده:
  //    SDA → D2 (GPIO4)
  //    SCL → D1 (GPIO5)
  Wire.begin(D2, D1);
  delay(100);

  // 3) مقداردهی اولیه و تست اتصال
  Serial.println("Initializing MPU6050...");
  mpu.initialize();
  if (!mpu.testConnection()) {
    Serial.println("Error: MPU6050 not detected!");
    while (1);
  }
  Serial.println("MPU6050 ready.");
}

void loop() {
  // 4) خواندن خام شتاب و ژیروسکوپ
  int16_t ax, ay, az, gx, gy, gz;
  mpu.getMotion6(&ax, &ay, &az, &gx, &gy, &gz);

  // 5) تبدیل به واحد مهندسی
  float accelX = ax / 16384.0;  // LSB/g at ±2g
  float accelY = ay / 16384.0;
  float accelZ = az / 16384.0;
  float gyroX  = gx / 131.0;    // LSB/(°/s) at ±250°/s
  float gyroY  = gy / 131.0;
  float gyroZ  = gz / 131.0;

  // 6) چاپ روی سریال
  Serial.print("Accel [g]: ");
  Serial.print(accelX, 3); Serial.print(", ");
  Serial.print(accelY, 3); Serial.print(", ");
  Serial.print(accelZ, 3);
  Serial.print("  |  Gyro [°/s]: ");
  Serial.print(gyroX, 2);  Serial.print(", ");
  Serial.print(gyroY, 2);  Serial.print(", ");
  Serial.println(gyroZ, 2);

  // 7) تأخیر بین خوانش‌ها
  delay(200);
}

سلام. با چه آموزشی پیش میرید و اتصالات سخت افزاریتون به چه صورت هست؟ (یه عکسی چیزی از اتصالات یا شماتیک بفرستید)

1 پسندیده

(پست توسط نویسنده حذف شد)

کتابخونه رو به MPU6050_light تغییر دادم و درست شد

1 پسندیده