FREE SHIPPING ON ALL ORDERS OVER £20

60 DAY HASSLE-FREE RETURNS

Az MPU-6050 használatával a Raspberry PI-vel

Using the MPU-6050 with the Raspberry Pi

A MPU-6050 egy 6 tengelyes mozgáskövető eszköz giroszkóppal és gyorsulásmérővel, így ideális az olyan mozgásérzékelős alkalmazásokhoz, mint a robotika, a drónok és az IoT-projektek. Ebben az útmutatóban megtudhatja, hogyan csatlakoztassa és használja a MPU-6050 egy Raspberry Pi-vel a mozgás- és orientációs adatok rögzítéséhez.


Amire szükséged lesz

  1. Raspberry Pi
  2. MPU-6050 modul
  3. Próbapanel és összekötő vezetékek
  4. Egy számítógép, amellyel SSH-n keresztül hozzáférhet a Raspberry Pi-hez, vagy egy csatlakoztatott billentyűzet és monitor
  5. A Raspberry Pi-re telepített Python

1. lépés: A huzalozás MPU-6050 a Raspberry Pi-hez

A MPU-6050 I2C protokollon keresztül kommunikál a Raspberry Pi-vel.

Kapcsolatok

MPU-6050 Pin Raspberry Pi tűs csatlakozó sáv (Pin)
VCC 3,3 V (1. tű)
GND Földelés (6. érintkező)
SDA SDA (Pin 3, GPIO2)
SCL SCL (5. tű, GPIO3)

Megjegyzés: Gondoskodjon arról, hogy a MPU-6050 modul 3,3 V-on működik. A legtöbb modul tartalmaz feszültségszabályozót, így 5 V-ról is táplálhatók.


2. lépés: Az I2C interfész engedélyezése a Raspberry Pi-n

  1. Nyissa meg a Raspberry Pi konfigurációs eszközt:
    sudo raspi-config
    
  2. Navigáljon ide: Interfész beállítások > I2C
  3. A Raspberry Pi újraindítása:
    sudo reboot
    

3. lépés: A szükséges eszközök és könyvtárak telepítése

  1. sudo apt update && sudo apt upgrade -y
    
  2. Telepítse az I2C eszközöket:
    sudo apt install -y i2c-tools
    
  3. Telepítse a Python könyvtárakat az I2C kommunikációhoz és az adatfeldolgozáshoz:
    pip install smbus2
    

4. lépés: A kapcsolat ellenőrzése

  1. Használat i2cdetect hogy ellenőrizze a MPU-6050 észlelhető az I2C buszon:
    sudo i2cdetect -y 1
    
  2. Látnia kell a MPU-6050 a(z) címen 0x68 0x69 if az AD0 pin magas szintre van húzva). Ha nem:
    • Ellenőrizze a vezetékezést.
    • Gondoskodjon arról, hogy a MPU-6050 bekapcsolt állapotban van.

5. lépés: Adatok beolvasása a(z) MPU-6050

A következő Python-szkript beolvassa a gyorsulásmérő és a giroszkóp adatait a MPU-6050.

Python kódpélda

python
import smbus2
import time

# MPU-6050 python
 Regiszterek és címek
MPU6050_ADDR = 0x68
PWR_MGMT_1 = 0x6B
ACCEL_XOUT_H = 0x3B
GYRO_XOUT_H = 0x43

# I2C busz inicializálása
bus = smbus2.SMBus(1)

# Ébresztés a MPU-6050
python
bus.write_byte_data(MPU6050_ADDR, PWR_MGMT_1, 0)

def read_raw_data(addr):
    # Két bájtnyi adat beolvasása a megadott címről
    high = bus.read_byte_data(MPU6050_ADDR, addr)
    low = bus.read_byte_data(MPU6050_ADDR, addr+1)
    value = (high << 8) | low
    # Átalakítás előjeles értékké
    if value > 32767:
        value -= 65536
    return value

try:
    while True:
        # Gyorsulásmérő adatainak beolvasása
        accel_x = read_raw_data(ACCEL_XOUT_H)
        accel_y = read_raw_data(ACCEL_XOUT_H + 2)
        accel_z = read_raw_data(ACCEL_XOUT_H + 4)

        # Giroszkóp adatainak beolvasása
        gyro_x = read_raw_data(GYRO_XOUT_H)
        gyro_y = read_raw_data(GYRO_XOUT_H + 2)
        gyro_z = read_raw_data(GYRO_XOUT_H + 4)

        # Nyers adatok átalakítása értelmezhető értékekké (opcionálisan skálázás szükséges lehet)
        accel_x_scaled = accel_x / 16384.0
        accel_y_scaled = accel_y / 16384.0
        accel_z_scaled = accel_z / 16384.0

        gyro_x_scaled = gyro_x / 131.0
        gyro_y_scaled = gyro_y / 131.0
        gyro_z_scaled = gyro_z / 131.0

        print(f"Gyorsulásmérő: X={accel_x_scaled:.2f}, Y={accel_y_scaled:.2f}, Z={accel_z_scaled:.2f}")
        print(f"Giroszkóp: X={gyro_x_scaled:.2f}, Y={gyro_y_scaled:.2f}, Z={gyro_z_scaled:.2f}")

        time.sleep(1)

except KeyboardInterrupt:
    print("Kilépés...")

6. lépés: Alkalmazásai a MPU-6050

  1. Mozgáskövetés: Kövesse nyomon a mozgást és az orientációt a robotikában vagy a hordható eszközökben.
  2. Stabilization Systems: Valósítson meg giroszkópos stabilizálást drónokhoz vagy gimbalokhoz.
  3. Gaming: Készíts mozgásérzékelős játékvezérlőket.
  4. IoT projektek: Használjon mozgásadatokat az automatizálási események indításához.

Hibaelhárítás

  1. Eszköz nem észlelhető:

    • Ellenőrizze az SDA és SCL csatlakozásokat.
    • Győződjön meg arról, hogy az I2C interfész engedélyezve van a Raspberry Pi-n.
    • Ellenőrizze a tápellátást a MPU-6050.
  2. Pontatlan mérések:

    • Kalibrálja a szenzort az egyes tengelyekhez tartozó eltolás (offset) beállításával.
    • Gondoskodjon róla, hogy a szenzor stabil felületre legyen helyezve.
  3. I2C hibák:

    • Győződjön meg arról, hogy nincsenek ütköző eszközök az I2C buszon.

Összegzés

A MPU-6050 MPU-6050 robotikai alkalmazásokhoz, stabilizáló rendszerekhez és IoT-automatizáláshoz. Kísérletezzen az adatok skálázásával és szűrésével, hogy a szenzort pontosan az Ön igényeire szabja!

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.

Hagyj egy megjegyzést