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. Az érzékelő 3000-es vagy annál magasabb nyers értéket érzékel.

  • A 100%-os fényvisszaverő képesség azt jelenti, hogy a tárgy nagyon fényes. Az érzékelő nyers 0 értéket lát.

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 visszavert fény mennyisége, amely ahhoz szükséges, hogy egy tárgyat egész számként, 0-tól 100-ig terjedő tartományban érzékeljünk.

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

  • Az EXP Brain porton – brain.three_wire_port.x ahol x a port száma.
  • Egy 3-Wire Expander porton – expander.a ahol expander a bővítőpéldány neve.

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)