Szem#

Bevezetés#

A VR szemérzékelő képes tárgyakat érzékelni, és azonosítani azok színét, fényerejét és árnyalatát. Lehetővé teszi az érzékelési tartomány és a megvilágítási beállítások módosítását a pontosabb mérések érdekében.

Az alábbiakban felsoroljuk az összes elérhető módszert:

Getterek – Objektum jelenlétének, színének, fényerejének és árnyalatának kiolvasása.

  • near_object – Visszaadja, hogy a Szemérzékelő érzékel-e tárgyat a hatótávolságon belül.

  • detect – Visszaadja, hogy a Szemérzékelő érzékel-e egy adott színt.

  • brightness – Visszaadja a tárgyról visszaverődő fény mennyiségét százalékban.

Visszahívás – Kód futtatása objektum észlelésekor vagy elveszésekor.

  • object_detected – Regisztrál egy függvényt, amely minden alkalommal meghívódik, amikor a Szemérzékelő objektumot érzékel.

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

Getterek#

near_object#

near_object függvény egy Boolean értéket ad vissza, amely jelzi, hogy a Szemérzékelő érzékel-e tárgyat a hatótávolságon belül.

  • True – Az érzékelő egy tárgy közelében van.

  • False – Az érzékelő nincs tárgy közelében.

Usage:
eye.near_object()

Paraméterek

Leírás

Ennek a metódusnak nincsenek paraméterei.

def main():
    # Stop driving when Eye Sensor is 
    # near an object
    drivetrain.drive(FORWARD)
    while True:
        if front_eye.near_object():
            drivetrain.stop()
        wait(5, MSEC)

# VR threads — Do not delete
vr_thread(main)

detect#

detect egy Boolean értéket ad vissza, amely jelzi, hogy a Szemérzékelő érzékeli-e a megadott színt a detektált színárnyalat alapján.

  • True — A szemérzékelő érzékeli a kiválasztott színt.

  • False — A szemérzékelő nem érzékeli a kiválasztott színt.

Usage:
eye.detect(color)

Paraméterek

Leírás

color

A szemérzékelő által ellenőrizendő szín:

  • BLUE
  • GREEN
  • NONE
  • RED
def main():
    # Stop the robot if the Eye Sensor 
    # detects red
    drivetrain.turn(RIGHT)
    while True:
        if front_eye.detect(RED):
            drivetrain.stop()
        wait(5, MSEC)

# VR threads — Do not delete
vr_thread(main)

brightness#

brightness értéke a tárgyról visszaverődő fény mennyiségét adja vissza decimális törtként (float), amely százalékot jelent.

A magasabb százalékos érték azt jelenti, hogy több fény verődik vissza a szemérzékelőre. Az alacsonyabb százalékos érték azt jelenti, hogy kevesebb fény verődik vissza.

Usage:
eye.brightness(units)

Paraméterek

Leírás

units

A fényerőt jelző mértékegység: PERCENT

Visszahívás#

object_detected#

object_detected regisztrál egy függvényt, amely minden alkalommal meghívódik, amikor a Szemérzékelő új objektumot észlel.

Usage:
eye.object_detected(callback)

Paraméterek

Leírás

callback

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

def detected():
    # Display a message
    drivetrain.stop()
    brain.print("object detected")
    wait(0.5,SECONDS)
    brain.clear()

def main():
    # Drive until an object is detected
    drivetrain.drive(FORWARD)
    front_eye.object_detected(detected)

# VR threads — Do not delete
vr_thread(main)

object_lost#

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

Usage:
eye.object_lost(callback)

Paraméterek

Leírás

callback

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

def lost():
    # Display a message
    drivetrain.stop()
    brain.print("object lost")
    wait(0.5,SECONDS)
    brain.clear()

def main():
    # Back away from an object
    drivetrain.drive(REVERSE)
    front_eye.object_lost(lost)

# VR threads — Do not delete
vr_thread(main)