MPU-6050 on 6-akselisen liikkeen seurantalaite, jossa on gyroskooppi ja kiihtyvyysanturi, joten se on ihanteellinen liikkeen havaitseviin sovelluksiin, kuten robotti-, droneihin ja IoT-projekteihin. Tässä oppaassa opit yhdistämään ja käyttämään MPU-6050: tä Raspberry PI: llä liike- ja suuntatietojen sieppaamiseksi.
Mitä tarvitset
- Raspberry Pi (Mikä tahansa malli, jolla on GPIO -tuki, esim. Pi 3, pi 4)
- MPU-6050-moduuli
- Leipälevy- ja hyppyjohdot
- Tietokone, jolla on SSH -pääsy Raspberry PI: hen tai kytketty näppäimistö ja näyttö
- Python asennettu Raspberry Pi
Vaihe 1: MPU-6050: n johdotus Raspberry Pi: hen
MPU-6050 kommunikoi Raspberry PI: n kanssa I2C-protokollan avulla.
Yhteydet
| MPU-6050-nasta | Raspberry Pi -tappi | 
|---|---|
| VCC | 3,3 V (nasta 1) | 
| Hölynpöly | Maa (nasta 6) | 
| SDA | SDA (PIN 3, GPIO2) | 
| SCL | SCL (nasta 5, GPIO3) | 
Huomaa: Varmista, että MPU-6050-moduuli toimii 3,3 V: n nopeudella. Useimmat moduulit sisältävät jännitesäätimen, jonka avulla ne voivat saada virtalähteen 5 V: llä.
Vaihe 2: Ota I2C -rajapinta käyttöön Raspberry Pi: ssä
- Avaa Raspberry Pi -määritystyökalu:
sudo raspi-config
- Siirtyä jhk Käyttöliittymävaihtoehdot> I2C ja ota se käyttöön.
- Käynnistä Raspberry Pi uudelleen:
sudo reboot
Vaihe 3: Asenna vaadittavat työkalut ja kirjastot
- Päivitä Raspberry Pi:
sudo apt update && sudo apt upgrade -y
- Asenna I2C -työkalut:
sudo apt install -y i2c-tools
- Asenna Python -kirjastot I2C -viestintään ja tietojenkäsittelyyn:
pip install smbus2
Vaihe 4: Varmista yhteys
- Käyttää i2cdetectMPU-6050: n varmistaminen havaitaan I2C-väylässä:sudo i2cdetect -y 1
- Sinun pitäisi nähdä MPU-6050 osoitteessa 0x68(tai0x69Jos AD0 -nasta vedetään korkealle). Jos ei:- Tarkista johdotus.
- Varmista, että MPU-6050 on virta.
 
Vaihe 5: MPU-6050: n tietojen lukeminen
Seuraava Python-komentosarja lukee MPU-6050: n kiihtyvyysmittarin ja gyroskooppien tiedot.
Python -koodiesimerkki
import smbus2
import time
# MPU-6050 Registers and Address
MPU6050_ADDR = 0x68
PWR_MGMT_1 = 0x6B
ACCEL_XOUT_H = 0x3B
GYRO_XOUT_H = 0x43
# Initialize I2C bus
bus = smbus2.SMBus(1)
# Wake up the MPU-6050
bus.write_byte_data(MPU6050_ADDR, PWR_MGMT_1, 0)
def read_raw_data(addr):
    # Read two bytes of data from the given address
    high = bus.read_byte_data(MPU6050_ADDR, addr)
    low = bus.read_byte_data(MPU6050_ADDR, addr+1)
    value = (high << 8) | low
    # Convert to signed value
    if value > 32767:
        value -= 65536
    return value
try:
    while True:
        # Read accelerometer data
        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)
        # Read gyroscope data
        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)
        # Convert raw data to meaningful values (optional scaling may be needed)
        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"Accelerometer: X={accel_x_scaled:.2f}, Y={accel_y_scaled:.2f}, Z={accel_z_scaled:.2f}")
        print(f"Gyroscope: X={gyro_x_scaled:.2f}, Y={gyro_y_scaled:.2f}, Z={gyro_z_scaled:.2f}")
        time.sleep(1)
except KeyboardInterrupt:
    print("Exiting...")
Vaihe 6: MPU-6050: n sovellukset
- Liikkeen seuranta: Seuraa liikettä ja suuntausta robotiikassa tai puettavissa.
- Vakautusjärjestelmät: Toteuta droonien tai gimbalien gyroskooppinen stabilointi.
- Peli: Luo liikepohjaisia peliohjaimia.
- IoT -projektit: Käytä liiketietoa automaatiotapahtumien käynnistämiseen.
Vianetsintä
- 
Laitetta ei havaittu: - Varmista SDA- ja SCL -yhteydet.
- Varmista, että I2C -käyttöliittymä on käytössä Raspberry PI: ssä.
- Tarkista virtalähde MPU-6050: een.
 
- 
Epätarkkojen lukemat: - Kalibroi anturi toteuttamalla siirtymä jokaiselle akselille.
- Varmista, että anturi asetetaan vakaalle pinnalle.
 
- 
I2C -virheet: - Varmista, että I2C -bussissa ei ole ristiriitaisia laitteita.
 
Johtopäätös
MPU-6050 on monipuolinen liike-anturi, joka voi lisätä tarkkoja liikkeen seurantaominaisuuksia Raspberry Pi -projekteihisi. Seuraamalla tätä opasta voit määrittää ja käyttää MPU-6050: tä sovelluksiin, kuten robotiikka, stabilointijärjestelmät ja IoT-automaatio. Kokeile datan skaalaus- ja suodattamista anturin hienosäätöön tarpeitasi varten!
 
            
 
      
 
      
 
      
 
      
 
       
         
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
   
   
   
   
   
   
   
   
   
   
   
   
  