Czujnik optyczny#
Wstęp#
Czujnik optyczny V5 wykrywa kolor, jasność i obecność pobliskich obiektów za pomocą połączenia czujnika koloru RGB i czujnika zbliżeniowego. Może również wykorzystać wbudowaną diodę LED do oświetlenia obiektów, co zapewnia dokładniejsze wykrywanie.

Ta strona używa optical_sensor jako przykładowej nazwy czujnika optycznego. W razie potrzeby zastąp ją własną, skonfigurowaną nazwą.
Poniżej znajduje się lista dostępnych metod:
set_light– Włącza lub wyłącza diodę LED czujnika optycznego.set_light_power– Ustawia poziom mocy światła czujnika optycznego.is_near_object– Zwraca informację, czy czujnik optyczny wykrył obiekt w zasięgu.color– Zwraca kolor wykryty przez czujnik optyczny.brightness– Zwraca ilość światła odbitego od obiektu.hue– Zwraca odcień wykryty przez czujnik optyczny.object_detected– Rejestruje funkcję, która ma zostać wywołana, gdy czujnik optyczny wykryje obiekt.object_lost– Rejestruje funkcję, która ma zostać wywołana, gdy czujnik optyczny utraci obiekt.
Konstruktor – Ręczna inicjalizacja czujnika optycznego.
Optical– Tworzy czujnik optyczny.
ustaw_światło#
set_light włącza lub wyłącza diodę LED czujnika optycznego. Może to pomóc zwiększyć dokładność czujnika podczas wykrywania kolorów.
Usage:
optical_sensor.set_light(state)
Parametry |
Opis |
|---|---|
państwo |
Sets the LED on or off. |
# Turn on the sensor's LED
optical_sensor.set_light(LEDStateType.ON)
ustaw_moc_światła#
set_light_power ustawia jasność diody LED czujnika optycznego. Światło może pomóc czujnikowi optycznemu wyraźniej wykrywać obiekty i kolory.
Jeśli światło czujnika optycznego jest wyłączone, ustawienie mocy światła powyżej 0% spowoduje włączenie światła.
Jeżeli światło czujnika optycznego jest włączone, ustawienie mocy światła na 0% spowoduje wyłączenie światła.
Wyższy procent sprawia, że światło jest jaśniejsze. Niższy procent sprawia, że światło jest ciemniejsze.
Usage:
optical_sensor.set_light_power(percent, units)
Parametry |
Opis |
|---|---|
procent |
Jasność, jaką należy ustawić na diodzie LED, wyrażona jako liczba całkowita. |
jednostki |
Opcjonalnie. Jednostka reprezentująca jasność: |
# Turn on the sensor's light at half brightness
optical_sensor.set_light_power(50, PERCENT)
jest_w_pobliżu_obiektu#
is_near_object zwraca wartość logiczną wskazującą, czy czujnik optyczny wykrył obiekt w zasięgu.
True– Czujnik optyczny wykrywa obiekt.False– Czujnik optyczny nie wykrył obiektu.
Usage:
optical_sensor.is_near_object()
Parametry |
Opis |
|---|---|
Ta metoda nie ma żadnych parametrów. |
# Drive forward until an object is found
drivetrain.drive(FORWARD)
while not optical_sensor.is_near_object():
pass
drivetrain.stop()
kolor#
color zwraca wystąpienie klasy Color na podstawie wykrytej wartości odcienia. Można je porównać z predefiniowanymi obiektami Color , aby utworzyć instrukcje warunkowe.
Możliwe kolory:
Color.BLACKColor.WHITEColor.RED- Wartość odcienia pomiędzy 340° - 20°Color.GREEN- Wartość odcienia pomiędzy 80° - 140°Color.BLUE- Wartość odcienia pomiędzy 200° - 240°Color.YELLOW- Wartość odcienia pomiędzy 40° - 60°Color.ORANGE- Wartość odcienia pomiędzy 20° - 40°Color.PURPLE- Wartość odcienia pomiędzy 240° - 280°Color.CYAN- Wartość odcienia pomiędzy 140° - 200°
Uwaga: Czujnik optyczny wyszukuje zakresy odcieni odpowiadające określonemu kolorowi. Aby wykryć konkretne zakresy odcieni, zobacz hue.
Usage:
optical_sensor.color()
Parametry |
Opis |
|---|---|
Ta metoda nie ma żadnych parametrów. |
# Drive forward until red is found
drivetrain.drive(FORWARD)
while not optical_sensor.color() == Color.RED:
pass
drivetrain.stop()
jasność#
brightness zwraca ilość światła odbitego od obiektu jako liczbę dziesiętną (float) reprezentującą procent.
Wyższy procent oznacza, że więcej światła odbija się z powrotem do czujnika optycznego. Niższy procent oznacza, że mniej światła odbija się z powrotem.
Usage:
optical_sensor.brightness()
Parametry |
Opis |
|---|---|
Ta metoda nie ma żadnych parametrów. |
odcień#
hue zwraca wartość odcienia wykrytego koloru jako liczbę dziesiętną (float) od 0 do 359.
Odcień to sposób opisywania koloru za pomocą liczb znajdujących się na kole barw.

Usage:
optical_sensor.hue()
Parametry |
Opis |
|---|---|
Ta metoda nie ma żadnych parametrów. |
# Look for the color pink using hue
while True:
brain.screen.clear_screen()
brain.screen.set_cursor(1, 1)
if 300 < optical_sensor.hue() < 359:
brain.screen.print("This is pink!")
else:
brain.screen.print("No pink detected!")
wykryto_obiekt#
object_detected rejestruje funkcję, która ma zostać wywołana za każdym razem, gdy czujnik optyczny wykryje nowy obiekt.
Usage:
optical_sensor.object_detected(callback, arg)
Parametry |
Opis |
|---|---|
|
Wcześniej zdefiniowana funkcja, która jest wykonywana, gdy czujnik optyczny wykryje nowy obiekt. |
|
Opcjonalnie. Krotka krotka zawierająca argumenty do przekazania do funkcji wywołania zwrotnego. Więcej informacji można znaleźć w sekcji Używanie funkcji z parametrami. |
def my_function():
brain.screen.print("Optical Sensor detected an object")
# Call my_function whenever optical_sensor detects an object
optical_sensor.object_detected(my_function)
obiekt_utracony#
object_lost rejestruje funkcję, która ma zostać wywołana za każdym razem, gdy czujnik optyczny utraci wykryty obiekt.
Usage:
optical_sensor.object_lost(callback, arg)
Parametry |
Opis |
|---|---|
|
Wcześniej zdefiniowana funkcja, która jest wykonywana, gdy czujnik optyczny utraci wykryty obiekt. |
|
Opcjonalnie. Krotka krotka zawierająca argumenty do przekazania do funkcji wywołania zwrotnego. Więcej informacji można znaleźć w sekcji Używanie funkcji z parametrami. |
def my_function():
brain.screen.print("Optical Sensor lost an object")
# Call my_function whenever optical_sensor loses an object
optical_sensor.object_lost(my_function)
Konstruktor#
Konstruktory służą do ręcznego tworzenia obiektów optycznych Optical , które są niezbędne do konfiguracji czujnika optycznego poza VEXcode.
Optical#
Optical tworzy czujnik optyczny.
Usage:
Optical(smartport)
Parametr |
Opis |
|---|---|
|
Inteligentny port, do którego podłączony jest czujnik optyczny, zapisany jako |
# Create an Optical Sensor in Port 10
optical_sensor = Optical(Ports.PORT10)