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
neboTILT_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í.