Czujnik obiektu#

Wstęp#

Czujnik obiektów to czujnik zbliżeniowy działający na podczerwień (IR), który wykrywa obecność obiektu w pobliżu, wykorzystując odbite światło podczerwone.

Czujnik obiektów VEX.

Ta strona używa object_sensor jako przykładowej nazwy czujnika obiektu. W razie potrzeby zastąp ją własną, skonfigurowaną nazwą.

Poniżej znajduje się lista dostępnych metod:

  • reflectivity – Zwraca integer reprezentującą ilość światła odbitego od obiektu jako procent.

  • is_object_detected – Zwraca informację, czy czujnik obiektu wykrywa obiekt.

  • set_threshold – Ustawia ilość odbitego światła potrzebną, aby obiekt został uznany za wykryty.

  • object_detected – Rejestruje funkcję, która ma zostać wywołana za każdym razem, gdy czujnik obiektów wykryje nowy obiekt.

  • object_lost – Rejestruje funkcję, która ma zostać wywołana za każdym razem, gdy czujnik obiektu utraci wykryty obiekt.

  • changed – Rejestruje funkcję, która ma zostać wywołana za każdym razem, gdy zmieni się wartość czujnika obiektu.

Konstruktor – Ręczna inicjalizacja czujnika obiektu.

odblaskowość#

reflectivity zwraca integer reprezentujący ilość światła odbitego od obiektu jako procent.

Notatka:

  • 0% współczynnika odbicia oznacza, że ​​obiekt jest bardzo ciemny.

  • 100% współczynnik odbicia oznacza, że ​​obiekt jest bardzo jasny.

Usage:
object_sensor.reflectivity()

Parametry

Opis

Ta metoda nie ma żadnych parametrów.

# Drive forward when the reflectivity is greater than 50%.
while True:
    if object_sensor.reflectivity() > 50:
        drivetrain.drive(FORWARD)
    else:
        drivetrain.stop()
    wait(5, MSEC)

wykryto_obiekt#

is_object_detected zwraca informację, czy czujnik obiektu wykrywa obiekt.

  • True – Czujnik obiektu wykrywa obiekt.

  • False – Czujnik obiektu nie wykrywa obiektu.

Usage:
object_sensor.is_object_detected()

Parametry

Opis

Ta metoda nie ma żadnych parametrów.

# Drive forward when the object sensor is detecting an object.
while True:
    if object_sensor.is_object_detected():
        drivetrain.drive(FORWARD)
    else:
        drivetrain.stop()
    wait(5, MSEC)

ustaw_próg#

set_threshold ustawia ilość odbitego światła wyrażoną w procentach, jaka musi zostać uznana za wykrytą.

Usage:
object_sensor.set_threshold(value)

Parametry

Opis

value

Wartość współczynnika odbicia wymagana, aby obiekt został uznany za wykryty, od 0 do 100.

# Set the reflectivity threshold to 50%.
object_sensor.set_threshold(50)
# Drive forward when the object sensor is detecting an object.
while True:
    if object_sensor.is_object_detected():
        drivetrain.drive(FORWARD)
    else:
        drivetrain.stop()
    wait(5, MSEC)

wykryto_obiekt#

object_detected rejestruje funkcję, która ma zostać wywołana za każdym razem, gdy czujnik obiektów wykryje nowy obiekt.

Usage:
object_sensor.object_detected(callback, arg)

Parametry

Opis

callback

Wcześniej zdefiniowana funkcja, która jest wykonywana, gdy czujnik obiektu wykryje nowy obiekt.

arg

Opcjonalnie. Krotka tuple zawierająca argumenty do przekazania do funkcji wywołania zwrotnego. Więcej informacji można znaleźć w Funkcjach z parametrami.

def my_function():
  brain.screen.print("Object detected.")

# Call my_function whenever object_sensor detects an object
object_sensor.object_detected(my_function)

obiekt_utracony#

object_lost rejestruje funkcję, która ma zostać wywołana za każdym razem, gdy czujnik obiektów utraci wykryty obiekt.

Usage:
object_sensor.object_lost(callback, arg)

Parametry

Opis

callback

Wcześniej zdefiniowana funkcja, która jest wykonywana, gdy czujnik obiektu utraci wykryty obiekt.

arg

Opcjonalnie. Krotka tuple zawierająca argumenty do przekazania do funkcji wywołania zwrotnego. Więcej informacji można znaleźć w Funkcjach z parametrami.

def my_function():
  brain.screen.print("Object lost.")

# Call my_function whenever object_sensor loses an object
object_sensor.object_lost(my_function)

zmieniony#

changed rejestruje funkcję, która ma zostać wywołana za każdym razem, gdy zmieni się wartość czujnika obiektu.

Usage:
object_sensor.changed(callback, arg)

Parametry

Opis

callback

Wcześniej zdefiniowana funkcja, która jest wykonywana, gdy zmienia się wartość czujnika obiektu.

arg

Opcjonalnie. Krotka tuple zawierająca argumenty do przekazania do funkcji wywołania zwrotnego. Więcej informacji można znaleźć w Funkcjach z parametrami.

def my_function():
  brain.screen.print("Reflectivity changed.")

# Call my_function whenever object_sensor's value changes
object_sensor.changed(my_function)

Konstruktorzy#

Konstruktory służą do ręcznego tworzenia ObjectDetector , które są niezbędne do konfiguracji czujników obiektów.

ObjectDetector#

ObjectDetector tworzy czujnik obiektu.

Usage:
ObjectDetector(port, reverse_det)

Parametr

Opis

port

Port 3-żyłowy, do którego podłączony jest czujnik obiektu:

reverse_det

Opcjonalnie. Czy odwrócić logikę wykrywania:

  • True – W przypadku utraty obiektu zwraca informację, że obiekt został wykryty, a w przypadku wykrycia obiektu zwraca informację, że został utracony.
  • False (domyślnie) – W przypadku utraty obiektu zwraca informację, że obiekt został utracony, a w przypadku wykrycia obiektu zwraca informację, że został wykryty.

# Create an Object Sensor in Port A
object_sensor = ObjectDetector(brain.three_wire_port.a)