Optikai érzékelő#

Bevezetés#

A V5 optikai érzékelő RGB színérzékelő és közelségérzékelő kombinációjának segítségével érzékeli a közeli tárgyak színét, fényerejét és jelenlétét. A beépített LED-et is használhatja a tárgyak megvilágítására a pontosabb érzékelés érdekében.

A VEX V5 optikai érzékelő.

Ez az oldal optical_sensor értéket használja példaként az optikai érzékelő nevére. Szükség szerint cserélje ki a saját konfigurált névre.

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

  • set_light – Be- vagy kikapcsolja az optikai érzékelő LED-jét.

  • set_light_power – Beállítja az optikai érzékelő fényerősségi szintjét.

  • is_near_object – Visszaadja, hogy az optikai érzékelő érzékel-e objektumot a hatótávolságon belül.

  • color – Visszaadja az optikai érzékelő által érzékelt színt.

  • brightness – Visszaadja az objektumról visszaverődő fény mennyiségét.

  • hue – Visszaadja az optikai érzékelő által érzékelt színárnyalatot.

  • object_detected – Regisztrál egy függvényt, amely akkor hívódik meg, amikor az optikai érzékelő objektumot érzékel.

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

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

  • Optical – Optikai érzékelőt hoz létre.

beállított_fény#

set_light be- és kikapcsolja az optikai érzékelő LED-jét. Ez segíthet növelni az érzékelő pontosságát a színek érzékelésekor.

Usage:
optical_sensor.set_light(state)

Paraméterek

Leírás

állami

Be- vagy kikapcsolja a LED-et. LEDStateType.ON 100%-os fényerő fokozaton kapcsolja be a lámpát. LEDStateType.OFF Kikapcsolja.

# Turn on the sensor's LED
optical_sensor.set_light(LEDStateType.ON)

beállítani_fény_erőt#

set_light_power Az optikai érzékelő LED-jének fényerejét állítja be. A fény segíthet az optikai érzékelőnek a tárgyak és a színek tisztább érzékelésében.

Ha az optikai érzékelő lámpája ki van kapcsolva, a fényerő 0% fölé állítása bekapcsolja a lámpát.

Ha az optikai érzékelő lámpája világít, a fényerő 0%-ra állítása kikapcsolja a lámpát.

A magasabb százalékos érték fényesebbé, az alacsonyabb százalékos érték pedig halványabbá teszi a fényt.

Usage:
optical_sensor.set_light_power(percent, units)

Paraméterek

Leírás

százalékos

A LED fényerejének beállítása egész számként.

egységek

Opcionális. A fényerőt jelző mértékegység: PERCENT

# Turn on the sensor's light at half brightness
optical_sensor.set_light_power(50, PERCENT)

tárgy_közelében van#

is_near_object egy logikai értéket ad vissza, amely azt jelzi, hogy az optikai érzékelő érzékel-e objektumot a hatótávolságon belül.

  • True – Az optikai érzékelő objektumot érzékel.

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

Usage:
optical_sensor.is_near_object()

Paraméterek

Leírás

Ennek a metódusnak nincsenek paraméterei.

# Drive forward until an object is found
drivetrain.drive(FORWARD)
while not optical_sensor.is_near_object():
  pass
drivetrain.stop()

szín#

color egy Color class osztály egy példányát adja vissza a detektált színárnyalat-érték alapján. Ezek összehasonlíthatók előre definiált Color objektumokkal feltételes utasítások létrehozásához.

Lehetséges színek a következők:

  • Color.BLACK

  • Color.WHITE

  • Color.RED - Színárnyalat 340° és 20° között

  • Color.GREEN - 80° és 140° közötti színárnyalatérték

  • Color.BLUE - 200° és 240° közötti színárnyalatérték

  • Color.YELLOW - 40° és 60° közötti színárnyalatérték

  • Color.ORANGE - 20° és 40° közötti színárnyalatérték

  • Color.PURPLE - 240° és 280° közötti színárnyalatérték

  • Color.CYAN - 140° és 200° közötti színárnyalatérték

Megjegyzés: Az optikai érzékelő a megadott színnek megfelelő színárnyalat-tartományokat keresi. Az adott színárnyalat-tartományok észleléséhez lásd: hue.

Usage:
optical_sensor.color()

Paraméterek

Leírás

Ennek a metódusnak nincsenek paraméterei.

# Drive forward until red is found
drivetrain.drive(FORWARD)
while not optical_sensor.color() == Color.RED:
  pass
drivetrain.stop()

fényesség#

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 az optikai érzékelőre. Az alacsonyabb százalékos érték azt jelenti, hogy kevesebb fény verődik vissza.

Usage:
optical_sensor.brightness()

Paraméterek

Leírás

Ennek a metódusnak nincsenek paraméterei.

színárnyalat#

hue Az 1-es paraméter visszaadja a detektált szín árnyalatértékét decimális alakban (float) 0 és 359 között.

A színárnyalat a színek leírásának egy módja, számok segítségével, egy színkör körül.

A VEX színkör egy körben mutatja a színek fokozatait, ahol a piros 0 fokon áll, és a növekvő értékkel áthalad a szivárványon.

Usage: optical_sensor.hue()

Paraméterek

Leírás

Ennek a metódusnak nincsenek paraméterei.

# Look for the color pink using hue
while True:
  brain.screen.clear_screen()
  brain.screen.set_cursor(1, 1)

  if 300 < optical_sensor.hue() < 359:
    brain.screen.print("This is pink!")
  else:
    brain.screen.print("No pink detected!")

objektum_észlelt#

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

Usage:
optical_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 optikai érzékelő új objektumot észlel.

arg

Opcionális. Egy tuple, amely argumentumokat tartalmaz a visszahívó függvénynek átadandó. További információkért lásd a Függvények használata paraméterekkel részt.

def my_function():
  brain.screen.print("Optical Sensor detected an object")

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

elveszett_objektum#

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

Usage:
optical_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 optikai érzékelő elveszít egy érzékelt objektumot.

arg

Opcionális. Egy tuple, amely argumentumokat tartalmaz a visszahívó függvénynek átadandó. További információkért lásd a Függvények használata paraméterekkel részt.

def my_function():
  brain.screen.print("Optical Sensor lost an object")

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

Konstruktőr#

A konstruktorokat Optical objektumok manuális létrehozására használjuk, amelyek szükségesek egy optikai érzékelő VEXcode-on kívüli konfigurálásához.

Optical#

Optical létrehoz egy optikai érzékelőt.

Usage:
Optical(smartport)

Paraméter

Leírás

smartport

Az optikai érzékelőhöz csatlakoztatott intelligens port, amelyet a következőképpen írunk fel: Ports.PORTx , ahol x a port száma.

# Create an Optical Sensor in Port 10
optical_sensor = Optical(Ports.PORT10)