Modul fusion_hat.modules.compass

class fusion_hat.modules.compass.Compass(placement=['x', 'y', 'z'], offset=[0, 0, 0, 0, 0, 0], declination="0°0'W", field_range='8G')[Quellcode]

Basisklasse: Magnetometer

Kompassmodul zum Lesen und Berechnen von Kurswinkeln aus Magnetometerdaten.

Diese Klasse erweitert die Magnetometerklasse, um Kompassfunktionen bereitzustellen, die sich leicht in Projekte integrieren lassen, die Kursinformationen benötigen.

Öffentliche Methoden:

read_raw(): Rohdaten des Magnetfeldes abrufen read(): Verarbeitete Kompassdaten einschließlich Kurswinkel abrufen read_angle(): Nur den Kurswinkel abrufen (mit optionaler Filterung) set_offset(): Den Kompass mit Offset-Werten kalibrieren set_magnetic_declination(): An die lokale magnetische Deklination anpassen clear_calibration(): Alle Kalibrierungsdaten zurücksetzen

FILTER_SIZE = 30
read_raw()[Quellcode]

Rohdaten des Magnetometers lesen.

Rückgabe:

Rohdaten des Magnetfeldes [x, y, z] in mGauss.

Rückgabetyp:

list

angle_str_2_number(str)[Quellcode]

Magnetische Deklination vom Zeichenkettenformat in einen Zahlenwert umwandeln.

Parameter:

str (str) – Magnetische Deklination im Format „DD°MM’E“ oder „DD°MM’W“.

Rückgabe:

Magnetische Deklination in Grad (positiv für Osten, negativ für Westen).

Rückgabetyp:

float

angle_number_2_str(number)[Quellcode]

Magnetische Deklination von einem numerischen Wert in ein Zeichenkettenformat umwandeln.

Parameter:

number (float) – Magnetische Deklination in Grad (positiv für Osten, negativ für Westen).

Rückgabe:

Magnetische Deklination im Format „DD°MM’E“ oder „DD°MM’W“.

Rückgabetyp:

str

read()[Quellcode]

Verarbeitete Kompassdaten lesen.

Rückgabe:

Verarbeitete Magnetfelddaten (x, y, z, Winkel), wobei: x, y, z nach Anwendung der Offsets in mGauss sind, der Winkel der Kurswinkel in Grad ist.

Rückgabetyp:

tuple

read_angle(filter=False)[Quellcode]

Den aktuellen Kurswinkel lesen.

Parameter:

filter (bool, optional) – Ob ein gleitender Mittelwertfilter angewendet werden soll. Standard ist False.

Rückgabe:

Kurswinkel in Grad (0–360).

Rückgabetyp:

float

set_offset(offset)[Quellcode]

Kalibrierungs-Offsets für das Magnetometer einstellen.

Parameter:

offset (list) – Kalibrierungs-Offsets in mGauss. Format: [x_min, x_max, y_min, y_max, z_min, z_max].

Referenz:

https://www.appelsiini.net/2018/calibrate-magnetometer/

set_magnetic_declination(angle)[Quellcode]

Magnetische Deklination einstellen.

Parameter:

angle (str or float or int) – Magnetische Deklination. Kann entweder sein: - Zeichenkettenformat: „DD°MM’E“ oder „DD°MM’W“ - Numerisches Format: Grad (positiv für Osten, negativ für Westen)

clear_calibration()[Quellcode]

Alle Kalibrierungsdaten löschen.

Setzt alle Minimal- und Maximalwerte sowie Offsets auf Null zurück.