NXT senzory¶
Brian umožňuje pracovat s pěti různými typy senzorů:
NXT dotykový senzor
NXT barevný senzor
NXT ultrazvukový senzor
NXT zvukový senzor
HiTec gyroskopický senzor
Inicializace a připojení¶
Nejprve musíte inicializovat senzor. Musíte zadat typ senzoru a port (S1
, S2
, S3
, S4
). Zde je příklad inicializace.
import brian.sensors as sensors
TS = sensors.NXT.ColorSensorNXT(sensors.SensorPort.S1)
CS = sensors.NXT.TouchSensorNXT(sensors.SensorPort.S2)
US = sensors.NXT.UltrasonicSensorNXT(sensors.SensorPort.S3)
SO = sensors.NXT.SoundSensorNXT(sensors.SensorPort.S4)
import brian.sensors as sensors
GS = sensors.HiTec.GyroSensorHiTec(sensors.SensorPort.S1)
Nyní můžete pro ovládání senzorů používat vlastní názvy, stačí metodu oddělit tečkou. Například TS.is_connected()
.
Po inicializaci musíte zkontrolovat, zda je senzor připraven. Pomohou vám k tomu následující funkce.
is_connected¶
- is_connected(self) bool
- Vrací:
True
, pokud je senzor připojen a není v procesu restartu, jinakFalse
is_ready¶
- is_ready(self) bool
Stav připravenosti znamená, že pokus o čtení hodnot vrátí platné výsledky. Příklady důvodů neplatných výsledků:
Senzor není připojen (
is_connected
vrací False)Senzor se restartuje nebo ještě není inicializován
Senzor mění režimy a změna ještě není dokončena
Připojený senzor je nekompatibilní s tímto handlerem (např. je připojen špatný typ senzoru)
Ve všech výše uvedených případech tato funkce vrátí False. :return: True, pokud jsou hodnoty připraveny pro další čtení, jinak False
wait_until_ready¶
- wait_until_ready(self, timeout_ms: int = -1) bool
Čeká, dokud není senzor připraven. Tato funkce je blokující. Při změně režimů vstoupí senzor na krátkou dobu do stavu „not ready“ (dokud se změna režimu neprojeví). Proto je doporučeno nejprve nastavit správný režim pomocí
set_mode()
před voláním této funkce. Platí pouze pro senzory s režimy.- Parametry:
timeout_ms – Maximální počet milisekund k čekání. Pokud je timeout záporný, funkce bude čekat neomezeně.
- vrátí úspěch:
True
: Senzor je připraven.False
: Senzor není připraven nebo vypršel časový limit.
reboot¶
- reboot(self) None
Vypne napájení portu a znovu jej zapne. Tím se vynutí restart senzoru.
Stav bez napájení trvá přibližně 100 ms. U některých senzorů může být potřebný dodatečný čas (~1 s nebo více) pro zapnutí a navázání připojení k Brianu.
Dotykový senzor¶

class brian.sensors.NXT.TouchSensorNXT.TouchSensorNXT(
port: SensorPort
)
is_pressed¶
- is_pressed(self) bool
Měří stav senzoru. Vrací boolean hodnotu posledního stisknutí tlačítka. Pokud senzor není připraven, vrací False.
- Vrací:
Pravda, pokud je tlačítko senzoru stisknuto, jinak False. Nebo False, pokud senzor není připraven.
- Vyvolá:
brian.sensors.SensorIsNotReadyError – Pokud sensor není připraven
wait_for_press¶
- wait_for_press(self, 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 k čekání. Pokud je timeout záporný, funkce bude čekat neomezeně.
- vrátí úspěch:
Pravda
: Pokud byla zaznamenána požadovaná událost tlačítka.Nepravda
: Pokud vypršel časový limit.
wait_for_release¶
- wait_for_release(self, timeout_ms: int = -1) bool
Čeká na událost uvolnění tlačítka. Tato funkce je blokující.
- Parametry:
timeout_ms – Maximální počet milisekund k čekání. Pokud je timeout záporný, funkce bude čekat neomezeně.
- vrátí úspěch:
Pravda
: Pokud byla zaznamenána požadovaná událost tlačítka.Nepravda
: Pokud vypršel časový limit.
wait_for_press_and_release¶
- wait_for_press_and_release(self, timeout_ms: int = -1) bool
Čeká na událost stisknutí a následného uvolnění tlačítka. Tato funkce je blokující.
- Parametry:
timeout_ms – Maximální počet milisekund k čekání. Pokud je timeout záporný, funkce bude čekat neomezeně.
- vrátí úspěch:
Pravda
: Pokud byla zaznamenána požadovaná událost tlačítka.Nepravda
: Pokud vypršel časový limit.
Světelný senzor¶

class brian.sensors.NXT.LightSensorNXT.LightSensorNXT(
port: SensorPort
)
set_led_on¶
- set_led_on(self, led_on: bool) None
Tato funkce nastaví senzor do požadovaného režimu. Doporučuje se ji zavolat před čtením hodnot, aby se předešlo výjimkám
SensorIsNotReady
.- Parametry:
led_on – zda má být červené LED rozsvíceno či zhasnuto
light_value¶
- light_value(self, led_on: bool | None) float
Měří zaznamenané světlo.
- Parametry:
led_on – Indikuje, zda má být červené LED zapnuto či vypnuto. Pokud není zadána žádná hodnota nebo je předáno
None
, použije se předchozí nastavení LED.- Vrací:
Hodnota v rozsahu 0-1, kde 0 je nejtmavší a 1 nejjasnější.
- Vyvolá:
brian.sensors.SensorIsNotReadyError – Pokud sensor není připraven
light_value_raw¶
- light_value_raw(self, led_on: bool | None) int
Měří přicházející světlo. Hrubé měření je inverzní, tj. nižší hodnoty odpovídají jasnějším podmínkám.
- Parametry:
led_on – Indikuje, zda má být červené LED zapnuto či vypnuto. Pokud není zadána žádná hodnota nebo je předáno
None
, použije se předchozí nastavení LED.- Vrací:
Hodnota v rozsahu 0-4095, kde 4095 je nejtmavší a 0 nejjasnější.
- Vyvolá:
brian.sensors.SensorIsNotReadyError – Pokud sensor není připraven
Ultrazvukový senzor¶

class brian.sensors.NXT.UltrasonicSensorNXT.UltrasonicSensorNXT(
port: SensorPort
)
distance_cm¶
- distance_cm(self) int
Nepřetržitě měří vzdálenost a vrací hodnotu v cm.
- Vrací:
vzdálenost v cm (0-255).
- Vyvolá:
brian.sensors.SensorIsNotReadyError – Pokud sensor není připraven
Zvukový senzor¶

class brian.sensors.NXT.SoundSensorNXT.SoundSensorNXT(
port: SensorPort
)
sound_intensity¶
- sound_intensity(self) float
Měří přicházející zvuk.
- Vrací:
Hodnota v rozsahu 0-1, kde 0 je nejtišší a 1 nejhlasnější.
- Vyvolá:
brian.sensors.SensorIsNotReadyError – Pokud sensor není připraven
sound_intensity_raw¶
- sound_intensity_raw(self) int
Měří přicházející zvuk. Hrubé měření je inverzní, tj. nižší hodnoty znamenají hlasitější zvuky.
- Vrací:
Hodnota v rozsahu 0-4095, kde 4095 je nejtišší a 0 nejhlasnější.
- Vyvolá:
brian.sensors.SensorIsNotReadyError – Pokud sensor není připraven
Gyroskopický senzor¶

class brian.sensors.HiTec.GyroSensorHiTec.GyroSensorHiTec(
port: SensorPort
)
speed¶
- speed(self) int
Měří stav senzoru. Vrací úhlovou rychlost v rozsahu od -500 do 400
- Vrací:
úhlová rychlost ve stuplních za sekundu (-500 do 400).
- Vyvolá:
brian.sensors.SensorIsNotReadyError – Pokud sensor není připraven
Další informace¶
Pro další informace o NXT senzorech se podívejte do API Reference.