Paano gamitin ang MPU6050 accelerometer at gyroscope kasama ang Arduino

How to Use the MPU6050 Accelerometer and Gyroscope with Arduino

Ang MPU6050 ay isang maraming nalalaman at abot-kayang sensor na pinagsasama ang isang 3-axis accelerometer at isang 3-axis gyroscope sa isang solong pakete. Nakikipag-usap ito sa pamamagitan ng interface ng I2C at perpekto para sa pagsubaybay sa paggalaw, pagbabalanse ng mga robot, at mga kontrol na batay sa kilos. Ang tutorial na ito ay magpapakita sa iyo kung paano i -interface ang MPU6050 na may isang Arduino.

Ano ang kakailanganin mo

  1. MPU6050 Module
  2. Arduino Board (hal., Uno, Mega, Nano)
  3. Tinapay
  4. Jumper wires
  5. Isang computer na may naka -install na Arduino IDE

Hakbang 1: Ang mga kable ng MPU6050 kay Arduino

Ginagamit ng MPU6050 ang protocol ng I2C, na nangangailangan lamang ng dalawang linya ng data: SDA (data) at SCL (orasan). Narito ang mga karaniwang koneksyon:

MPU6050 Pin Arduino uno pin
VCC 5v
Gnd Gnd
SDA A4 (SDA)
SCL A5 (SCL)

Tandaan: Suriin ang iyong tukoy na I2C pinout ng board ng Arduino kung gumagamit ka ng ibang modelo.

Hakbang 2: I -install ang library ng MPU6050

Upang mas madali itong makipag -ugnay sa MPU6050, gagamitin namin ang library ng "MPU6050".

  1. Buksan ang Arduino IDE.
  2. Pumunta sa Sketch > Isama ang library > Pamahalaan ang mga aklatan.
  3. Sa manager ng aklatan, maghanap para sa "MPU6050 ng mga elektronikong pusa".
  4. Piliin ang library at i -click I -install.

Hakbang 3: Mag -upload ng code

Narito ang isang pangunahing halimbawa upang mabasa ang data ng accelerometer at gyroscope mula sa MPU6050:

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

MPU6050 mpu;

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

  Serial.println("Initializing MPU6050...");
  if (!mpu.begin()) {
    Serial.println("Failed to find MPU6050 sensor!");
    while (1) {
      delay(10);
    }
  }
  Serial.println("MPU6050 Initialized.");
}

void loop() {
  mpu.update();

  Serial.print("Accel X: ");
  Serial.print(mpu.getAccX());
  Serial.print(" | Accel Y: ");
  Serial.print(mpu.getAccY());
  Serial.print(" | Accel Z: ");
  Serial.println(mpu.getAccZ());

  Serial.print("Gyro X: ");
  Serial.print(mpu.getGyroX());
  Serial.print(" | Gyro Y: ");
  Serial.print(mpu.getGyroY());
  Serial.print(" | Gyro Z: ");
  Serial.println(mpu.getGyroZ());

  delay(500);  // Update every 500ms
}

Hakbang 4: Subukan ang pag -setup

  1. Ikonekta ang iyong Arduino sa computer gamit ang isang USB cable.
  2. Buksan ang Arduino IDE at piliin ang tama Lupon at Port mula sa Mga tool menu.
  3. I -upload ang code sa pamamagitan ng pag -click sa Mag -upload pindutan.
  4. Buksan ang serial monitor (Mga tool > Serial monitor) at itakda ang rate ng baud sa 9600.
  5. Dapat mong makita ang live na accelerometer at pagbabasa ng gyroscope na ipinapakita.

Pag -unawa sa data

  • Accelerometer (Accel X, Y, Z): Sinusukat ang linear acceleration sa tatlong axes.
  • Gyroscope (Gyro X, Y, Z): Sinusukat angular velocity (bilis ng pag -ikot) sa paligid ng tatlong axes.

Pag -aayos

  • Hindi nakita ang sensor: I-double-check ang mga kable at tiyakin na ang mga linya ng I2C ay tama na konektado.
  • Walang output sa serial monitor: Patunayan ang rate ng baud ay tumutugma sa setting ng code (9600).
  • Maling pagbabasa: Panatilihin ang antas ng sensor sa panahon ng pagsisimula upang maiwasan ang pag -drift.

Mga aplikasyon ng MPU6050

  1. Pagbabalanse ng mga robot
  2. Pagkilala sa kilos
  3. Pagsubaybay sa paggalaw para sa VR/AR
  4. Mga aparato sa pagsubaybay sa fitness

Konklusyon

Binabati kita! Matagumpay mong na-interface ang MPU6050 kasama ang isang Arduino at basahin ang data ng real-time na paggalaw. Ang sensor na ito ay hindi kapani -paniwalang maraming nalalaman at maaaring magamit sa hindi mabilang na mga proyekto. Subukang isama ang MPU6050 sa iyong susunod na proyekto na batay sa paggalaw at ilabas ang potensyal nito!

Mag -iwan ng komento

Notice an Issue? Have a Suggestion?
If you encounter a problem or have an idea for a new feature, let us know! Report a problem or request a feature here.