Modul fusion_hat.modules.grayscale_module

class fusion_hat.modules.grayscale_module.Grayscale_Module(pin0: ADC, pin1: ADC, pin2: ADC, reference: int = None)[Quellcode]

Basisklasse: object

3-Kanal-Graustufenmodul

LEFT = 0

Linker Kanal

MIDDLE = 1

Mittlerer Kanal

RIGHT = 2

Rechter Kanal

REFERENCE_DEFAULT = [1000, 1000, 1000]
reference(ref: list = None) list[Quellcode]

Referenzwert abrufen oder setzen

Parameter:

ref (list) – Referenzwert, None um den Referenzwert abzurufen

Rückgabe:

Referenzwert

Rückgabetyp:

list

read_status(datas: list = None) list[Quellcode]

Linienstatus lesen

Parameter:

datas (list) – Liste der Graustufendaten, None liest vom Sensor

Rückgabe:

Liste der Linienzustände, 0 für Weiß, 1 für Schwarz

Rückgabetyp:

list

read(channel: int = None) list[Quellcode]

Einen Kanal oder alle Daten lesen

Parameter:

channel (int/None) – zu lesender Kanal, leer lassen um alle zu lesen. 0 , 1 , 2 oder Grayscale_Module.LEFT , Grayscale_Module.CENTER , Grayscale_Module.RIGHT

Rückgabe:

Liste der Graustufendaten

Rückgabetyp:

list

class fusion_hat.modules.grayscale_module.LineTracker(left: ADC, middle: ADC, right: ADC, slopes: list = None, offsets: list = None)[Quellcode]

Basisklasse: object

Linienverfolger

LINE_DIFF = 200
CLIFF_THRESHOLD = 120
LINE_REFERENCE_UPDATE_RATE = 0.05
read_channel(channel: int, raw: bool = False) int[Quellcode]

Einen Kanal lesen

Parameter:
  • channel (int) – zu lesender Kanal, 0 , 1 , 2 oder Grayscale_Module.LEFT , Grayscale_Module.CENTER , Grayscale_Module.RIGHT

  • raw (bool) – wenn True , Rohdaten zurückgeben, False für kalibrierte Daten

Rückgabe:

Graustufendaten

Rückgabetyp:

int

calibrate_data(data: list) list[Quellcode]

Graustufendaten kalibrieren :param data: Liste der Graustufendaten :type data: list

Rückgabe:

Liste der kalibrierten Graustufendaten

Rückgabetyp:

list

read(raw: bool = False) list[Quellcode]

Linienstatus lesen

Parameter:

raw (bool) – wenn True , Rohdaten zurückgeben, False für kalibrierte Daten

Rückgabe:

Liste der Linienzustände, 0 für Weiß, 1 für Schwarz

Rückgabetyp:

list

is_on_cliff(data: list = None) bool[Quellcode]

Prüfen ob sich der Roboter an einer Klippe befindet

Parameter:

data (list) – Liste der Graustufendaten, leer lassen um vom Sensor zu lesen

Rückgabe:

True wenn sich der Roboter an einer Klippe befindet, sonst False

Rückgabetyp:

bool

get_line_position(data: list = None)[Quellcode]

Linienposition abrufen

Parameter:

data (list) – Liste der Graustufendaten, leer lassen um vom Sensor zu lesen

Rückgabe:

Linienposition, -1 für links, 0 für Mitte, 1 für rechts

Rückgabetyp:

float

is_on_line(data: list = None) bool[Quellcode]

Prüfen ob sich der Roboter auf der Linie befindet

Parameter:

data (list) – Liste der Graustufendaten, leer lassen um vom Sensor zu lesen

Rückgabe:

True wenn sich der Roboter auf der Linie befindet, sonst False

Rückgabetyp:

bool

set_calibration_data(slopes: list, offsets: list)[Quellcode]

Kalibrierdaten setzen :param slopes: Liste der Steigungen :type slopes: list :param offsets: Liste der Offsets :type offsets: list

set_cliff_threshold(threshold: int)[Quellcode]

Klippen-Schwellenwert setzen :param threshold: Klippen-Schwellenwert :type threshold: int

get_calibration_data()[Quellcode]

Kalibrierdaten abrufen :returns: Tupel aus Steigungen und Offsets :rtype: tuple

calibrate(light_data: list, dark_data: list)[Quellcode]

Linienverfolger kalibrieren :param light_data: Liste der Hell-Daten :type light_data: list :param dark_data: Liste der Dunkel-Daten :type dark_data: list

update_line_background_reference(current_values)[Quellcode]

Hintergrundwert der Linie aktualisieren

update_line_reference(current_values)[Quellcode]

Referenzwert der Linie aktualisieren