Szem#
Bevezetés#
A VEX 123 robot beépített szemérzékelővel rendelkezik, amely képes tárgyakat és színeket érzékelni. Azt is képes jelenteni, hogy mennyi fény verődik vissza az érzékelőre, és milyen árnyalatú a detektált szín.
A Szemérzékelő egy be- és kikapcsolható lámpával rendelkezik, amely segít tisztábban látni a tárgyakat és a színeket.
A Szemérzékelő kódolásának számos módja van. Az alábbiakban felsoroljuk az összes Szem-módszert:
Mutátorok – Szemérzékelő beállításainak módosítása.
set_light— Be- vagy kikapcsolja a Szemérzékelő világítását.set_light_power— Beállítja a szemérzékelő fényerősségi szintjét.
Getterek – Visszaadja a szemérzékelő által érzékelt értékeket.
get_hue— Visszaadja a szemérzékelő által érzékelt színárnyalatot.get_brightness— Visszaadja a szemérzékelő által érzékelt fényerőt.is_object_detected— Visszaadja, hogy a Szemérzékelő érzékel-e tárgyat a hatótávolságon belül.is_color_detected— Visszaadja, hogy a Szemérzékelő érzékel-e egy adott színt.is_bright— Visszaadja, hogy a Szemérzékelő érzékel-e fényes tárgyat.
Mutátorok#
set_light#
set_light be- vagy kikapcsolja a Szemérzékelő világítását.
Usage:
robot.eye.set_light(state)
Paraméterek |
Leírás |
|---|---|
|
A szemérzékelő jelzőfényének állapota: |
# Continuously blink the light.
while True:
robot.eye.set_light(ON)
wait(2, SECONDS)
robot.eye.set_light(OFF)
wait(2, SECONDS)
set_light_power#
set_light_power Beállítja a Szemérzékelő fényének erősségét. A fény segíthet a Szemérzékelőnek a tárgyak és a színek tisztább érzékelésében.
A magasabb százalékos érték fényesebbé, az alacsonyabb százalékos érték pedig halványabbá teszi a fényt.
Ha a Szemérzékelő lámpája ki van kapcsolva, a fényerő 0% fölé állítása bekapcsolja a lámpát.
Ha a Szemérzékelő lámpája világít, a fényerő 0%-ra állítása kikapcsolja a lámpát.
Usage:
robot.eye.set_light_power(value)
Paraméterek |
Leírás |
|---|---|
|
A Szemérzékelő fényerejének beállítása 0%-tól 100%-ig. Egész számokat adjon meg. |
# Set the light to different power levels.
robot.eye.set_light_power(25)
wait(2, SECONDS)
robot.eye.set_light_power(50)
wait(2, SECONDS)
robot.eye.set_light_power(100)
Getterek#
get_hue#
get_hue Az Eye Sensor által érzékelt színt egész számként adja vissza 0 és 359,00 fok 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.

Usage:
robot.eye.get_hue()
Paraméterek |
Leírás |
|---|---|
Ennek a metódusnak nincsenek paraméterei. |
# Display if an object is pink.
while True:
console.clear()
if 290 < robot.eye.get_hue() < 350:
console.print("Pink!")
else:
console.print("Not pink!")
wait(0.1, SECONDS)
get_brightness#
get_brightness Visszaadja a detektált fény fényességét, egész számként 0%-tól 100%-ig.
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:
robot.eye.get_brightness()
Paraméterek |
Leírás |
|---|---|
Ennek a metódusnak nincsenek paraméterei. |
# Display whether a detected object is bright.
robot.eye.set_light_power(100)
robot.drive(FORWARD)
while not robot.eye.is_object_detected():
wait(0.1, SECONDS)
wait(0.1, SECONDS)
if robot.eye.get_brightness() < 70:
console.print("Object not bright.")
else:
console.print("Bright object!")
is_object_detected#
is_object_detected 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— A szemérzékelő tárgyat érzékel.False— A szemérzékelő nem érzékel tárgyat.
Usage:
robot.eye.is_object_detected()
Paraméterek |
Leírás |
|---|---|
Ennek a metódusnak nincsenek paraméterei. |
# Stop driving after detecting an object.
robot.eye.set_light(ON)
robot.drive(FORWARD)
wait(0.1, SECONDS)
while not robot.eye.is_object_detected():
wait(0.1, SECONDS)
robot.stop()
is_color_detected#
is_color_detected 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 értéke 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.
A Szemérzékelő akkor működik a legjobban, ha a tárgy közel van, és a megvilágítás tiszta.
Usage:
robot.eye.is_color_detected(color)
Paraméterek |
Leírás |
|---|---|
|
A szemérzékelő által ellenőrizendő szín:
|
# Stop driving after detecting a green object.
robot.eye.set_light(ON)
robot.drive(FORWARD)
wait(0.1, SECONDS)
while not robot.eye.is_color_detected(GREEN):
wait(0.1, SECONDS)
robot.stop()
is_bright#
is_bright egy Boolean értéket ad vissza, amely azt jelzi, hogy a Szemérzékelő által érzékelt objektum fényes-e.
Egy tárgy akkor tekinthető fényesnek, ha a fényerejének több mint 70%-át visszaveri a szemérzékelőre.
True— Az érzékelt objektum a fényerő több mint 70%-át visszaveri.False— Az érzékelt objektum legfeljebb 70%-os fényerővel ver vissza.
Usage:
robot.eye.is_bright()
Paraméterek |
Leírás |
|---|---|
Ennek a metódusnak nincsenek paraméterei. |
# Display whether a detected object is bright.
robot.eye.set_light_power(100)
robot.drive(FORWARD)
while not robot.eye.is_object_detected():
wait(0.1, SECONDS)
wait(0.1, SECONDS)
if robot.eye.is_bright():
console.print("Bright object!")
else:
console.print("Object not bright.")