Tárgyérzékelő#

Bevezetés#

Az tárgyérzékelő egy infravörös (IR) közelségérzékelő, amely visszavert infravörös fény segítségével érzékeli, ha egy tárgy közel van.

A VEX tárgyérzékelő.

Ez az oldal object_sensor objektumérzékelő nevet használja példaként. Szükség szerint cserélje ki a saját konfigurált névre.

Az alábbiakban felsoroljuk az elérhető módszereket:

  • reflectivity – Visszaad egy integer értéket, amely a tárgyról visszaverődő fény mennyiségét százalékban jelöli.

  • is_object_detected – Visszaadja, hogy az objektumérzékelő érzékel-e objektumot.

  • set_threshold – Beállítja a visszavert fény mennyiségét, amely szükséges ahhoz, hogy egy objektumot érzékeltnek tekintsünk.

  • object_detected – Regisztrál egy függvényt, amely meghívódik, valahányszor az objektumérzékelő új objektumot észlel.

  • object_lost – Regisztrál egy függvényt, amely akkor hívódik meg, amikor az objektumérzékelő elveszít egy érzékelt objektumot.

  • changed – Regisztrál egy függvényt, amely minden alkalommal meghívódik, amikor az objektumérzékelő értéke megváltozik.

Konstruktor – Objektumérzékelő manuális inicializálása.

fényvisszaverő képesség#

reflectivity egy integer értéket ad vissza, amely a tárgyról visszaverődő fény mennyiségét százalékban jelöli.

Jegyzet:

  • A 0%-os fényvisszaverő képesség azt jelenti, hogy a tárgy nagyon sötét.

  • A 100%-os fényvisszaverő képesség azt jelenti, hogy a tárgy nagyon fényes.

Usage:
object_sensor.reflectivity()

Paraméterek

Leírás

Ennek a metódusnak nincsenek paraméterei.

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

objektum_észlelt_#

is_object_detected Visszaadja, hogy az objektumérzékelő érzékel-e objektumot.

  • True – A tárgyérzékelő egy tárgyat érzékel.

  • False – Az objektumérzékelő nem érzékel tárgyat.

Usage:
object_sensor.is_object_detected()

Paraméterek

Leírás

Ennek a metódusnak nincsenek paraméterei.

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

küszöbérték beállítása#

set_threshold A visszavert fény mennyiségét állítja be százalékban, amely szükséges ahhoz, hogy egy objektumot detektáltnak tekintsünk.

Usage:
object_sensor.set_threshold(value)

Paraméterek

Leírás

value

A tárgy detektálásához szükséges fényvisszaverő képesség értéke, 0 és 100 között.

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

objektum_észlelt#

object_detected regisztrál egy függvényt, amely akkor hívódik meg, amikor az objektumérzékelő új objektumot észlel.

Usage:
object_sensor.object_detected(callback, arg)

Paraméterek

Leírás

callback

Egy korábban definiált függvény, amely akkor hajtódik végre, amikor az objektumérzékelő új objektumot észlel.

arg

Opcionális. Egy tuple, amely a visszahívó függvénynek átadandó argumentumokat tartalmazza. További információkért lásd a Paraméteres függvények részt.

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

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

elveszett_objektum#

object_lost regisztrál egy függvényt, amely akkor hívódik meg, amikor az objektumérzékelő elveszít egy érzékelt objektumot.

Usage:
object_sensor.object_lost(callback, arg)

Paraméterek

Leírás

callback

Egy korábban definiált függvény, amely akkor hajtódik végre, amikor az objektumérzékelő elveszít egy érzékelt objektumot.

arg

Opcionális. Egy tuple, amely a visszahívó függvénynek átadandó argumentumokat tartalmazza. További információkért lásd a Paraméteres függvények részt.

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

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

megváltozott#

changed regisztrál egy függvényt, amely minden alkalommal meghívódik, amikor az objektumérzékelő értéke megváltozik.

Usage:
object_sensor.changed(callback, arg)

Paraméterek

Leírás

callback

Egy korábban definiált függvény, amely akkor hajtódik végre, amikor az objektumérzékelő értéke megváltozik.

arg

Opcionális. Egy tuple, amely a visszahívó függvénynek átadandó argumentumokat tartalmazza. További információkért lásd a Paraméteres függvények részt.

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

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

Konstruktorok#

A konstruktorok segítségével manuálisan hozhatunk létre ObjectDetector objektumot, amelyek az objektumérzékelők konfigurálásához szükségesek.

ObjectDetector#

ObjectDetector létrehoz egy objektumérzékelőt.

Usage:
ObjectDetector(port, reverse_det)

Paraméter

Leírás

port

A 3 vezetékes port, amelyhez az objektumérzékelő csatlakozik:

reverse_det

Opcionális. Megadható, hogy megfordítja-e az észlelési logikát:

  • True – Elveszett objektum esetén adja vissza, hogy észlelték, és amikor egy objektumot észlelnek, adja vissza, hogy elveszett.
  • False (alapértelmezett) – Elveszett objektum esetén adja vissza, hogy elveszett, és amikor egy objektumot észlelnek, adja vissza, hogy észlelték.

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