Balíček brian.motors

Podbalíčky

modul brian.motors.EV3LargeMotor

class brian.motors.EV3LargeMotor.EV3LargeMotor(port: MotorPort)

Základy: Motor

Třída pro správu a ovládání operací motoru EV3LargeMotor.

__init__(port: MotorPort)

Inicializuje novou instanci motoru EV3LargeMotor na zadaném portu.

Tento konstruktor neselže, pokud motor ještě není připojen.

Parametry:

port – Motor port to use.

modul brian.motors.EV3MediumMotor

class brian.motors.EV3MediumMotor.EV3MediumMotor(port: MotorPort)

Základy: Motor

Třída pro správu a ovládání operací motoru EV3MediumMotor.

__init__(port: MotorPort)

Inicializuje novou instanci motoru EV3MediumMotor na zadaném portu.

Tento konstruktor neselže, pokud motor ještě není připojen.

Parametry:

port – Motor port to use.

modul brian.motors.Motor

class brian.motors.Motor.Motor(port: MotorPort)

Základy: object

Třída pro správu a ovládání operací motoru.

property limits: MotorLimits

Nakonfiguruje různé limity ovladače.

Vrací:

Objekt MotorLimits, který lze použít pro konfiguraci limitů.

property motor_type: MotorType

Zkontroluje, s jakým typem motoru byl tento objekt inicializován.

Vrací:

Vlastnosti a výchozí nastavení připojeného typu motoru.

__init__(port: MotorPort)

Tries to autodetect a motor, connected to the given port and initialize a new motor class.

Parametry:

port – Motor port to use.

Vyvolá:
__del__()

Uvolní port motoru pro další použití.

close_motor()

Uvolní port motoru pro další použití.

is_connected() → bool

Ověří, zda je něco připojeno k portu.

Vrací:

True, pokud byl detekován neprázdný port; jinak False.

is_ready() → bool

Ověří, zda je k portu připojen správný motor a zda je připraven k ovládání.

Test pro is_connected je proveden interně, pokud vrátí false, is_ready vždy vrátí false.

Vrací:

True, pokud je motor připojen a jeho typ je správný; jinak False.

wait_until_ready(timeout_ms: int | None = None) → bool

Čeká, dokud nebude motor připraven. Tato funkce je blokující.

Parametry:

timeout_ms – Maximální počet milisekund k čekání. Pokud není zadán časový limit nebo je None, funkce bude čekat neomezeně.

vrátí úspěch:
  • True: The sensor is ready.

  • False: The sensor is not ready and timeout ran out.

current_angle() → int

Zjistí aktuální úhel motoru.

Vrací:

Úhel osy motoru ve stupních.

reset_angle(new_value: int = 0) → None

Nastaví akumulovaný úhel na zadanou hodnotu.

Za předpokladu, že se motor nebude pohybovat, funkce current_angle() začne vracet hodnotu newValue.

Parametry:

new_value – Nová pozice motoru ve stupních.

current_speed() → int

Zjistí aktuální rotační rychlost motoru.

Vrací:

Rychlost otáčení osy motoru ve stupních za sekundu.

current_torque() → int

Zjistí aktuální odhad točivého momentu motoru.

Vrací:

Točivý moment motoru v milinewtonmetrech.

is_stalled() → bool

Ověří, zda je motor momentálně zablokován.

Vrací:

True, pokud motor překračuje stanovený limit; jinak False.

coast() → None

Nechá motor volně otáčet.

Tím se odpojí vinutí motoru.

brake() → None

Pasivně zabrzdí motor.

Tím se zkratují vinutí motoru.

hold() → None

Aktivně zabrzdí motor na aktuální pozici.

Tímto se motor aktivně udržuje v aktuální pozici.

run_unregulated(fraction: float) → None

Spustí motor při daném zlomku maximálního dostupného napětí.

Parametry:

fraction – Hodnota mezi -1.0 a +1.0, která určuje pracovní cyklus.

run_at_voltage(volts: float) → None

Spustí motor při zadaném napětí.

Parametry:

volts – Požadované napětí na motoru, ve voltech. Užitečný rozsah je od -napětí baterie do +napětí baterie (cca. -8V až +8V). Maximální rozsah této funkce je -12V až +12V.

run_at_speed(deg_per_sec: int) → None

Spustí motor konstantní rychlostí.

Parametry:

deg_per_sec – Požadovaná rotační rychlost ve stupních za sekundu.

rotate_by_angle(angle: int, speed: int, timeout: int | None = None) → MovementEnd

Otočí motor do nové pozice vzhledem k aktuální pozici.

Parametry:
  • angle – Úhel, o který se má motor natočit (ve stupních).

  • speed – Rychlost pro manévr, udávaná ve stupních za sekundu. Pokud je hodnota záporná, použije se její absolutní hodnota.

  • timeout – Jak dlouho čekat (v milisekundách) na dokončení manévru. Pokud je nula, funkce se okamžitě vrátí. Po uplynutí časového limitu motor nezastaví.

Vrací:

Indikuje, zda čekání na dokončení bylo úspěšné, nebo proč bylo předčasně ukončeno.

rotate_to_angle(position: int, speed: int, timeout: int | None = None) → MovementEnd

Otočí motor do nové pozice vzhledem k nulové pozici.

Parametry:
  • position – Úhel, na který se má motor natočit (ve stupních).

  • speed – Rychlost pro manévr, udávaná ve stupních za sekundu. Pokud je hodnota záporná, použije se její absolutní hodnota.

  • timeout – Jak dlouho čekat (v milisekundách) na dokončení manévru. Pokud je nula, funkce se okamžitě vrátí. Po uplynutí časového limitu motor nezastaví.

Vrací:

Indikuje, zda čekání na dokončení bylo úspěšné, nebo proč bylo předčasně ukončeno.

rotate_to_angle_without_speed_control(position: int) → None

Pokusí se co nejrychleji dosáhnout zadané pozice.

Tato funkce ignoruje limity rychlosti a zrychlení – tyto musíte zadávat sami pravidelným voláním funkce s novými pozicemi.

Parametry:

position – Úhel, na který se má otočit relativně k nulové pozici, ve stupních.

movement_done() → bool

Zjistí, zda bylo dokončeno poslední příkazové otočení.

Vrací:

True if the motor has reached the goal. True if the maneuver had to be interrupted (e.g., motor was unplugged). False if the motor is still moving.

wait_for_movement(timeout_ms: int | None = None) → MovementEnd

Čeká, až motor dokončí poslední příkaz pozice.

Parametry:

timeout_ms – Jak dlouho čekat (v milisekundách) na dokončení manévru. Pokud je nula, funkce se okamžitě vrátí. Po uplynutí časového limitu motor nezastaví.

Vrací:

Indikuje, zda čekání na dokončení bylo úspěšné, nebo proč bylo předčasně ukončeno.

modul brian.motors.MotorPort

class brian.motors.MotorPort.MotorPort(*values)

Základy: Enum

Konstanty portu motoru

A = 0

Port motoru A

B = 1

Port motoru B

C = 2

Port motoru C

D = 3

Port motoru D

modul brian.motors.MovementEnd

class brian.motors.MovementEnd.MovementEnd(*values)

Základy: Enum

Důvody ukončení pohybu.

FINISHED = 0

Pohyb dokončen

TIMED_OUT = 1

Časový limit vypršel

modul brian.motors.NXTMotor

class brian.motors.NXTMotor.NXTMotor(port: MotorPort)

Základy: Motor

__init__(port: MotorPort)

Inicializuje novou instanci motoru NXTMotor na zadaném portu.

Tento konstruktor neselže, pokud motor ještě není připojen.

Parametry:

port – Motor port to use.

Obsah modulu

exception brian.motors.MotorException

Základy: Exception

Výchozí výjimka motoru

exception brian.motors.MotorAlreadyClosedError

Základy: MotorException

Vyvoláno při pokusu o přístup k uzavřenému motoru

exception brian.motors.MotorInitializationFailedError

Základy: MotorException

Vyvoláno, když inicializace motoru selže během innit

exception brian.motors.MotorPortAlreadyInUse

Základy: MotorException

Vyvoláno při pokusu o registraci motoru nebo sondy motoru s režimem portu na již použitý port