Modul fusion_hat.modules.gy87

fusion_hat.modules.gy87.scan_i2c_addr(bus_id=1)[Quellcode]

Den I2C-Bus nach allen antwortenden Geräteadressen durchsuchen

Parameter:

bus_id – I2C-Busnummer, Standard ist I2C_BUS (1)

Rückgabe:

Liste aller erkannten I2C-Geräteadressen

Rückgabetyp:

found

fusion_hat.modules.gy87.tilt_comp_heading(mx, my, mz, ax, ay, az, decl_deg=0.0)[Quellcode]

Neigungskompensierte Richtung berechnen: Beschleunigungsdaten werden zur Berechnung der Roll-/Nickwinkel verwendet, danach werden die Magnetometerdaten kompensiert

Parameter:
  • mx – Dreiachsige Daten vom Magnetometer (Gauss)

  • my – Dreiachsige Daten vom Magnetometer (Gauss)

  • mz – Dreiachsige Daten vom Magnetometer (Gauss)

  • ax – Dreiachsige Daten vom Beschleunigungssensor (g)

  • ay – Dreiachsige Daten vom Beschleunigungssensor (g)

  • az – Dreiachsige Daten vom Beschleunigungssensor (g)

  • decl_deg – Magnetische Deklination (Grad), wird verwendet, um magnetischen Norden in wahren Norden umzuwandeln

Rückgabe:

Kompensierter Richtungswinkel, Bereich 0–360 Grad

Rückgabetyp:

hdg

class fusion_hat.modules.gy87.GY87(bus_id=1, decl_deg=0.0)[Quellcode]

Basisklasse: object

Hauptklasse des GY-87-Sensormoduls. Integriert MPU6050 (Beschleunigungssensor + Gyroskop), BMP180 (Barometer) und Magnetometer (unterstützt mehrere Modelle) und stellt vollständige Funktionen zum Auslesen der Sensordaten bereit, einschließlich Selbstwiederherstellungsmechanismus

read_all()[Quellcode]

Alle Sensordaten lesen. Beinhaltet automatische Fehlerbehandlung und Selbstwiederherstellungsmechanismus zur Sicherstellung der Systemstabilität

Rückgabe:

Wörterbuch mit allen Sensordaten {accel_g: (x,y,z), gyro_dps: (x,y,z), temp_mpu_c: float, temp_bmp_c: float, pressure_pa: float, altitude_m: float, mag_gauss: (x,y,z), heading_deg: float}

Rückgabetyp:

dict

fusion_hat.modules.gy87.demo_loop()[Quellcode]

Demo-Schleifenfunktion des GY-87-Sensormoduls

Funktionen:
  1. Angeschlossene I2C-Geräte scannen und anzeigen

  2. GY87-Sensormodul initialisieren

  3. Alle Sensordaten kontinuierlich lesen und anzeigen

  4. Ausgabeformat je nach Vorhandensein des Magnetometers anpassen

Ausgabeformat:
  • Mit Magnetometer: zeigt Beschleunigung, Winkelgeschwindigkeit, Magnetfeldstärke, Richtung, Temperatur, Druck und Höhe an

  • Ohne Magnetometer: zeigt alle Daten außer Magnetfeldstärke und Richtung an

Abtastfrequenz:

~5 Hz (0,2 s Pause nach jedem Lesevorgang)