Balíček brian.sensors.EV3

Modul brian.sensors.EV3.ColorSensorEV3

class brian.sensors.EV3.ColorSensorEV3.ColorSensorEV3(port: SensorPort)

Základy: Sensor

Třída pro interakci s barevným senzorem EV3

Senzor je automaticky registrován v konstruktoru základní třídy a odregistrován v jeho destruktoru. Může být také odregistrován pomocí funkce ColorSensorEV3.close_sensor().

Může existovat maximálně jedna instance jakékoliv třídy senzoru na port v celém programu.

__init__(port: SensorPort)

Inicializuje EV3 barevný senzor na zadaném portu.

Parametry:

port – Port, ke kterému je senzor připojen.

class Mode(*values)

Základy: Enum

REFLECT = 0
AMBIENT = 1
COLOR_DETECT = 2
REFLECT_RAW = 3
RGB_RAW = 4
class RawRGB(red: int, green: int, blue: int)

Základy: object

Třída používaná k uchování RGB hodnot z měření ColorSensorEV3.rgb_values_raw(). Každý barevný kanál obsahuje hodnoty mezi 0-1023. Atributy mohou být přístupné buď přímo nebo pomocí indexu (RawRGB[0] = RawRGB.red)

red: int
green: int
blue: int
__init__(red: int, green: int, blue: int)
Parametry:
  • red – červená složka barvy [0-1023].

  • green – zelená složka barvy [0-1023].

  • blue – modrá složka barvy [0-1023].

class Color(*values)

Základy: Enum

Konstanty pro funkci ColorSensor.detected_color(self).

NO_COLOR = 0
BLACK = 1
BLUE = 2
GREEN = 3
YELLOW = 4
RED = 5
WHITE = 6
BROWN = 7
set_mode(mode: Mode) None

Tato funkce nastaví senzor do požadovaného režimu. Ačkoliv není povinné, doporučuje se ji zavolat před přístupem k hodnotám senzoru v určitém režimu, aby se zabránilo výjimkám SensorIsNotReady.

Parametry:

mode – požadovaný režim, který má být nastaven

reflected_value() int

Nastaví režim senzoru na REFLECT a vrátí poslední hodnotu.

Vrací:

odrazivost v % (0-100).

Vyvolá:

brian.sensors.SensorIsNotReadyError – Pokud senzor není připraven.

REFLECT režim: Měří odrazivost povrchu pro červené světlo. Hodnoty jsou kalibrovány v rámci samotného senzoru. Vrací hodnoty v procentech, v rozmezí 0-100. Měření je korigováno podle změn okolního osvětlení.

reflected_value_raw() int

Nastaví režim senzoru na REFLECT_RAW a vrátí poslední hodnotu.

Vrací:

hrubé hodnoty odrazu světla (0-1023)

Vyvolá:

brian.sensors.SensorIsNotReadyError – Pokud senzor není připraven.

REFLECT_RAW režim: Měří odrazivost povrchu pro červené světlo. Hodnoty nejsou kalibrovány, a proto je nutné provést jejich škálování a posun ručně. Měření v tomto režimu by mělo poskytnout vyšší rozlišení než v režimu REFLECT. Vrací hodnoty v rozmezí 0–1023. Měření je korigováno podle změn okolního osvětlení.

ambient_value() int

Nastaví senzor do režimu AMBIENT a vrátí poslední hodnotu.

Vrací:

Ambientní světlo v % (0-100).

Vyvolá:

brian.sensors.SensorIsNotReadyError – Pokud senzor není připraven.

AMBIENT režim: Měří intenzitu okolního světla. Hodnoty jsou kalibrovány v rámci samotného senzoru. Vrací hodnoty v procentech, v rozmezí 0-100.

detected_color() Color

Nastaví režim senzoru na COLOR_DETECT a vrátí poslední hodnotu.

Vrací:

barevné konstanty odpovídající Color.[COLOR].

Vyvolá:

brian.sensors.SensorIsNotReadyError – Pokud senzor není připraven.

COLOR_DETECT režim: Měří a rozlišuje barvu. Rozlišení je zajištěno samotným senzorem. Pokud to pro váš případ použití nefunguje dobře, můžete místo toho použít RGB_RAW.

static get_color_name(color: Color) str
Parametry:

color – Barva, pro kterou chcete získat název.

Vrací:

Anglický název zadané barvy. Tato funkce je určena pro uživatelské rozhraní nebo logování.

rgb_values_raw() RawRGB

Nastaví režim senzoru na RGB_RAW a vrátí poslední hodnotu.

Vrací:

Hrubé hodnoty RGB (0-1023 pro každý kanál). Můžete k nim přistupovat pomocí RGB.red, RGB.green a RGB.blue, nebo pomocí indexování (RGB[0], RGB[1], …)

Vyvolá:

brian.sensors.SensorIsNotReadyError – Pokud senzor není připraven.

RGB_RAW režim: Měří odrazivost povrchu pro červené, zelené a modré světlo. Hodnoty nejsou kalibrovány, a proto je nutné provést jejich škálování a posun ručně. Měření je korigováno podle změn okolního osvětlení.

Modul brian.sensors.EV3.GyroSensorEV3

class brian.sensors.EV3.GyroSensorEV3.GyroSensorEV3(port: SensorPort)

Základy: Sensor

Třída pro interakci s EV3 gyrosenzorem.

Senzor je automaticky registrován v konstruktoru základní třídy a odregistrován v jeho destruktoru. Může být také odregistrován pomocí funkce GyroSensorEV3.close_sensor().

Může existovat maximálně jedna instance jakékoliv třídy senzoru na port v celém programu.

__init__(port: SensorPort)

Inicializuje EV3 gyrosenzor na zadaném portu.

Parametry:

port – Port, ke kterému je senzor připojen.

class Mode(*values)

Základy: Enum

ANGLE = 0
SPEED = 1
SPEED_COARSE = 2
ANGLE_AND_SPEED = 3
TILT_SPEED = 5
TILT_ANGLE = 6
set_mode(mode: Mode) None

Tato funkce nastaví senzor do požadovaného režimu. Ačkoliv není povinné, doporučuje se ji zavolat před přístupem k hodnotám senzoru v určitém režimu, aby se zabránilo výjimkám SensorIsNotReady.

Parametry:

mode – požadovaný režim, který má být nastaven

angle() int

Nastaví režim senzoru na ANGLE a vrátí poslední hodnotu.

Vrací:

úhel (int) ve stupních (-32768 až 32768).

Vyvolá:

brian.sensors.SensorIsNotReadyError – Pokud senzor není připraven.

ANGLE režim: Měří úhel natočení a vrací hodnotu ve stupních v rozsahu -32768 až 32767.

Hodnota je kladná, pokud se díváte na stranu senzoru se šipkami.

Pokud se otáčíte příliš mnohokrát v režimu ANGLE, ANGLE_AND_SPEED nebo TILT_ANGLE, může se hodnota zablokovat na 32767 nebo přetéct na -32768 v závislosti na výrobě senzoru.

speed() int

Nastaví režim senzoru na SPEED a vrátí poslední hodnotu.

Vrací:

úhlová rychlost ve stupních za sekundu (-500 až 500).

Vyvolá:

brian.sensors.SensorIsNotReadyError – Pokud senzor není připraven.

SPEED režim: Měří úhlovou rychlost a vrací hodnotu ve stupních za sekundu v rozsahu -500 až 500.

Hodnota je kladná, pokud se díváte na stranu senzoru se šipkami.

tilt_speed() int

Sets the sensor mode to Modes::TILT_SPEED and returns the last value.

Vrací:

úhlová rychlost ve stupních za sekundu (-500 až 500).

Vyvolá:

brian.sensors.SensorIsNotReadyError – Pokud senzor není připraven.

TILT_SPEED režim: Měří úhlovou rychlost kolem druhé osy a vrací hodnotu ve stupních za sekundu v rozsahu -500 až 500. Hodnota je kladná, pokud se díváte na stranu senzoru opačnou ke konektoru kabelu.

tilt_angle() int

Nastaví režim senzoru na TILT_ANGLE a vrátí poslední hodnotu.

Vrací:

úhel (int) ve stupních (-32768 až 32768).

Vyvolá:

brian.sensors.SensorIsNotReadyError – Pokud senzor není připraven.

TILT_ANGLE režim: Měří úhel naklonění kolem druhé osy a vrací hodnotu ve stupních v rozsahu -32768 až 32767.

Tento režim není dostupný v starších senzorech (s datovým kódem končícím na 2 nebo 3). Hodnota je kladná, pokud se díváte na stranu senzoru opačnou ke konektoru kabelu.

Pokud se otáčíte příliš mnohokrát v režimu „ANGLE“, „ANGLE_AND_SPEED“ nebo „TILT_ANGLE“, může se hodnota zablokovat na 32767 nebo přetéct na -32768 v závislosti na výrobě senzoru.

speed_coarse() int

Nastaví režim senzoru na SPEED_COARSE a vrátí poslední hodnotu.

Vrací:

úhlová rychlost ve stupních za sekundu (-1464 až 1535).

Vyvolá:

brian.sensors.SensorIsNotReadyError – Pokud senzor není připraven.

SPEED_COARSE režim: Měří úhlovou rychlost a vrací hodnotu ve stupních za sekundu v rozsahu -1464 až 1535. Má nižší rozlišení, ale širší rozsah než režim „SPEED“.

Hodnota je kladná, pokud se díváte na stranu senzoru se šipkami.

angle_and_speed() Tuple[int, int]

Nastaví režim senzoru na ANGLE_AND_SPEED a vrátí poslední hodnotu.

Vrací:

N-tice obsahující dvě celá čísla: první číslo představuje měření úhlu (stupně) a druhé číslo představuje měření rychlosti (stupně/sekunda).

Vyvolá:

brian.sensors.SensorIsNotReadyError – Pokud senzor není připraven.

ANGLE_AND_SPEED režim: Měří úhel natočení a úhlovou rychlost a vrací hodnotu ve stupních v rozsahu -32768 až 32767 pro úhel a -500 až 500 pro rychlost.

Hodnota je kladná, pokud se díváte na stranu senzoru se šipkami. Pokud senzor otáčíte příliš mnohokrát v režimu „ANGLE“, „ANGLE_AND_SPEED“ nebo „TILT_ANGLE“, může se hodnota zablokovat na 32767 nebo přetéct na -32768 v závislosti na výrobě senzoru.

set_zero_point() None

Upraví měření úhlu tak, aby vznikl nový nulový bod. Upravuje úhel pouze v režimech „ANGLE“, „ANGLE_AND_SPEED“ a „TILT_ANGLE“. Neřeší drift – pro odstranění driftu restartujte senzor pomocí funkce reboot().

Vyvolá:

brian.sensors.SensorIsNotReadyError – Pokud senzor není připraven.

reboot() None

Restartuje senzor pro vynucenou recalibraci.

Během recalibrace udržujte senzor stabilní, aby se minimalizoval drift.

Restart Vypne napájení portu a poté jej znovu zapne. Tím se vynutí restart senzoru.

Stav bez napájení trvá přibližně 100 ms. U některých (většinou digitálních) senzorů může být nutný dodatečný čas (~1 s nebo více) na zapnutí a navázání spojení s Brian.

Modul brian.sensors.EV3.TouchSensorEV3

class brian.sensors.EV3.TouchSensorEV3.TouchSensorEV3(port: SensorPort)

Základy: Sensor

Třída pro interakci s EV3 dotykovým senzorem.

Senzor je automaticky registrován v konstruktoru základní třídy a odregistrován v jeho destruktoru. Může být také odregistrován pomocí funkce TouchSensorEV3.close_sensor().

Může existovat maximálně jedna instance jakékoliv třídy senzoru na port v celém programu.

__init__(port: SensorPort)

Inicializuje EV3 dotykový senzor na zadaném portu.

Parametry:

port – Port, ke kterému je senzor připojen.

is_pressed() bool

Měří stav senzoru. Vrací boolean posledního stavu stisknutého tlačítka. Pokud senzor není připraven, vrací False.

Vrací:

True, pokud je tlačítko senzoru stisknuto, jinak False. Nebo False, pokud senzor není připraven.

Vyvolá:

brian.sensors.SensorIsNotReadyError – Pokud senzor není připraven.

wait_for_press(timeout_ms: int = -1) bool

Čeká na další událost stisknutí tlačítka. Tato funkce je blokující.

Parametry:

timeout_ms – Maximální počet milisekund, které má čekat. Pokud je časový limit záporný, funkce bude čekat neomezeně dlouho.

vrátí úspěch:
  • True: Pokud byla zachycena požadovaná událost tlačítka.

  • False: Pokud vypršel timeout.

wait_for_release(timeout_ms: int = -1) bool

Čeká na další událost uvolnění tlačítka. Tato funkce je blokující.

Parametry:

timeout_ms – Maximální počet milisekund, které má čekat. Pokud je časový limit záporný, funkce bude čekat neomezeně dlouho.

vrátí úspěch:
  • True: Pokud byla zachycena požadovaná událost tlačítka.

  • False: Pokud vypršel timeout.

wait_for_press_and_release(timeout_ms: int = -1) bool

Čeká na další událost stisknutí a uvolnění tlačítka. Tato funkce je blokující.

Parametry:

timeout_ms – Maximální počet milisekund, které má čekat. Pokud je časový limit záporný, funkce bude čekat neomezeně dlouho.

vrátí úspěch:
  • True: Pokud byla zachycena požadovaná událost tlačítka.

  • False: Pokud vypršel timeout.

Modul brian.sensors.EV3.UltrasonicSensorEV3

class brian.sensors.EV3.UltrasonicSensorEV3.UltrasonicSensorEV3(port: SensorPort)

Základy: Sensor

Třída pro interakci s EV3 ultrazvukovým senzorem.

Sensor is automatically registered in the constructor of the base class and un-registered in its destructor. It can also be unregistered with the UltrasonicSensorEV3.close_sensor() function.

Může existovat maximálně jedna instance jakékoliv třídy senzoru na port v celém programu.

__init__(port: SensorPort)

Inicializuje EV3 ultrazvukový senzor na zadaném portu.

Parametry:

port – Port, ke kterému je senzor připojen.

class Mode(*values)

Základy: Enum

DISTANCE_MM = 0
DISTANCE_TENTHS_OF_INCH = 1
DETECT_OTHER_US = 2
SINGLESHOT_MM = 3
SINGLESHOT_TENTHS_OF_INCH = 4
set_mode(mode: Mode) None

Tato funkce nastaví senzor do požadovaného režimu. Ačkoliv není povinné, doporučuje se ji zavolat před přístupem k hodnotám senzoru v určitém režimu, aby se zabránilo výjimkám SensorIsNotReady.

Parametry:

mode – požadovaný režim, který má být nastaven

distance_mm() int

Sets the sensor mode to DISTANCE_MM and return the last value.

Vrací:

vzdálenost v mm (0-2550). Nebo 2550, pokud došlo k chybě měření.

Vyvolá:

brian.sensors.SensorIsNotReadyError – Pokud senzor není připraven.

DISTANCE_MM režim: Nepřetržitě měří vzdálenost a vrací hodnotu v mm. Vrací poslední naměřenou vzdálenost v mm, v rozsahu 0-2550. Pokud měření selže, senzor hlásí magické číslo (vzdálenost) 2550.

distance_tenths_of_inch() int

Sets the sensor mode to DISTANCE_TENTHS_OF_INCH and return the last value.

Vrací:

Vzdálenost v desetinách palce (0-1003).

Vyvolá:

brian.sensors.SensorIsNotReadyError – Pokud senzor není připraven.

DISTANCE_TENTHS_OF_INCH režim: Nepřetržitě měří vzdálenost a vrací hodnotu v desetinách palce. Vrací poslední naměřenou vzdálenost v desetinách palce, v rozsahu 0-1003. Pokud měření selže, senzor hlásí magické číslo (vzdálenost) 1003.

last_single_shot_mm() int

Pokud je senzor v režimu SINGLESHOT_MM, vrátí poslední hodnotu. Pokud je senzor v jiném režimu, vrátí 2550. Tato metoda nespouští měření. Pro spuštění měření použijte trigger_single_shot_measurement_mm().

Vrací:

vzdálenost v mm (0-2550). Nebo 2550, pokud došlo k chybě měření.

Vyvolá:

brian.sensors.SensorIsNotReadyError – Pokud senzor není připraven.

SINGLESHOT_MM režim: Aktivuje se jednou a změří vzdálenost. Po měření senzor přejde do režimu spánku a nevytváří ultrazvukové vlny. Tento režim lze použít při práci s více ultrazvukovými senzory současně, aby se zabránilo jejich vzájemnému rušení. Režim jednoho snímku by neměl být volán častěji než přibližně jednou za 250 ms. Vrací poslední naměřenou vzdálenost v mm, v rozsahu 0-2550. Pokud měření selže, senzor hlásí magické číslo (vzdálenost) 2550.

trigger_single_shot_measurement_mm() None

Nastaví režim senzoru na SINGLESHOT_MM a spustí měření. Nečeká na výsledek a nevrací nic.

Vyvolá:

brian.sensors.SensorIsNotReadyError – Pokud senzor není připraven.

SINGLESHOT_MM režim: Aktivuje se jednou a změří vzdálenost. Po měření senzor přejde do režimu spánku a nevytváří ultrazvukové vlny. Tento režim lze použít při práci s více ultrazvukovými senzory současně, aby se zabránilo jejich vzájemnému rušení. Režim jednoho snímku by neměl být volán častěji než přibližně jednou za 250 ms.

last_single_shot_tenths_of_inch() int

Pokud je senzor v režimu SINGLESHOT_TENTHS_OF_INCH, vrátí poslední hodnotu. Pokud je senzor v jiném režimu, vrátí 1003. Tato metoda nespouští měření. Pro spuštění měření použijte trigger_single_shot_measurement_tenths_of_inch()

Vrací:

vzdálenost v desetinách palce (0-1003). Nebo 1003, pokud došlo k chybě měření.

Vyvolá:

brian.sensors.SensorIsNotReadyError – Pokud senzor není připraven.

SINGLESHOT_TENTHS_OF_INCH režim: Aktivuje se jednou a změří vzdálenost. Po měření senzor přejde do režimu spánku a nevytváří ultrazvukové vlny. Tento režim lze použít při práci s více ultrazvukovými senzory současně, aby se zabránilo jejich vzájemnému rušení. Režim jednoho snímku by neměl být volán častěji než přibližně jednou za 250 ms. Vrací poslední naměřenou vzdálenost v desetinách palce, v rozsahu 0-1003. Pokud měření selže, senzor hlásí magické číslo (vzdálenost) 1003. last_single_shot_tenths_of_inch

trigger_single_shot_measurement_tenths_of_inch() None

Nastaví režim senzoru na SINGLESHOT_TENTHS_OF_INCH a spustí měření. Nečeká na výsledek a nevrací nic.

Vyvolá:

brian.sensors.SensorIsNotReadyError – Pokud senzor není připraven.

SINGLESHOT_TENTHS_OF_INCH režim: Aktivuje se jednou a změří vzdálenost. Po měření senzor přejde do režimu spánku a nevytváří ultrazvukové vlny. Tento režim lze použít při práci s více ultrazvukovými senzory současně, aby se zabránilo jejich vzájemnému rušení. Režim jednoho snímku by neměl být volán častěji než přibližně jednou za 250 ms.

is_other_us_detected() bool

Sets the sensor mode to DETECT_OTHER_US and return the last value.

Vrací:

True, pokud je aktivní jiný ultrazvukový senzor; jinak False.

Vyvolá:

brian.sensors.SensorIsNotReadyError – Pokud senzor není připraven.

DETECT_OTHER_US režim: Zkontroluje, zda je v doslechu tohoto senzoru aktivní jiný ultrazvukový senzor. Vrací boolean hodnotu - True znamená, že byl detekován jiný ultrazvukový senzor. True hodnota může být také vyvolána hlasitým zvukem, jako je tleskání.