eXperiBot-Python-API

Version 2.0

Eine Python-Programmierschnittstelle für den eXperiBot-Lernroboter von Cornelsen Experimenta.

Da der eXperiBot MicroPython als Programmiersprache verwendet, stehen nicht alle Funktionen von Python 3 zur Verfügung.

Du hast einen Fehler gefunden oder dir fehlt eine Funktion? Sag uns Bescheid über experibot@cornelsen.de. Wir helfen dir gern!

Verweise

Beispiele

Importiere das experibot-Modul.

>>> from experibot import *

Importiere das experibot-Modul und erstelle eine Powerbrain-Instanz zum Steuern des Powerbrain-Moduls – z. B. um einen Ton abzuspielen.

>>> from experibot import *
>>> powerbrain = Powerbrain()
>>> powerbrain.play_note()
class LedColor:

eXperiBot — Modul-LED-Farbe

Die LedColor-Klasse enthält Konstanten für alle einstellbaren LED-Farben der eXperiBot-Module.

Attribute
  • BLUE: Konstante für die Modul-LED-Farbe Blau.
  • YELLOW: Konstante für die Modul-LED-Farbe Gelb.
  • GREEN: Konstante für die Modul-LED-Farbe Grün.
  • WHITE: Konstante für die Modul-LED-Farbe Weiß.
  • LIGHT_BLUE: Konstante für die Modul-LED-Farbe Hellblau.
  • PURPLE: Konstante für die Modul-LED-Farbe Violett.
class Note:

Note

Die Note-Klasse enthält Konstanten für alle Töne, die das Powerbrain-Modul abspielen kann.

Attribute
  • C6 (1047Hz): Konstante für den Ton C6.
  • B5 (988Hz): Konstante für den Ton B5 (bzw. H5 in deutscher Notation).
  • AS5 (932Hz): Konstante für den Ton A♯5 (bzw. Ais5 in deutscher Notation).
  • A5 (880Hz): Konstante für den Ton A5.
  • GS5 (831Hz): Konstante für den Ton G♯5 (bzw. Gis5 in deutscher Notation).
  • G5 (784Hz): Konstante für den Ton G5.
  • FS5 (740Hz): Konstante für den Ton F♯5 (bzw. Fis5 in deutscher Notation).
  • F5 (698Hz): Konstante für den Ton F5.
  • E5 (659Hz): Konstante für den Ton E5.
  • DS5 (622Hz): Konstante für den Ton D♯5 (bzw. Dis5 in deutscher Notation).
  • D5 (587Hz): Konstante für den Ton D5.
  • CS5 (554Hz): Konstante für den Ton C♯5 (bzw. Cis5 in deutscher Notation).
  • C5 (523Hz): Konstante für den Ton C5.
  • B4 (494Hz): Konstante für den Ton B4 (bzw. H4 in deutscher Notation).
  • AS4 (466Hz): Konstante für den Ton A♯4 (bzw. Ais4 in deutscher Notation).
  • A4 (440Hz): Konstante für den Ton A4.
  • GS4 (415Hz): Konstante für den Ton G♯4 (bzw. Gis4 in deutscher Notation).
  • G4 (392Hz): Konstante für den Ton G4.
  • FS4 (370Hz): Konstante für den Ton F♯4 (bzw. Fis4 in deutscher Notation).
  • F4 (349Hz): Konstante für den Ton F4.
  • E4 (330Hz): Konstante für den Ton E4.
  • DS4 (311Hz): Konstante für den Ton D♯4 (bzw. Dis4 in deutscher Notation).
  • D4 (294Hz): Konstante für den Ton D4.
  • CS4 (277Hz): Konstante für den Ton C♯4 (bzw. Cis4 in deutscher Notation).
  • C4 (262Hz): Konstante für den Ton C4.
class PowerbrainAxis:

Powerbrain — Achse

Die PowerbrainAxis-Klasse enthält Konstanten für alle Achsen des Powerbrain-Moduls.

Attribute
  • X: Konstante für die X-Achse des Powerbrain-Moduls.
  • Y: Konstante für die Y-Achse des Powerbrain-Moduls.
  • Z: Konstante für die Z-Achse des Powerbrain-Moduls.
class PowerbrainButton:

Powerbrain — Taste

Die PowerbrainButton-Klasse enthält Konstanten für alle Tasten des Powerbrain-Moduls.

Attribute
  • A: Konstante für die A-Taste des Powerbrain-Moduls.
  • B: Konstante für die B-Taste des Powerbrain-Moduls.
  • C: Konstante für die C-Taste des Powerbrain-Moduls.
  • MINUS: Konstante für die Minus-Taste des Powerbrain-Moduls. Alias für die A-Taste.
  • ACTION: Konstante für die Aktions-Taste des Powerbrain-Moduls. Alias für die B-Taste.
  • PLUS: Konstante für die Plus-Taste des Powerbrain-Moduls. Alias für die C-Taste.
class Powerbrain:

Powerbrain

Eine Instanz der Powerbrain-Klasse kann zum Steuern des Powerbrain-Moduls verwendet werden.

Verweise

Weitere Informationen zum Powerbrain-Modul findest du in der Wissensdatenbank.

Beispiele

Erstelle eine Powerbrain-Instanz zum Steuern eines Powerbrain-Moduls und weise sie einer Variablen mit dem Namen powerbrain zu.

>>> powerbrain = Powerbrain()
AXIS = <class 'PowerbrainAxis'>

Die PowerbrainAxis-Klasse mit Konstanten für alle Achsen des Powerbrain-Moduls.

BUTTON = <class 'PowerbrainButton'>

Die PowerbrainButton-Klasse mit Konstanten für alle Tasten des Powerbrain-Moduls.

def wait(self, duration: int = 1000):

Powerbrain — Warten

Hält die weitere Code-Ausführung für eine bestimmte Dauer an.

Parameter
  • duration (int (optional)): Die Dauer, für die die weitere Code-Ausführung angehalten wird, in Millisekunden. Darf nicht kleiner als 0ms sein. 1000ms wird als Standardwert genutzt, wenn der Parameter weggelassen wird.
Mögliche Fehler
  • Ungültige Parameterwerte (TypeError oder ValueError): Wenn der angegebene Parameterwert einen ungültigen Typ hat oder außerhalb des zulässigen Bereichs liegt.
Beispiele

Halte die weitere Code-Ausführung für die Standarddauer von 1000ms an.

>>> powerbrain.wait()

Halte die weitere Code-Ausführung für 500ms an.

>>> powerbrain.wait(500)
def play_note(self, note: int = 1047, duration: int = 1000):

Powerbrain — Ton abspielen

Spielt den angegebenen Ton für die angegebene Dauer ab und hält die weitere Code-Ausführung an, bis die Zeit abgelaufen ist.

Parameter
  • note (int (optional)): Der abzuspielende Ton. Verfügbare Töne siehe Note. Note.C6 wird als Standardwert genutzt, wenn der Parameter weggelassen wird.
  • duration (int (optional)): Die Dauer, für die der Ton abgespielt wird, in Millisekunden. Die Methode hält die weitere Code-Ausführung an, bis die Zeit abgelaufen ist. Muss größer als 0ms sein. 1000ms wird als Standardwert genutzt, wenn der Parameter weggelassen wird.
Mögliche Fehler
  • Ungültige Parameterwerte (TypeError oder ValueError): Wenn die angegebenen Parameterwerte einen ungültigen Typ haben oder außerhalb des zulässigen Bereichs liegen.
Beispiele

Spiele den Standardton C6 für die Standarddauer von 1000ms ab.

>>> powerbrain.play_note()

Spiele den Ton A4 für 500ms ab.

>>> powerbrain.play_note(Note.A4, 500)
def start_play_note(self, note: int = 1047, duration: None | int = None):

Powerbrain — Ton abzuspielen beginnen

Beginnt, den angegebenen Ton unbegrenzt oder für die angegebene Dauer abzuspielen, ohne die weitere Code-Ausführung anzuhalten.

Parameter
  • note (int (optional)): Der abzuspielende Ton. Verfügbare Töne siehe Note. Note.C6 wird als Standardwert genutzt, wenn der Parameter weggelassen wird.
  • duration (int (optional)): Die Dauer, für die der Ton abgespielt wird, in Millisekunden. Muss größer als 0ms sein. Wird sie weggelassen, wird der Ton unbegrenzt abgespielt, bis ein anderer Ton startet, er mit stop_sound() gestoppt wird oder das Programmende erreicht ist.
Mögliche Fehler
  • Ungültige Parameterwerte (TypeError oder ValueError): Wenn die angegebenen Parameterwerte einen ungültigen Typ haben oder außerhalb des zulässigen Bereichs liegen.
Beispiele

Spiele den Standardton C6 unbegrenzt ab, ohne die weitere Code-Ausführung anzuhalten.

>>> powerbrain.start_play_note()

Spiele den Ton A4 für 500ms ab, ohne die weitere Code-Ausführung anzuhalten.

>>> powerbrain.start_play_note(Note.A4, 500)
def play_frequency(self, frequency: int = 1000, duration: int = 1000):

Powerbrain — Frequenz abspielen

Spielt die angegebene Frequenz für die angegebene Dauer ab und hält die weitere Code-Ausführung an, bis die Zeit abgelaufen ist.

Parameter
  • frequency (int (optional)): Die abzuspielende Frequenz in Hz. Muss größer als 0Hz sein. Der empfohlene Frequenzbereich liegt zwischen 50Hz und 7000Hz. 1000Hz wird als Standardwert genutzt, wenn der Parameter weggelassen wird.
  • duration (int (optional)): Die Dauer, für die die Frequenz abgespielt wird, in Millisekunden. Die Methode hält die weitere Code-Ausführung an, bis die Zeit abgelaufen ist. Muss größer als 0ms sein. 1000ms wird als Standardwert genutzt, wenn der Parameter weggelassen wird.
Mögliche Fehler
  • Ungültige Parameterwerte (TypeError oder ValueError): Wenn die angegebenen Parameterwerte einen ungültigen Typ haben oder außerhalb des zulässigen Bereichs liegen.
Beispiele

Spiele die Standardfrequenz von 1000Hz für die Standarddauer von 1000ms ab.

>>> powerbrain.play_frequency()

Spiele eine Frequenz von 440Hz für 500ms ab.

>>> powerbrain.play_frequency(440, 500)
def start_play_frequency(self, frequency: int = 1000, duration: None | int = None):

Powerbrain — Frequenz abzuspielen beginnen

Beginnt, die angegebene Frequenz unbegrenzt oder für die angegebene Dauer abzuspielen, ohne die weitere Code-Ausführung anzuhalten.

Parameter
  • frequency (int (optional)): Die abzuspielende Frequenz in Hz. Muss größer als 0Hz sein. Der empfohlene Frequenzbereich liegt zwischen 50Hz und 7000Hz. 1000Hz wird als Standardwert genutzt, wenn der Parameter weggelassen wird.
  • duration (int (optional)): Die Dauer, für die die Frequenz abgespielt wird, in Millisekunden. Muss größer als 0ms sein. Wird sie weggelassen, wird die Frequenz unbegrenzt abgespielt, bis ein anderer Ton startet, sie mit stop_sound() gestoppt wird oder das Programmende erreicht ist.
Mögliche Fehler
  • Ungültige Parameterwerte (TypeError oder ValueError): Wenn die angegebenen Parameterwerte einen ungültigen Typ haben oder außerhalb des zulässigen Bereichs liegen.
Beispiele

Spiele die Standardfrequenz von 1000Hz unbegrenzt ab, ohne die weitere Code-Ausführung anzuhalten.

>>> powerbrain.start_play_frequency()

Spiele eine Frequenz von 440Hz für 500ms ab, ohne die weitere Code-Ausführung anzuhalten.

>>> powerbrain.start_play_frequency(440, 500)
def stop_sound(self):

Powerbrain — Ton stoppen

Stoppt jeden gerade abgespielten Ton.

Beispiele

Stoppe jeden gerade abgespielten Ton.

>>> powerbrain.stop_sound()
def terminate_program(self):

Powerbrain — Programm beenden

Beendet das aktuell laufende Programm.

Hinweise

Nach dem Aufruf dieser Methode wird kein weiterer Code ausgeführt.

Mögliche Fehler
  • Programmende (SystemExit): Wird immer ausgelöst, um das aktuell laufende Programm zu beenden.
Beispiele

Beende das aktuell laufende Programm.

>>> powerbrain.terminate_program()
def button_is_pressed(self, button: str) -> bool:

Powerbrain — Taste ist gedrückt

Gibt zurück, ob eine bestimmte Taste des Powerbrain-Moduls gerade gedrückt ist.

Parameter
  • button (str): Die zu prüfende Taste des Powerbrain-Moduls. Verfügbare Tasten siehe PowerbrainButton.
Rückgabe
  • bool: True, wenn die angegebene Taste gerade gedrückt ist, sonst False.
Mögliche Fehler
  • Ungültiger Parameterwert (ValueError): Wenn die angegebene Taste ungültig ist.
Beispiele

Prüfe, ob die A-Taste des Powerbrain-Moduls gerade gedrückt ist.

>>> powerbrain.button_is_pressed(Powerbrain.BUTTON.A)

Prüfe, ob die Aktions-Taste des Powerbrain-Moduls gerade gedrückt ist.

>>> powerbrain.button_is_pressed(Powerbrain.BUTTON.ACTION)
def get_acceleration(self, axis: None | str = None) -> list[float] | float:

Powerbrain — Beschleunigung abrufen

Gibt die aktuelle Beschleunigung des Gyroskop-Sensors des Powerbrain-Moduls zurück.

Parameter
  • axis (str (optional)): Die Achse des Powerbrain-Moduls, für die die Beschleunigung zurückgegeben wird. Verfügbare Achsen siehe PowerbrainAxis. Wird sie weggelassen, wird die Beschleunigung aller Achsen zurückgegeben.
Rückgabe
  • [float, float, float] oder float: Die aktuelle Beschleunigung des Gyroskop-Sensors des Powerbrain-Moduls in g (Erdbeschleunigung), wobei 1g der normalen Erdbeschleunigung von ≈ 9,80665m/s² entspricht. Wird axis weggelassen, wird eine Liste mit drei Werten zurückgegeben: Der erste Wert ist die Beschleunigung der X-Achse, der zweite Wert die der Y-Achse und der dritte Wert die der Z-Achse. Wird axis angegeben, wird ein einzelner Wert für die angegebene Achse zurückgegeben.
Mögliche Fehler
  • Ungültiger Parameterwert (ValueError): Wenn die angegebene Achse ungültig ist.
Beispiele

Rufe die aktuelle Beschleunigung aller Achsen ab.

>>> powerbrain.get_acceleration()

Rufe die aktuelle Beschleunigung der X-Achse ab.

>>> powerbrain.get_acceleration(Powerbrain.AXIS.X)
def get_angular_velocity(self, axis: None | str = None) -> list[float] | float:

Powerbrain — Winkelgeschwindigkeit abrufen

Gibt die aktuelle Winkelgeschwindigkeit des Gyroskop-Sensors des Powerbrain-Moduls zurück.

Parameter
  • axis (str (optional)): Die Achse des Powerbrain-Moduls, für die die Winkelgeschwindigkeit zurückgegeben wird. Verfügbare Achsen siehe PowerbrainAxis. Wird sie weggelassen, wird die Winkelgeschwindigkeit aller Achsen zurückgegeben.
Rückgabe
  • [float, float, float] oder float: Die aktuelle Winkelgeschwindigkeit des Gyroskop-Sensors des Powerbrain-Moduls in Grad pro Sekunde. Wird axis weggelassen, wird eine Liste mit drei Werten zurückgegeben: Der erste Wert ist die Winkelgeschwindigkeit der X-Achse, der zweite Wert die der Y-Achse und der dritte Wert die der Z-Achse. Wird axis angegeben, wird ein einzelner Wert für die angegebene Achse zurückgegeben.
Mögliche Fehler
  • Ungültiger Parameterwert (ValueError): Wenn die angegebene Achse ungültig ist.
Beispiele

Rufe die aktuelle Winkelgeschwindigkeit aller Achsen ab.

>>> powerbrain.get_angular_velocity()

Rufe die aktuelle Winkelgeschwindigkeit der Z-Achse ab.

>>> powerbrain.get_angular_velocity(Powerbrain.AXIS.Z)
def get_program_execution_time(self) -> int:

Powerbrain — Programmlaufzeit abrufen

Gibt die Laufzeit des aktuell laufenden Programms zurück.

Rückgabe
  • int: Die Laufzeit des aktuell laufenden Programms in Millisekunden.
Beispiele

Rufe die Laufzeit des aktuell laufenden Programms ab.

>>> powerbrain.get_program_execution_time()
def get_uptime(self) -> int:

Powerbrain — Betriebszeit abrufen

Gibt die seit dem Einschalten des eXperiBot vergangene Zeit zurück.

Rückgabe
  • int: Die seit dem Einschalten des eXperiBot vergangene Zeit in Millisekunden.
class MotorDrivingDirection:

Motor — Fahrtrichtung

Die MotorDrivingDirection-Klasse enthält Konstanten für alle Fahrtrichtungen des Motor-Moduls.

Attribute
  • FORWARD: Konstante für die Fahrtrichtung vorwärts des Motor-Moduls.
  • BACKWARD: Konstante für die Fahrtrichtung rückwärts des Motor-Moduls.
class MotorDrivingSpeed:

Motor — Fahrgeschwindigkeit

Die MotorDrivingSpeed-Klasse enthält Konstanten für alle Fahrgeschwindigkeiten des Motor-Moduls.

Attribute
  • SLOW: Konstante für die langsame Fahrgeschwindigkeit des Motor-Moduls.
  • AVERAGE: Konstante für die mittlere Fahrgeschwindigkeit des Motor-Moduls.
  • FAST: Konstante für die schnelle Fahrgeschwindigkeit des Motor-Moduls.
class MotorAxle:

Motor — Axle

Die MotorAxle-Klasse enthält Konstanten für alle Achsen des Motor-Moduls.

Attribute
  • RED: Konstante für die rote Achse des Motor-Moduls.
  • BLUE: Konstante für die blaue Achse des Motor-Moduls.
  • RED_AND_BLUE: Konstante für die rote und die blaue Achse des Motor-Moduls.
class Motor:

Motor

Eine Instanz der Motor-Klasse kann zum Steuern eines bestimmten Motor-Moduls verwendet werden, das mit dem eXperiBot verbunden ist.

Parameter
  • led_color (str (optional)): Die LED-Farbe des zu steuernden Motor-Moduls. Wird sie weggelassen, wird das erste verfügbare Motor-Modul verwendet. Verfügbare LED-Farben siehe LedColor.
Mögliche Fehler
  • Modul nicht gefunden (ModuleNotFoundError): Wenn kein Motor-Modul mit der angegebenen led_color mit dem eXperiBot verbunden ist.
Verweise

Weitere Informationen zum Motor-Modul findest du in der Wissensdatenbank.

Beispiele

Erstelle eine Motor-Instanz zum Steuern eines Motor-Moduls mit blauer LED, das mit dem eXperiBot verbunden ist, und weise sie einer Variablen mit dem Namen motor_blue zu.

>>> motor_blue = Motor(LedColor.BLUE)

Erstelle eine Motor-Instanz zum Steuern eines beliebigen Motor-Moduls, das mit dem eXperiBot verbunden ist, und weise sie einer Variablen mit dem Namen motor zu.

>>> motor = Motor()
Motor(led_color: str | None = None)
DIRECTION = <class 'MotorDrivingDirection'>

Die MotorDrivingDirection-Klasse mit Konstanten für alle Fahrtrichtungen des Motor-Moduls.

SPEED = <class 'MotorDrivingSpeed'>

Die MotorDrivingSpeed-Klasse mit Konstanten für alle Fahrgeschwindigkeiten des Motor-Moduls.

AXLE = <class 'MotorAxle'>

Die MotorAxle-Klasse mit Konstanten für alle Achsen des Motor-Moduls.

def drive( self, direction: str = 'forward', duration: int = 2000, speed: str = 'average'):

Motor — Fahren

Weist das Motor-Modul an, für eine bestimmte Dauer mit einer bestimmten Geschwindigkeit in eine bestimmte Richtung zu fahren.

Hinweise

Das Motor-Modul nutzt das Gyroskop des Powerbrain, um seine Fahrspur zu stabilisieren.

Parameter
  • direction (str (optional)):

  • Die Fahrtrichtung des Motor-Moduls. Verfügbare Fahrtrichtungen siehe

  • MotorDrivingDirection. Motor.DIRECTION.FORWARD wird als
  • Standardwert genutzt, wenn der Parameter weggelassen wird.
  • duration (int (optional)): Die Dauer, für die das Motor-Modul in die angegebene Richtung fahren soll, in Millisekunden. Darf nicht kleiner als 1ms sein. Die Methode hält die weitere Code-Ausführung an, bis die Zeit abgelaufen ist. 2000ms wird als Standardwert genutzt, wenn der Parameter weggelassen wird.
  • speed (str (optional)): Die Fahrgeschwindigkeit des Motor-Moduls. Verfügbare Fahrgeschwindigkeiten siehe MotorDrivingSpeed. Motor.SPEED.AVERAGE wird als Standardwert genutzt, wenn der Parameter weggelassen wird.
Mögliche Fehler
  • Ungültige Parameterwerte (TypeError oder ValueError): Wenn die angegebenen Parameterwerte einen ungültigen Typ haben oder außerhalb des zulässigen Bereichs liegen.
  • Modul reagiert nicht (ModuleNotRespondingError): Wenn das Motor-Modul nicht reagiert, z. B. weil es während der Programmausführung vom eXperiBot getrennt wurde.
Beispiele

Lass das Motor-Modul motor_blue 2000ms lang mit mittlerer Geschwindigkeit vorwärts fahren.

>>> motor_blue.drive()

Lass das Motor-Modul motor_blue 1000ms lang rückwärts fahren.

>>> motor_blue.drive(Motor.DIRECTION.BACKWARD, 1000)

Lass das Motor-Modul motor_blue 2000ms lang mit schneller Geschwindigkeit vorwärts fahren.

>>> motor_blue.drive(speed = Motor.SPEED.FAST)
def drive_curve( self, angle: int = 90, radius: int = 15, direction: str = 'forward', speed: str = 'average'):

Motor — Kurve fahren

Weist das Motor-Modul an, mit einer bestimmten Geschwindigkeit und einem bestimmten Radius eine Kurve bis zu einem bestimmten Winkel zu fahren.

Hinweise

Das Motor-Modul nutzt das Gyroskop des Powerbrain, um seine Fahrspur zu stabilisieren.

Parameter
  • angle (int (optional)): Der Zielwinkel, bis zu dem gefahren wird, in Grad. Muss zwischen -360° und 360° liegen (jeweils inklusive), wobei positive Werte eine Drehung im Uhrzeigersinn und negative Werte eine Drehung gegen den Uhrzeigersinn bedeuten. 90° wird als Standardwert genutzt, wenn der Parameter weggelassen wird.
  • radius (int (optional)): Der Radius der zu fahrenden Kurve in Zentimetern. Muss größer als 0cm sein. 15cm wird als Standardwert genutzt, wenn der Parameter weggelassen wird.
  • direction (str (optional)): Die Fahrtrichtung des Motor-Moduls. Verfügbare Fahrtrichtungen siehe MotorDrivingDirection. Motor.DIRECTION.FORWARD wird als Standardwert genutzt, wenn der Parameter weggelassen wird.
  • speed (str (optional)): Die Fahrgeschwindigkeit des Motor-Moduls. Verfügbare Fahrgeschwindigkeiten siehe MotorDrivingSpeed. Motor.SPEED.AVERAGE wird als Standardwert genutzt, wenn der Parameter weggelassen wird.
Mögliche Fehler
  • Ungültige Parameterwerte (TypeError oder ValueError): Wenn die angegebenen Parameterwerte einen ungültigen Typ haben oder außerhalb des zulässigen Bereichs liegen.
  • Modul reagiert nicht (ModuleNotRespondingError): Wenn das Motor-Modul nicht reagiert, z. B. weil es während der Programmausführung vom eXperiBot getrennt wurde.
Beispiele

Lass das Motor-Modul motor_blue vorwärts eine Kurve von 90° im Uhrzeigersinn mit einem Radius von 15cm fahren.

>>> motor_blue.drive_curve()

Lass das Motor-Modul motor_blue vorwärts eine Kurve von 180° gegen den Uhrzeigersinn mit einem Radius von 30cm fahren.

>>> motor_blue.drive_curve(-180, 30)

Lass das Motor-Modul motor_blue rückwärts eine Kurve von 45° im Uhrzeigersinn mit einem Radius von 20cm fahren.

>>> motor_blue.drive_curve(45, 20, Motor.DIRECTION.BACKWARD)

Lass das Motor-Modul motor_blue vorwärts eine Kurve von 90° im Uhrzeigersinn mit einem Radius von 15cm bei schneller Geschwindigkeit fahren.

>>> motor_blue.drive_curve(speed = Motor.SPEED.FAST)
def turn(self, angle: int = 90, speed: str = 'average'):

Motor — Drehen

Weist das Motor-Modul an, sich mit einer bestimmten Geschwindigkeit auf der Stelle bis zu einem bestimmten Winkel zu drehen.

Hinweise

Das Motor-Modul nutzt das Gyroskop des Powerbrain, um seine Drehung zu stabilisieren.

Parameter
  • angle (int (optional)): Der Zielwinkel, bis zu dem gedreht wird, in Grad. Muss zwischen -360° und 360° liegen (jeweils inklusive), wobei positive Werte eine Drehung im Uhrzeigersinn und negative Werte eine Drehung gegen den Uhrzeigersinn bedeuten. 90° wird als Standardwert genutzt, wenn der Parameter weggelassen wird.
  • speed (str (optional)): Die Drehgeschwindigkeit des Motor-Moduls. Verfügbare Geschwindigkeiten siehe MotorDrivingSpeed. Motor.SPEED.AVERAGE wird als Standardwert genutzt, wenn der Parameter weggelassen wird.
Mögliche Fehler
  • Ungültige Parameterwerte (TypeError oder ValueError): Wenn die angegebenen Parameterwerte einen ungültigen Typ haben oder außerhalb des zulässigen Bereichs liegen.
  • Modul reagiert nicht (ModuleNotRespondingError): Wenn das Motor-Modul nicht reagiert, z. B. weil es während der Programmausführung vom eXperiBot getrennt wurde.
Beispiele

Drehe das Motor-Modul motor_blue mit mittlerer Geschwindigkeit um 90° im Uhrzeigersinn.

>>> motor_blue.turn()

Drehe das Motor-Modul motor_blue um 180° gegen den Uhrzeigersinn.

>>> motor_blue.turn(-180)

Drehe das Motor-Modul motor_blue mit langsamer Geschwindigkeit um 45° im Uhrzeigersinn.

>>> motor_blue.turn(45, Motor.SPEED.SLOW)
def set_speed( self, axle_red: int | None = 50, axle_blue: int | None = 50, duration: int | None = None):

Motor — Geschwindigkeit einstellen

Weist das Motor-Modul an, die Geschwindigkeit seiner Achsen für eine bestimmte Dauer auf einen bestimmten Wert einzustellen.

Parameter
  • axle_red (int oder None (optional)): Die Geschwindigkeit der roten Achse in Prozent. Muss zwischen -100% und 100% liegen (jeweils inklusive), wobei negative Werte eine Rückwärtsfahrt bedeuten. Alternativ kann None angegeben werden, um die aktuelle Geschwindigkeit der roten Achse beizubehalten. 50% wird als Standardwert genutzt, wenn der Parameter weggelassen wird.
  • axle_blue (int oder None (optional)): Die Geschwindigkeit der blauen Achse in Prozent. Muss zwischen -100% und 100% liegen (jeweils inklusive), wobei negative Werte eine Rückwärtsfahrt bedeuten. Alternativ kann None angegeben werden, um die aktuelle Geschwindigkeit der blauen Achse beizubehalten. 50% wird als Standardwert genutzt, wenn der Parameter weggelassen wird.
  • duration (int (optional)): Die Dauer, für die das Motor-Modul mit der angegebenen Geschwindigkeit fahren soll, in Millisekunden. Wenn angegeben, hält die Methode die weitere Code-Ausführung an, bis die Zeit abgelaufen ist. Wird sie weggelassen, kehrt die Methode sofort zurück und das Motor-Modul behält die Geschwindigkeit beider Achsen bei, bis es eine andere Anweisung erhält.
Mögliche Fehler
  • Ungültige Parameterwerte (ValueError): Wenn die angegebenen Parameterwerte einen ungültigen Typ haben oder außerhalb des zulässigen Bereichs liegen oder wenn sowohl axle_red als auch axle_blue auf None gesetzt sind.
  • Modul reagiert nicht (ModuleNotRespondingError): Wenn das Motor-Modul nicht reagiert, z. B. weil es während der Programmausführung vom eXperiBot getrennt wurde.
Beispiele

Stelle die Geschwindigkeit beider Achsen des Motor-Moduls motor_blue auf 50% ein.

>>> motor_blue.set_speed()

Lass das Motor-Modul motor_blue sich auf der Stelle drehen, indem du die Geschwindigkeit der roten Achse auf 100% und die der blauen Achse auf -100% einstellst.

>>> motor_blue.set_speed(100, -100)

Stelle die Geschwindigkeit der roten Achse des Motor-Moduls motor_blue für 1000ms auf 75% ein und behalte die aktuelle Geschwindigkeit der blauen Achse bei.

>>> motor_blue.set_speed(75, None, 1000)
def stop(self, axle: str = 'red_and_blue'):

Motor — Stoppen

Weist das Motor-Modul an, jede laufende Bewegung der angegebenen Achse(n) zu stoppen.

Parameter
  • axle (str (optional)): Die zu stoppende(n) Achse(n) des Motor-Moduls. Verfügbare Achsen siehe MotorAxle. Motor.AXLE.RED_AND_BLUE wird als Standardwert genutzt, wenn der Parameter weggelassen wird.
Mögliche Fehler
  • Ungültiger Parameterwert (ValueError): Wenn die angegebene Achse ungültig ist.
  • Modul reagiert nicht (ModuleNotRespondingError): Wenn das Motor-Modul nicht reagiert, z. B. weil es während der Programmausführung vom eXperiBot getrennt wurde.
Beispiele

Stoppe jede Bewegung beider Achsen des Motor-Moduls motor_blue.

>>> motor_blue.stop()

Stoppe jede Bewegung der roten Achse des Motor-Moduls motor_blue.

>>> motor_blue.stop(Motor.AXLE.RED)
class Pivot:

Pivot

Eine Instanz der Pivot-Klasse kann zum Steuern eines bestimmten Pivot-Moduls verwendet werden, das mit dem eXperiBot verbunden ist.

Parameter
  • led_color (str (optional)): Die LED-Farbe des zu steuernden Pivot-Moduls. Wird sie weggelassen, wird das erste verfügbare Pivot-Modul verwendet. Verfügbare LED-Farben siehe LedColor.
Mögliche Fehler
  • Modul nicht gefunden (ModuleNotFoundError): Wenn kein Pivot-Modul mit der angegebenen led_color mit dem eXperiBot verbunden ist.
Verweise

Weitere Informationen zum Pivot-Modul findest du in der Wissensdatenbank.

Beispiele

Erstelle eine Pivot-Instanz zum Steuern eines Pivot-Moduls mit blauer LED, das mit dem eXperiBot verbunden ist, und weise sie einer Variablen mit dem Namen pivot_blue zu.

>>> pivot_blue = Pivot(LedColor.BLUE)

Erstelle eine Pivot-Instanz zum Steuern eines beliebigen Pivot-Moduls, das mit dem eXperiBot verbunden ist, und weise sie einer Variablen mit dem Namen pivot zu.

>>> pivot = Pivot()
Pivot(led_color: str | None = None)
def turn_to(self, angle: int = 0, speed: int = 50, wait: bool = True) -> None:

Pivot — Auf Winkel drehen

Weist das Pivot-Modul an, sich mit einer bestimmten Geschwindigkeit auf einen bestimmten Winkel zu drehen.

Parameter
  • angle (int (optional)): Der Zielwinkel, auf den gedreht wird, in Grad. Muss zwischen -90° und 90° liegen (jeweils inklusive), wobei 0° die Mittelstellung ist. 0° wird als Standardwert genutzt, wenn der Parameter weggelassen wird.
  • speed (int (optional)): Die Geschwindigkeit, mit der sich das Pivot-Modul drehen soll, in Prozent. Muss zwischen 1% und 100% liegen (jeweils inklusive). 50% wird als Standardwert genutzt, wenn der Parameter weggelassen wird.
  • wait (bool (optional)): Bei True hält die Methode die weitere Code-Ausführung an, bis der Zielwinkel erreicht ist. Bei False kehrt die Methode sofort zurück und das Pivot-Modul hält seine Position auf dem Zielwinkel, bis es eine andere Anweisung erhält oder mit stop() gelöst wird. Das Halten der Position verbraucht fortlaufend Energie. True wird als Standardwert genutzt, wenn der Parameter weggelassen wird.
Mögliche Fehler
  • Ungültige Parameterwerte (ValueError): Wenn die angegebenen Parameterwerte einen ungültigen Typ haben oder außerhalb des zulässigen Bereichs liegen.
  • Modul reagiert nicht (ModuleNotRespondingError): Wenn das Pivot-Modul nicht reagiert, z. B. weil es während der Programmausführung vom eXperiBot getrennt wurde.
Beispiele

Drehe das Pivot-Modul pivot_blue auf seine Mittelstellung von 0°.

>>> pivot_blue.turn_to()

Drehe das Pivot-Modul pivot_blue auf einen Winkel von 90°.

>>> pivot_blue.turn_to(90)

Drehe das Pivot-Modul pivot_blue mit einer Geschwindigkeit von 100% auf einen Winkel von 90°.

>>> pivot_blue.turn_to(90, 100)

Drehe das Pivot-Modul pivot_blue mit einer Geschwindigkeit von 100% auf einen Winkel von 90° und kehre sofort zurück, ohne auf das Erreichen des Zielwinkels zu warten.

>>> pivot_blue.turn_to(90, 100, False)
def stop(self) -> None:

Pivot — Stoppen

Weist das Pivot-Modul an, jede laufende Bewegung zu stoppen und seine Position nicht mehr zu halten.

Mögliche Fehler
  • Modul reagiert nicht (ModuleNotRespondingError): Wenn das Pivot-Modul nicht reagiert, z. B. weil es während der Programmausführung vom eXperiBot getrennt wurde.
Beispiele

Stoppe jede Bewegung des Pivot-Moduls pivot_blue.

>>> pivot_blue.stop()
def get_angle(self) -> int:

Pivot — Winkel abrufen

Gibt den aktuellen Winkel des Pivot-Moduls zurück.

Rückgabe
  • int: Der aktuelle Winkel des Pivot-Moduls in Grad. Liegt zwischen -90° und 90° (jeweils inklusive), wobei 0° die Mittelstellung ist.
Mögliche Fehler
  • Modul reagiert nicht (ModuleNotRespondingError): Wenn das Pivot-Modul nicht reagiert, z. B. weil es während der Programmausführung vom eXperiBot getrennt wurde.
Beispiele

Rufe den aktuellen Winkel des Pivot-Moduls pivot_blue ab.

>>> pivot_blue.get_angle()
class Twister:

Twister

Eine Instanz der Twister-Klasse kann zum Steuern eines bestimmten Twister-Moduls verwendet werden, das mit dem eXperiBot verbunden ist.

Parameter
  • led_color (str (optional)): Die LED-Farbe des zu steuernden Twister-Moduls. Wird sie weggelassen, wird das erste verfügbare Twister-Modul verwendet. Verfügbare LED-Farben siehe LedColor.
Mögliche Fehler
  • Modul nicht gefunden (ModuleNotFoundError): Wenn kein Twister-Modul mit der angegebenen led_color mit dem eXperiBot verbunden ist.
Verweise

Weitere Informationen zum Twister-Modul findest du in der Wissensdatenbank.

Beispiele

Erstelle eine Twister-Instanz zum Steuern eines Twister-Moduls mit blauer LED, das mit dem eXperiBot verbunden ist, und weise sie einer Variablen mit dem Namen twister_blue zu.

>>> twister_blue = Twister(LedColor.BLUE)

Erstelle eine Twister-Instanz zum Steuern eines beliebigen Twister-Moduls, das mit dem eXperiBot verbunden ist, und weise sie einer Variablen mit dem Namen twister zu.

>>> twister = Twister()
Twister(led_color: str | None = None)
def turn_to(self, angle: int = 0, speed: int = 50, wait: bool = True) -> None:

Twister — Auf Winkel drehen

Weist das Twister-Modul an, sich mit einer bestimmten Geschwindigkeit auf einen bestimmten Winkel zu drehen.

Parameter
  • angle (int (optional)): Der Zielwinkel, auf den gedreht wird, in Grad. Muss zwischen -90° und 90° liegen (jeweils inklusive), wobei 0° die Mittelstellung ist. 0° wird als Standardwert genutzt, wenn der Parameter weggelassen wird.
  • speed (int (optional)): Die Geschwindigkeit, mit der sich das Twister-Modul drehen soll, in Prozent. Muss zwischen 1% und 100% liegen (jeweils inklusive). 50% wird als Standardwert genutzt, wenn der Parameter weggelassen wird.
  • wait (bool (optional)): Bei True hält die Methode die weitere Code-Ausführung an, bis der Zielwinkel erreicht ist. Bei False kehrt die Methode sofort zurück und das Twister-Modul hält seine Position auf dem Zielwinkel, bis es eine andere Anweisung erhält oder mit stop() gelöst wird. Das Halten der Position verbraucht fortlaufend Energie. True wird als Standardwert genutzt, wenn der Parameter weggelassen wird.
Mögliche Fehler
  • Ungültige Parameterwerte (ValueError): Wenn die angegebenen Parameterwerte einen ungültigen Typ haben oder außerhalb des zulässigen Bereichs liegen.
  • Modul reagiert nicht (ModuleNotRespondingError): Wenn das Twister-Modul nicht reagiert, z. B. weil es während der Programmausführung vom eXperiBot getrennt wurde.
Beispiele

Drehe das Twister-Modul twister_blue auf seine Mittelstellung von 0°.

>>> twister_blue.turn_to()

Drehe das Twister-Modul twister_blue auf einen Winkel von 90°.

>>> twister_blue.turn_to(90)

Drehe das Twister-Modul twister_blue mit einer Geschwindigkeit von 100% auf einen Winkel von 90°.

>>> twister_blue.turn_to(90, 100)

Drehe das Twister-Modul twister_blue mit einer Geschwindigkeit von 100% auf einen Winkel von 90° und kehre sofort zurück, ohne auf das Erreichen des Zielwinkels zu warten.

>>> twister_blue.turn_to(90, 100, False)
def stop(self) -> None:

Twister — Stoppen

Weist das Twister-Modul an, jede laufende Bewegung zu stoppen und seine Position nicht mehr zu halten.

Mögliche Fehler
  • Modul reagiert nicht (ModuleNotRespondingError): Wenn das Twister-Modul nicht reagiert, z. B. weil es während der Programmausführung vom eXperiBot getrennt wurde.
Beispiele

Stoppe jede Bewegung des Twister-Moduls twister_blue.

>>> twister_blue.stop()
def get_angle(self) -> int:

Twister — Winkel abrufen

Gibt den aktuellen Winkel des Twister-Moduls zurück.

Rückgabe
  • int: Der aktuelle Winkel des Twister-Moduls in Grad. Liegt zwischen -90° und 90° (jeweils inklusive), wobei 0° die Mittelstellung ist.
Mögliche Fehler
  • Modul reagiert nicht (ModuleNotRespondingError): Wenn das Twister-Modul nicht reagiert, z. B. weil es während der Programmausführung vom eXperiBot getrennt wurde.
Beispiele

Rufe den aktuellen Winkel des Twister-Moduls twister_blue ab.

>>> twister_blue.get_angle()
class Grabber:

Grabber

Eine Instanz der Grabber-Klasse kann zum Steuern eines bestimmten Grabber-Moduls verwendet werden, das mit dem eXperiBot verbunden ist.

Parameter
  • led_color (str (optional)): Die LED-Farbe des zu steuernden Grabber-Moduls. Wird sie weggelassen, wird das erste verfügbare Grabber-Modul verwendet. Verfügbare LED-Farben siehe LedColor.
Mögliche Fehler
  • Modul nicht gefunden (ModuleNotFoundError): Wenn kein Grabber-Modul mit der angegebenen led_color mit dem eXperiBot verbunden ist.
Verweise

Weitere Informationen zum Grabber-Modul findest du in der Wissensdatenbank.

Beispiele

Erstelle eine Grabber-Instanz zum Steuern eines Grabber-Moduls mit blauer LED, das mit dem eXperiBot verbunden ist, und weise sie einer Variablen mit dem Namen grabber_blue zu.

>>> grabber_blue = Grabber(LedColor.BLUE)

Erstelle eine Grabber-Instanz zum Steuern eines beliebigen Grabber-Moduls, das mit dem eXperiBot verbunden ist, und weise sie einer Variablen mit dem Namen grabber zu.

>>> grabber = Grabber()
Grabber(led_color: str | None = None)
def open(self, wait: bool = True) -> None:

Grabber — Öffnen

Weist das Grabber-Modul an, seine Arme zu öffnen.

Parameter
  • wait (bool (optional)): Bei True hält die Methode die weitere Code-Ausführung an, bis die Arme des Grabber-Moduls vollständig geöffnet sind. Bei False kehrt die Methode sofort zurück. True wird als Standardwert genutzt, wenn der Parameter weggelassen wird.
Mögliche Fehler
  • Ungültige Parameterwerte (ValueError): Wenn die angegebenen Parameterwerte einen ungültigen Typ haben oder außerhalb des zulässigen Bereichs liegen.
  • Modul reagiert nicht (ModuleNotRespondingError): Wenn das Grabber-Modul nicht reagiert, z. B. weil es während der Programmausführung vom eXperiBot getrennt wurde.
Beispiele

Öffne die Arme des Grabber-Moduls grabber_blue und warte, bis sie vollständig geöffnet sind.

>>> grabber_blue.open()

Öffne die Arme des Grabber-Moduls grabber_blue und kehre sofort zurück, ohne auf das vollständige Öffnen zu warten.

>>> grabber_blue.open(False)
def close(self, wait=True) -> None:

Grabber — Schließen

Weist das Grabber-Modul an, seine Arme zu schließen.

Parameter
  • wait (bool (optional)): Bei True hält die Methode die weitere Code-Ausführung an, bis die Arme des Grabber-Moduls geschlossen sind. Bei False kehrt die Methode sofort zurück. True wird als Standardwert genutzt, wenn der Parameter weggelassen wird.
Mögliche Fehler
  • Ungültige Parameterwerte (ValueError): Wenn die angegebenen Parameterwerte einen ungültigen Typ haben oder außerhalb des zulässigen Bereichs liegen.
  • Modul reagiert nicht (ModuleNotRespondingError): Wenn das Grabber-Modul nicht reagiert, z. B. weil es während der Programmausführung vom eXperiBot getrennt wurde.
Beispiele

Schließe die Arme des Grabber-Moduls grabber_blue und warte, bis sie geschlossen sind.

>>> grabber_blue.close()

Schließe die Arme des Grabber-Moduls grabber_blue und kehre sofort zurück, ohne auf das Schließen zu warten.

>>> grabber_blue.close(False)
def stop(self) -> None:

Grabber — Stoppen

Weist das Grabber-Modul an, jede laufende Bewegung seiner Arme zu stoppen.

Mögliche Fehler
  • Modul reagiert nicht (ModuleNotRespondingError): Wenn das Grabber-Modul nicht reagiert, z. B. weil es während der Programmausführung vom eXperiBot getrennt wurde.
Beispiele

Stoppe jede Bewegung der Arme des Grabber-Moduls grabber_blue.

>>> grabber_blue.stop()
class MultisensorRGBChannel:

Multisensor — RGB-Kanal

Die MultisensorRGBChannel-Klasse enthält Konstanten für alle RGB-Kanäle des Multisensor-Moduls.

Attribute
  • RED: Konstante für den roten RGB-Kanal des Multisensor-Moduls.
  • GREEN: Konstante für den grünen RGB-Kanal des Multisensor-Moduls.
  • BLUE: Konstante für den blauen RGB-Kanal des Multisensor-Moduls.
class MultisensorIRSensor:

Multisensor — IR-Sensor

Die MultisensorIRSensor-Klasse enthält Konstanten für alle seitlichen Infrarotsensoren des Multisensor-Moduls.

Attribute
  • LEFT: Konstante für den linken Infrarotsensor des Multisensor-Moduls.
  • RIGHT: Konstante für den rechten Infrarotsensor des Multisensor-Moduls.
class MultisensorPerceivedBrightness:

Multisensor — Wahrgenommene Helligkeit

Die MultisensorPerceivedBrightness-Klasse enthält Konstanten für alle wahrgenommenen Helligkeitswerte des Multisensor-Moduls.

Attribute
  • BRIGHT: Konstante für helle Lichtverhältnisse vor dem Multisensor-Modul.
  • DARK: Konstante für dunkle Lichtverhältnisse vor dem Multisensor-Modul.
class MultisensorDetectableColor:

Multisensor — Erkennbare Farbe

Die MultisensorDetectableColor-Klasse enthält Konstanten für alle erkennbaren Farben des Multisensor-Moduls.

Attribute
  • NONE: Konstante für das Fehlen einer erkennbaren Farbe des Multisensor-Moduls.
  • RED: Konstante für die erkennbare Farbe Rot des Multisensor-Moduls.
  • GREEN: Konstante für die erkennbare Farbe Grün des Multisensor-Moduls.
  • BLUE: Konstante für die erkennbare Farbe Blau des Multisensor-Moduls.
  • YELLOW: Konstante für die erkennbare Farbe Gelb des Multisensor-Moduls.
class Multisensor:

Multisensor

Eine Instanz der Multisensor-Klasse kann zum Steuern eines bestimmten Multisensor-Moduls verwendet werden, das mit dem eXperiBot verbunden ist.

Parameter
  • led_color (str (optional)): Die LED-Farbe des zu steuernden Multisensor-Moduls. Wird sie weggelassen, wird das erste verfügbare Multisensor-Modul verwendet. Verfügbare LED-Farben siehe LedColor.
Mögliche Fehler
  • Modul nicht gefunden (ModuleNotFoundError): Wenn kein Multisensor-Modul mit der angegebenen led_color mit dem eXperiBot verbunden ist.
Verweise

Weitere Informationen zum Multisensor-Modul findest du in der Wissensdatenbank.

Beispiele

Erstelle eine Multisensor-Instanz zum Steuern eines Multisensor-Moduls mit blauer LED, das mit dem eXperiBot verbunden ist, und weise sie einer Variablen mit dem Namen multisensor_blue zu.

>>> multisensor_blue = Multisensor(LedColor.BLUE)

Erstelle eine Multisensor-Instanz zum Steuern eines beliebigen Multisensor-Moduls, das mit dem eXperiBot verbunden ist, und weise sie einer Variablen mit dem Namen multisensor zu.

>>> multisensor = Multisensor()
Multisensor(led_color: str | None = None)
RGB_CHANNEL = <class 'MultisensorRGBChannel'>

Die MultisensorRGBChannel-Klasse mit Konstanten für alle RGB-Kanäle des Multisensor-Moduls.

IR_SENSOR = <class 'MultisensorIRSensor'>

Die MultisensorIRSensor-Klasse mit Konstanten für alle Infrarotsensoren des Multisensor-Moduls.

BRIGHTNESS = <class 'MultisensorPerceivedBrightness'>

Die MultisensorPerceivedBrightness-Klasse mit Konstanten für alle wahrgenommenen Helligkeitswerte des Multisensor-Moduls.

COLOR = <class 'MultisensorDetectableColor'>

Die MultisensorDetectableColor-Klasse mit Konstanten für alle erkennbaren Farben des Multisensor-Moduls.

def detects_object(self, sensitivity: int = 100) -> bool:

Multisensor — Objekt erkennen

Prüft, ob das Multisensor-Modul ein Objekt vor sich erkennt.

Parameter
  • sensitivity (int (optional)): Der Empfindlichkeitswert für die Objekterkennung in Prozent. Muss zwischen 1% und 200% liegen (jeweils inklusive), wobei 1% die geringste und 200% die höchste Empfindlichkeit bedeutet. 100% (Grundempfindlichkeit) wird als Standardwert genutzt, wenn der Parameter weggelassen wird.
Rückgabe
  • bool: True, wenn das Multisensor-Modul ein Objekt erkennt, False, wenn nicht.
Mögliche Fehler
  • Ungültige Parameterwerte (ValueError): Wenn die angegebenen Parameterwerte einen ungültigen Typ haben oder außerhalb des zulässigen Bereichs liegen.
  • Modul reagiert nicht (ModuleNotRespondingError): Wenn das Multisensor-Modul nicht reagiert, z. B. weil es während der Programmausführung vom eXperiBot getrennt wurde.
Beispiele

Prüfe, ob das Multisensor-Modul multisensor_blue mit der Grundempfindlichkeit ein Objekt erkennt.

>>> multisensor_blue.detects_object()

Prüfe, ob das Multisensor-Modul multisensor_blue mit der höchsten Empfindlichkeit ein Objekt erkennt.

>>> multisensor_blue.detects_object(200)
def detects_color(self, color: str, sensitivity: int = 100) -> bool:

Multisensor — Farbe erkennen

Prüft, ob das Multisensor-Modul eine bestimmte Farbe erkennt.

Parameter
  • color (str): Die zu prüfende Farbe. Verfügbare erkennbare Farben siehe MultisensorDetectableColor.
  • sensitivity (int (optional)): Der Empfindlichkeitswert für die Farberkennung. Muss zwischen 1 und 200 liegen (jeweils inklusive), wobei 1 die geringste und 200 die höchste Empfindlichkeit bedeutet. 100 (Grundempfindlichkeit) wird als Standardwert genutzt, wenn der Parameter weggelassen wird.
Rückgabe
  • bool: True, wenn das Multisensor-Modul die angegebene Farbe erkennt, False, wenn nicht.
Mögliche Fehler
  • Ungültige Parameterwerte (ValueError): Wenn die angegebenen Parameterwerte einen ungültigen Typ haben oder außerhalb des zulässigen Bereichs liegen.
  • Modul reagiert nicht (ModuleNotRespondingError): Wenn das Multisensor-Modul nicht reagiert, z. B. weil es während der Programmausführung vom eXperiBot getrennt wurde.
Beispiele

Prüfe, ob das Multisensor-Modul multisensor_blue die Farbe Rot erkennt.

>>> multisensor_blue.detects_color(Multisensor.COLOR.RED)

Prüfe, ob das Multisensor-Modul multisensor_blue mit geringer Empfindlichkeit die Farbe Blau erkennt.

>>> multisensor_blue.detects_color(Multisensor.COLOR.BLUE, 50)
def detects_ambient_light(self, brightness: str = 'bright') -> bool:

Multisensor — Umgebungslicht erkennen

Prüft, ob das Multisensor-Modul helle oder dunkle Umgebungslichtverhältnisse erkennt.

Parameter
  • brightness (str (optional)): Die zu prüfende Helligkeit. Verfügbare Helligkeitswerte siehe MultisensorPerceivedBrightness. Multisensor.BRIGHTNESS.BRIGHT wird als Standardwert genutzt, wenn der Parameter weggelassen wird.
Rückgabe
  • bool: True, wenn das Multisensor-Modul die angegebene Helligkeit erkennt, False, wenn nicht.
Mögliche Fehler
  • Ungültige Parameterwerte (ValueError): Wenn die angegebenen Parameterwerte einen ungültigen Typ haben oder außerhalb des zulässigen Bereichs liegen.
  • Modul reagiert nicht (ModuleNotRespondingError): Wenn das Multisensor-Modul nicht reagiert, z. B. weil es während der Programmausführung vom eXperiBot getrennt wurde.
Beispiele

Prüfe, ob das Multisensor-Modul multisensor_blue helle Umgebungslichtverhältnisse erkennt.

>>> multisensor_blue.detects_ambient_light()

Prüfe, ob das Multisensor-Modul multisensor_blue dunkle Umgebungslichtverhältnisse erkennt.

>>> multisensor_blue.detects_ambient_light(Multisensor.BRIGHTNESS.DARK)
def detects_surface_brightness( self, brightness: str = 'bright', sensor: str | None = None) -> bool | list[bool]:

Multisensor — Oberflächenhelligkeit erkennen

Prüft, ob das Multisensor-Modul mit seinen seitlichen Infrarotsensoren eine helle oder dunkle Oberfläche erkennt.

Parameter
  • brightness (str (optional)): Die zu prüfende Helligkeit. Verfügbare Werte siehe MultisensorPerceivedBrightness. Multisensor.BRIGHTNESS.BRIGHT wird als Standardwert genutzt, wenn der Parameter weggelassen wird.
  • sensor (str (optional)): Der seitliche Infrarotsensor, der auf die angegebene Helligkeit geprüft wird. Verfügbare Sensoren siehe MultisensorIRSensor. Wird er weggelassen, werden Ergebnisse für beide Sensoren zurückgegeben.
Rückgabe
  • bool oder [bool, bool]: True, wenn das Multisensor-Modul mit dem angegebenen Sensor die angegebene Helligkeit erkennt, False, wenn nicht. Wird kein sensor angegeben, wird eine Liste mit zwei Wahrheitswerten zurückgegeben: Der erste Wert gibt an, ob der linke Infrarotsensor die angegebene Helligkeit erkennt, und der zweite Wert, ob der rechte Infrarotsensor sie erkennt.
Mögliche Fehler
  • Ungültige Parameterwerte (ValueError): Wenn die angegebenen Parameterwerte einen ungültigen Typ haben oder außerhalb des zulässigen Bereichs liegen.
  • Modul reagiert nicht (ModuleNotRespondingError): Wenn das Multisensor-Modul nicht reagiert, z. B. weil es während der Programmausführung vom eXperiBot getrennt wurde.
Beispiele

Prüfe, ob beide seitlichen Infrarotsensoren des Multisensor-Moduls multisensor_blue eine helle Oberfläche erkennen.

>>> multisensor_blue.detects_surface_brightness()

Prüfe, ob beide seitlichen Infrarotsensoren des Multisensor-Moduls multisensor_blue eine dunkle Oberfläche erkennen.

>>> multisensor_blue.detects_surface_brightness(Multisensor.BRIGHTNESS.DARK)

Prüfe, ob der linke Infrarotsensor des Multisensor-Moduls multisensor_blue eine helle Oberfläche erkennt.

>>> multisensor_blue.detects_surface_brightness(
...   Multisensor.BRIGHTNESS.BRIGHT, Multisensor.IR_SENSOR.LEFT
... )
def get_distance_to_object(self) -> int:

Multisensor — Abstand zum Objekt abrufen

Rückgabe
  • int: Der Abstand zu einem vom mittleren Infrarotsensor des Multisensor-Moduls erkannten Objekt in Prozent. Liegt zwischen 0% und 100% (jeweils inklusive), wobei 0% ein sehr nahes Objekt (ca. 10cm) und 100% ein sehr weit entferntes Objekt (ca. 30cm oder mehr) bedeutet.

Beträgt ebenfalls 100%, wenn kein Objekt erkannt wird.

Mögliche Fehler
  • Ungültige Parameterwerte (ValueError): Wenn die angegebenen Parameterwerte einen ungültigen Typ haben oder außerhalb des zulässigen Bereichs liegen.
  • Modul reagiert nicht (ModuleNotRespondingError): Wenn das Multisensor-Modul nicht reagiert, z. B. weil es während der Programmausführung vom eXperiBot getrennt wurde.
Hinweise

Der Sensor kann Abstandsänderungen zwischen etwa 10cm und 30cm erkennen. Leider lässt sich der genaue Abstand zu näher gelegenen Objekten nicht messen. Du kannst jedoch die Funktion get_surface_brightness() verwenden, um die Helligkeit bzw. das Reflexionsvermögen sehr naher Objekte zu messen und so ihren ungefähren Abstand zu bestimmen.

Beispiele

Rufe den Abstand zu einem vom Multisensor-Modul multisensor_blue erkannten Objekt ab.

>>> multisensor_blue.get_distance_to_object()
def get_color(self) -> str:

Multisensor — Farbe abrufen

Gibt die vom Farbsensor des Multisensor-Moduls erkannte Farbe zurück.

Rückgabe
Mögliche Fehler
  • Ungültige Parameterwerte (ValueError): Wenn die angegebenen Parameterwerte einen ungültigen Typ haben oder außerhalb des zulässigen Bereichs liegen.
  • Modul reagiert nicht (ModuleNotRespondingError): Wenn das Multisensor-Modul nicht reagiert, z. B. weil es während der Programmausführung vom eXperiBot getrennt wurde.
Beispiele

Rufe die vom Multisensor-Modul multisensor_blue erkannte Farbe ab.

>>> multisensor_blue.get_color()
def get_color_intensity(self, rgb_channel: None | str = None) -> list[int] | int:

Multisensor — Farbintensität abrufen

Gibt die vom Farbsensor des Multisensor-Moduls erkannte Farbintensität für den angegebenen RGB-Kanal zurück.

Parameter
  • rgb_channel (str (optional)): Der RGB-Kanal, dessen Farbintensität abgerufen wird. Verfügbare RGB-Kanäle siehe MultisensorRGBChannel. Wird er weggelassen, wird die Farbintensität aller RGB-Kanäle zurückgegeben.
Rückgabe
  • int oder [int, int, int]: Die Farbintensität für den angegebenen RGB-Kanal. Liegt zwischen 0 und 6150 (jeweils inklusive), wobei 0 keine Farbintensität und 6150 die maximale Farbintensität bedeutet. Wird kein rgb_channel angegeben, wird eine Liste mit drei ganzen Zahlen zurückgegeben: Die erste Zahl ist die Farbintensität des roten Kanals, die zweite die des grünen Kanals und die dritte die des blauen Kanals.
Mögliche Fehler
  • Ungültige Parameterwerte (ValueError): Wenn die angegebenen Parameterwerte einen ungültigen Typ haben oder außerhalb des zulässigen Bereichs liegen.
  • Modul reagiert nicht (ModuleNotRespondingError): Wenn das Multisensor-Modul nicht reagiert, z. B. weil es während der Programmausführung vom eXperiBot getrennt wurde.
Beispiele

Rufe die vom Multisensor-Modul multisensor_blue erkannte Farbintensität aller RGB-Kanäle ab.

>>> multisensor_blue.get_color_intensity()

Rufe die vom Multisensor-Modul multisensor_blue erkannte Farbintensität des roten RGB-Kanals ab.

>>> multisensor_blue.get_color_intensity(Multisensor.RGB_CHANNEL.RED)
def get_ambient_light_intensity(self) -> int:

Multisensor — Umgebungslichtstärke abrufen

Gibt die vom Multisensor-Modul erkannte Umgebungslichtstärke zurück.

Rückgabe
  • int: Die vom Multisensor-Modul erkannte Umgebungslichtstärke in Prozent. Liegt zwischen 0% und 100% (jeweils inklusive), wobei 0% maximale Dunkelheit und 100% maximale Helligkeit bedeutet.
Mögliche Fehler
  • Ungültige Parameterwerte (ValueError): Wenn die angegebenen Parameterwerte einen ungültigen Typ haben oder außerhalb des zulässigen Bereichs liegen.
  • Modul reagiert nicht (ModuleNotRespondingError): Wenn das Multisensor-Modul nicht reagiert, z. B. weil es während der Programmausführung vom eXperiBot getrennt wurde.
Beispiele

Rufe die vom Multisensor-Modul multisensor_blue erkannte Umgebungslichtstärke ab.

>>> multisensor_blue.get_ambient_light_intensity()
def get_surface_brightness(self, sensor: str | None = None) -> list[int] | int:

Multisensor — Oberflächenhelligkeit abrufen

Gibt die von den seitlichen Infrarotsensoren des Multisensor-Moduls erkannte Oberflächenhelligkeit zurück.

Parameter
  • sensor (str (optional)): Der seitliche Infrarotsensor, dessen Oberflächenhelligkeit abgerufen wird. Verfügbare Sensoren siehe MultisensorIRSensor. Wird er weggelassen, wird die Oberflächenhelligkeit beider seitlicher Infrarotsensoren zurückgegeben.
Rückgabe
  • int oder [int, int]: Die vom angegebenen Sensor erkannte Oberflächenhelligkeit in Prozent. Liegt zwischen 0% und 100% (jeweils inklusive), wobei 0% maximale Dunkelheit und 100% maximale Helligkeit bedeutet. Wird kein sensor angegeben, wird eine Liste mit zwei ganzen Zahlen zurückgegeben: Die erste Zahl ist die vom linken Infrarotsensor erkannte Oberflächenhelligkeit und die zweite die vom rechten Infrarotsensor erkannte.

Erkennt das Multisensor-Modul keine Oberfläche, beträgt der zurückgegebene Wert 0% für die angegebenen Sensor(en).

Mögliche Fehler
  • Ungültige Parameterwerte (ValueError): Wenn die angegebenen Parameterwerte einen ungültigen Typ haben oder außerhalb des zulässigen Bereichs liegen.
  • Modul reagiert nicht (ModuleNotRespondingError): Wenn das Multisensor-Modul nicht reagiert, z. B. weil es während der Programmausführung vom eXperiBot getrennt wurde.
Hinweise

Da Infrarotsensoren das Reflexionsvermögen von Oberflächen messen, werden stark reflektierende Oberflächen als besonders hell erkannt.

Beispiele

Rufe die von beiden seitlichen Infrarotsensoren des Multisensor-Moduls multisensor_blue erkannte Oberflächenhelligkeit ab.

>>> multisensor_blue.get_surface_brightness()

Rufe die vom rechten Infrarotsensor des Multisensor-Moduls multisensor_blue erkannte Oberflächenhelligkeit ab.

>>> multisensor_blue.get_surface_brightness(Multisensor.IR_SENSOR.RIGHT)
class ModuleNotFoundError(builtins.Exception):

Fehler — Modul nicht gefunden

Wird ausgelöst, wenn ein bestimmtes eXperiBot-Modul nicht gefunden werden konnte.

class ModuleNotRespondingError(builtins.Exception):

Fehler — Modul reagiert nicht

Wird ausgelöst, wenn ein bestimmtes eXperiBot-Modul nicht reagiert, z. B. weil es während der Programmausführung vom eXperiBot getrennt wurde.

def map( value: int | float, in_min: int | float, in_max: int | float, out_min: int | float, out_max: int | float) -> int | float:

Map

Bildet einen Wert von einem Bereich auf einen anderen ab.

Parameter
  • value (int oder float): Der abzubildende Wert.
  • in_min (int oder float): Der Minimalwert des Eingangsbereichs.
  • in_max (int oder float): Der Maximalwert des Eingangsbereichs.
  • out_min (int oder float): Der Minimalwert des Ausgangsbereichs.
  • out_max (int oder float): Der Maximalwert des Ausgangsbereichs.
Rückgabe
  • int oder float: Der abgebildete Wert.
Mögliche Fehler
  • Ungültige Parameterwerte (ValueError): Wenn die angegebenen Parameterwerte einen ungültigen Typ haben oder außerhalb des zulässigen Bereichs liegen.
Beispiele

Bilde einen Wert von 50 aus dem Bereich 0 bis 100 auf den Bereich 0 bis 255 ab.

>>> map(50, 0, 100, 0, 255)