Objektový senzor#

Zavedení#

Senzor objektů je infračervený (IR) senzor přiblížení, který detekuje blízkost objektu pomocí odraženého infračerveného světla.

Senzor objektů VEX.

Tato stránka používá jako příklad názvu senzoru objektů object_sensor V případě potřeby jej nahraďte vlastním nakonfigurovaným názvem.

Níže je uveden seznam dostupných metod:

  • reflectivity – Vrací integer, které představuje množství světla odraženého od objektu v procentech.

  • is_object_detected – Vrací, zda senzor objektů detekuje objekt.

  • set_threshold – Nastavuje množství odraženého světla potřebného k detekci objektu.

  • object_detected – Registruje funkci, která má být volána vždy, když senzor objektů detekuje nový objekt.

  • object_lost – Registruje funkci, která se má volat vždy, když senzor objektů ztratí detekovaný objekt.

  • changed – Registruje funkci, která se má volat při každé změně hodnoty senzoru objektů.

Konstruktor – Ruční inicializace senzoru objektů.

odrazivost#

reflectivity vrací integer, které představuje množství světla odraženého od objektu v procentech.

Poznámka:

  • 0% odrazivost znamená, že objekt je velmi tmavý.

  • 100% odrazivost znamená, že objekt je velmi jasný.

Usage:
object_sensor.reflectivity()

Parametry

Popis

Tato metoda nemá žádné parametry.

# 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)

je_detekován_objekt#

is_object_detected vrací, zda senzor objektů detekuje objekt.

  • True – Snímač objektů detekuje objekt.

  • False – Snímač objektů nedetekuje žádný objekt.

Usage:
object_sensor.is_object_detected()

Parametry

Popis

Tato metoda nemá žádné parametry.

# 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)

nastavit_práh#

set_threshold nastavuje množství odraženého světla v procentech, které je potřeba k detekci objektu.

Usage:
object_sensor.set_threshold(value)

Parametry

Popis

value

Hodnota odrazivosti požadovaná předtím, než je objekt považován za detekovaný, 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)

detekovaný_objekt#

object_detected registruje funkci, která má být volána vždy, když senzor objektů detekuje nový objekt.

Usage:
object_sensor.object_detected(callback, arg)

Parametry

Popis

callback

Dříve definovaná funkce, která se provede, když senzor objektů detekuje nový objekt.

arg

Volitelné. N-tice tuple obsahující argumenty, které se mají předat funkci zpětného volání. Další informace naleznete v části Funkce s parametry.

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

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

ztracený_objekt#

object_lost registruje funkci, která má být volána vždy, když senzor objektů ztratí detekovaný objekt.

Usage:
object_sensor.object_lost(callback, arg)

Parametry

Popis

callback

Dříve definovaná funkce, která se provede, když senzor objektů ztratí detekovaný objekt.

arg

Volitelné. N-tice tuple obsahující argumenty, které se mají předat funkci zpětného volání. Další informace naleznete v části Funkce s parametry.

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

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

změněno#

changed registruje funkci, která se má volat vždy, když se změní hodnota senzoru objektů.

Usage:
object_sensor.changed(callback, arg)

Parametry

Popis

callback

Dříve definovaná funkce, která se provede při změně hodnoty senzoru objektů.

arg

Volitelné. N-tice tuple obsahující argumenty, které se mají předat funkci zpětného volání. Další informace naleznete v části Funkce s parametry.

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

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

Konstruktéři#

Konstruktory se používají k ručnímu vytvoření ObjectDetector , které jsou nezbytné pro konfiguraci senzorů objektů.

ObjectDetector#

ObjectDetector vytvoří senzor objektů.

Usage:
ObjectDetector(port, reverse_det)

Parametr

Popis

port

3vodičový port, ke kterému je připojen objektový senzor:

reverse_det

Volitelné. Zda obrátit logiku detekce:

  • True – Při ztrátě objektu vrátit, že objekt byl detekován, a při detekci objektu vrátit, že je ztracen.
  • False (výchozí) – Při ztrátě objektu vrátit, že objekt byl ztracen, a při detekci objektu vrátit, že je detekován.

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