Cảm biến góc GY-521 MPU6050

Loại: Đang cập nhật
Thương hiệu: Đang cập nhật
Tình trạng: Còn hàng
Mã sản phẩm: Đang cập nhật
Giá bán:
68.000₫

Cam kết bán hàng

  • Hàng được kiểm tra trước khi bán Hàng được kiểm tra trước khi bán
  • Giá cả hợp lý Giá cả hợp lý
  • Vận chuyển nhanh chóng Vận chuyển nhanh chóng

Danh sách khuyến mãi

  • Miễn phí giao hàng cho đơn từ 500k thanh toán trước.Miễn phí giao hàng cho đơn từ 500k thanh toán trước.

Cảm biến gia tốc, góc nghiêng GY-521 MPU6050

GY-521 MPU6050 là cảm biến 6 trục gồm gia tốc kế 3 trục và con quay hồi chuyển 3 trục, giao tiếp I2C tốc độ tối đa 400kHz. Bên trong có ADC 16-bit cho dữ liệu chi tiết, bộ đệm FIFO 1024 byte và bộ xử lý chuyển động DMP. Ứng dụng: xe tự cân bằng, gimbal, drone, đo góc nghiêng, nhận diện cử chỉ, đếm bước...

Thông số kỹ thuật

Thông sốGiá trị
ICMPU-6050 (InvenSense)
Điện áp3.3V – 5V (có ổn áp trên board)
Giao tiếpI2C, địa chỉ 0x68 (AD0 = 0) / 0x69 (AD0 = 1)
Con quay hồi chuyển±250 / ±500 / ±1000 / ±2000 °/s
Gia tốc±2g / ±4g / ±8g / ±16g
ADC16-bit
Cảm biến nhiệt độTích hợp sẵn

Sơ đồ chân

ChânChức năng
VCCNguồn 3.3V – 5V
GNDMass 0V
SCLXung clock I2C
SDADữ liệu I2C
XDA / XCLI2C phụ, kết nối thêm cảm biến khác (ví dụ la bàn)
AD0Bit địa chỉ I2C: để trống/GND = 0x68, nối VCC = 0x69
INTChân ngắt báo có dữ liệu mới

Code mẫu 1: Arduino Uno đọc gia tốc, gyro và tính góc nghiêng

Code đọc trực tiếp thanh ghi qua thư viện Wire có sẵn, không cần cài thêm thư viện.

MPU6050VCCGNDSCLSDA
Arduino Uno5VGNDA5A4
Nạp code nhanh

Nối dây theo bảng trên, cắm board qua USB và mở bằng Chrome hoặc Edge trên máy tính. Chương trình mẫu đã được biên dịch sẵn, không cần build.

Xem code mẫu · mpu6050_uno.ino
// MPU6050 - đọc gia tốc, gyro, nhiệt độ và tính góc Roll/Pitch
#include <Wire.h>

const uint8_t MPU_ADDR = 0x68;

int16_t ax, ay, az, nhietRaw, gx, gy, gz;

void setup() {
  Serial.begin(115200);
  Wire.begin();

  Wire.beginTransmission(MPU_ADDR);
  Wire.write(0x6B);          // PWR_MGMT_1
  Wire.write(0x00);          // Đánh thức MPU6050
  Wire.endTransmission(true);
}

void docMPU() {
  Wire.beginTransmission(MPU_ADDR);
  Wire.write(0x3B);          // Thanh ghi bắt đầu ACCEL_XOUT_H
  Wire.endTransmission(false);
  Wire.requestFrom(MPU_ADDR, (uint8_t)14);

  ax = Wire.read() << 8 | Wire.read();
  ay = Wire.read() << 8 | Wire.read();
  az = Wire.read() << 8 | Wire.read();
  nhietRaw = Wire.read() << 8 | Wire.read();
  gx = Wire.read() << 8 | Wire.read();
  gy = Wire.read() << 8 | Wire.read();
  gz = Wire.read() << 8 | Wire.read();
}

void loop() {
  docMPU();

  // Thang mặc định: ±2g (16384 LSB/g), ±250 °/s (131 LSB/°/s)
  float Ax = ax / 16384.0, Ay = ay / 16384.0, Az = az / 16384.0;
  float Gx = gx / 131.0,   Gy = gy / 131.0,   Gz = gz / 131.0;
  float nhietDo = nhietRaw / 340.0 + 36.53;

  float roll  = atan2(Ay, Az) * 180.0 / PI;
  float pitch = atan2(-Ax, sqrt(Ay * Ay + Az * Az)) * 180.0 / PI;

  Serial.print("Acc(g): ");   Serial.print(Ax, 2); Serial.print(", ");
  Serial.print(Ay, 2);        Serial.print(", ");  Serial.print(Az, 2);
  Serial.print(" | Gyro(dps): "); Serial.print(Gx, 1); Serial.print(", ");
  Serial.print(Gy, 1);        Serial.print(", ");  Serial.print(Gz, 1);
  Serial.print(" | Roll: ");  Serial.print(roll, 1);
  Serial.print(" Pitch: ");   Serial.print(pitch, 1);
  Serial.print(" | T: ");     Serial.println(nhietDo, 1);

  delay(200);
}

Code mẫu 2: Dùng thư viện Adafruit MPU6050 (ESP32)

Cài thư viện Adafruit MPU6050 trong Library Manager (tự cài kèm Adafruit Unified Sensor, BusIO).

MPU6050VCCGNDSCLSDA
ESP323.3VGNDGPIO22GPIO21
Nạp code nhanh

Nối dây theo bảng trên, cắm board qua USB và mở bằng Chrome hoặc Edge trên máy tính. Chương trình mẫu đã được biên dịch sẵn, không cần build.

Xem code mẫu · mpu6050_esp32.ino
#include <Adafruit_MPU6050.h>
#include <Adafruit_Sensor.h>
#include <Wire.h>

Adafruit_MPU6050 mpu;

void setup() {
  Serial.begin(115200);
  Wire.begin(21, 22);                    // SDA, SCL

  if (!mpu.begin()) {
    Serial.println("Khong tim thay MPU6050, kiem tra day!");
    while (1) delay(10);
  }
  mpu.setAccelerometerRange(MPU6050_RANGE_4_G);
  mpu.setGyroRange(MPU6050_RANGE_500_DEG);
  mpu.setFilterBandwidth(MPU6050_BAND_21_HZ);
}

void loop() {
  sensors_event_t a, g, temp;
  mpu.getEvent(&a, &g, &temp);

  Serial.printf("Acc: %.2f %.2f %.2f m/s2 | Gyro: %.2f %.2f %.2f rad/s | %.1f C\n",
                a.acceleration.x, a.acceleration.y, a.acceleration.z,
                g.gyro.x, g.gyro.y, g.gyro.z, temp.temperature);
  delay(200);
}

Mẹo khi sử dụng

  • Không tìm thấy cảm biến: chạy code I2C Scanner để kiểm tra địa chỉ (0x68 hoặc 0x69).
  • Góc tính từ gia tốc bị nhiễu khi rung, góc từ gyro bị trôi theo thời gian: kết hợp bằng bộ lọc bù (complementary) hoặc Kalman.
  • Đặt cảm biến cố định, không di chuyển vài giây đầu để hiệu chỉnh offset.

Bước 1: Truy cập website và lựa chọn sản phẩm cần mua

Bước 2: Click và sản phẩm muốn mua, màn hình hiển thị ra pop up với các lựa chọn sau

Nếu bạn muốn tiếp tục mua hàng: Bấm vào phần tiếp tục mua hàng để lựa chọn thêm sản phẩm vào giỏ hàng

Nếu bạn muốn xem giỏ hàng để cập nhật sản phẩm: Bấm vào xem giỏ hàng

Nếu bạn muốn đặt hàng và thanh toán cho sản phẩm này vui lòng bấm vào: Đặt hàng và thanh toán

Bước 3: Lựa chọn thông tin tài khoản thanh toán

Nếu bạn đã có tài khoản vui lòng nhập thông tin tên đăng nhập là email và mật khẩu vào mục đã có tài khoản trên hệ thống

Nếu bạn chưa có tài khoản và muốn đăng ký tài khoản vui lòng điền các thông tin cá nhân để tiếp tục đăng ký tài khoản. Khi có tài khoản bạn sẽ dễ dàng theo dõi được đơn hàng của mình

Nếu bạn muốn mua hàng mà không cần tài khoản vui lòng nhấp chuột vào mục đặt hàng không cần tài khoản

Bước 4: Điền các thông tin của bạn để nhận đơn hàng, lựa chọn hình thức thanh toán và vận chuyển cho đơn hàng của mình

Bước 5: Xem lại thông tin đặt hàng, điền chú thích và gửi đơn hàng

Sau khi nhận được đơn hàng bạn gửi chúng tôi sẽ liên hệ bằng cách gọi điện lại để xác nhận lại đơn hàng và địa chỉ của bạn.

Trân trọng cảm ơn.

Có thể bạn thích

Sản phẩm đã xem

Thông số kỹ thuật

Cảm biến gia tốc, góc nghiêng GY-521 MPU6050

GY-521 MPU6050 là cảm biến 6 trục gồm gia tốc kế 3 trục và con quay hồi chuyển 3 trục, giao tiếp I2C tốc độ tối đa 400kHz. Bên trong có ADC 16-bit cho dữ liệu chi tiết, bộ đệm FIFO 1024 byte và bộ xử lý chuyển động DMP. Ứng dụng: xe tự cân bằng, gimbal, drone, đo góc nghiêng, nhận diện cử chỉ, đếm bước...

Thông số kỹ thuật

Thông sốGiá trị
ICMPU-6050 (InvenSense)
Điện áp3.3V – 5V (có ổn áp trên board)
Giao tiếpI2C, địa chỉ 0x68 (AD0 = 0) / 0x69 (AD0 = 1)
Con quay hồi chuyển±250 / ±500 / ±1000 / ±2000 °/s
Gia tốc±2g / ±4g / ±8g / ±16g
ADC16-bit
Cảm biến nhiệt độTích hợp sẵn

Sơ đồ chân

ChânChức năng
VCCNguồn 3.3V – 5V
GNDMass 0V
SCLXung clock I2C
SDADữ liệu I2C
XDA / XCLI2C phụ, kết nối thêm cảm biến khác (ví dụ la bàn)
AD0Bit địa chỉ I2C: để trống/GND = 0x68, nối VCC = 0x69
INTChân ngắt báo có dữ liệu mới

Code mẫu 1: Arduino Uno đọc gia tốc, gyro và tính góc nghiêng

Code đọc trực tiếp thanh ghi qua thư viện Wire có sẵn, không cần cài thêm thư viện.

MPU6050VCCGNDSCLSDA
Arduino Uno5VGNDA5A4
Nạp code nhanh

Nối dây theo bảng trên, cắm board qua USB và mở bằng Chrome hoặc Edge trên máy tính. Chương trình mẫu đã được biên dịch sẵn, không cần build.

Xem code mẫu · mpu6050_uno.ino
// MPU6050 - đọc gia tốc, gyro, nhiệt độ và tính góc Roll/Pitch
#include <Wire.h>

const uint8_t MPU_ADDR = 0x68;

int16_t ax, ay, az, nhietRaw, gx, gy, gz;

void setup() {
  Serial.begin(115200);
  Wire.begin();

  Wire.beginTransmission(MPU_ADDR);
  Wire.write(0x6B);          // PWR_MGMT_1
  Wire.write(0x00);          // Đánh thức MPU6050
  Wire.endTransmission(true);
}

void docMPU() {
  Wire.beginTransmission(MPU_ADDR);
  Wire.write(0x3B);          // Thanh ghi bắt đầu ACCEL_XOUT_H
  Wire.endTransmission(false);
  Wire.requestFrom(MPU_ADDR, (uint8_t)14);

  ax = Wire.read() << 8 | Wire.read();
  ay = Wire.read() << 8 | Wire.read();
  az = Wire.read() << 8 | Wire.read();
  nhietRaw = Wire.read() << 8 | Wire.read();
  gx = Wire.read() << 8 | Wire.read();
  gy = Wire.read() << 8 | Wire.read();
  gz = Wire.read() << 8 | Wire.read();
}

void loop() {
  docMPU();

  // Thang mặc định: ±2g (16384 LSB/g), ±250 °/s (131 LSB/°/s)
  float Ax = ax / 16384.0, Ay = ay / 16384.0, Az = az / 16384.0;
  float Gx = gx / 131.0,   Gy = gy / 131.0,   Gz = gz / 131.0;
  float nhietDo = nhietRaw / 340.0 + 36.53;

  float roll  = atan2(Ay, Az) * 180.0 / PI;
  float pitch = atan2(-Ax, sqrt(Ay * Ay + Az * Az)) * 180.0 / PI;

  Serial.print("Acc(g): ");   Serial.print(Ax, 2); Serial.print(", ");
  Serial.print(Ay, 2);        Serial.print(", ");  Serial.print(Az, 2);
  Serial.print(" | Gyro(dps): "); Serial.print(Gx, 1); Serial.print(", ");
  Serial.print(Gy, 1);        Serial.print(", ");  Serial.print(Gz, 1);
  Serial.print(" | Roll: ");  Serial.print(roll, 1);
  Serial.print(" Pitch: ");   Serial.print(pitch, 1);
  Serial.print(" | T: ");     Serial.println(nhietDo, 1);

  delay(200);
}

Code mẫu 2: Dùng thư viện Adafruit MPU6050 (ESP32)

Cài thư viện Adafruit MPU6050 trong Library Manager (tự cài kèm Adafruit Unified Sensor, BusIO).

MPU6050VCCGNDSCLSDA
ESP323.3VGNDGPIO22GPIO21
Nạp code nhanh

Nối dây theo bảng trên, cắm board qua USB và mở bằng Chrome hoặc Edge trên máy tính. Chương trình mẫu đã được biên dịch sẵn, không cần build.

Xem code mẫu · mpu6050_esp32.ino
#include <Adafruit_MPU6050.h>
#include <Adafruit_Sensor.h>
#include <Wire.h>

Adafruit_MPU6050 mpu;

void setup() {
  Serial.begin(115200);
  Wire.begin(21, 22);                    // SDA, SCL

  if (!mpu.begin()) {
    Serial.println("Khong tim thay MPU6050, kiem tra day!");
    while (1) delay(10);
  }
  mpu.setAccelerometerRange(MPU6050_RANGE_4_G);
  mpu.setGyroRange(MPU6050_RANGE_500_DEG);
  mpu.setFilterBandwidth(MPU6050_BAND_21_HZ);
}

void loop() {
  sensors_event_t a, g, temp;
  mpu.getEvent(&a, &g, &temp);

  Serial.printf("Acc: %.2f %.2f %.2f m/s2 | Gyro: %.2f %.2f %.2f rad/s | %.1f C\n",
                a.acceleration.x, a.acceleration.y, a.acceleration.z,
                g.gyro.x, g.gyro.y, g.gyro.z, temp.temperature);
  delay(200);
}

Mẹo khi sử dụng

  • Không tìm thấy cảm biến: chạy code I2C Scanner để kiểm tra địa chỉ (0x68 hoặc 0x69).
  • Góc tính từ gia tốc bị nhiễu khi rung, góc từ gyro bị trôi theo thời gian: kết hợp bằng bộ lọc bù (complementary) hoặc Kalman.
  • Đặt cảm biến cố định, không di chuyển vài giây đầu để hiệu chỉnh offset.
Danh sách so sánh
Messenger