Szem#
Bevezetés#
A VEX GO szemérzékelő képes tárgyak és színek érzékelésére. Azt is jelenti, 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ó jelzőfénnyel rendelkezik, amely segít tisztábban látni a tárgyakat és a színeket. A Szemérzékelő a NEAR vagy FAR tartományt is használhatja a különböző távolságokban lévő tárgyak érzékeléséhez.
A szemérzékelő a felépítéstől függően különböző pozíciókba helyezhető. Például a Code Base 2.0 - Szem előre felépítésnél a szemérzékelő előre néz. A Code Base 2.0 - Szem lefelé, a Code Base 2.0 - Szem + Elektromágnes és a Super Code Base 2.0 felépítéseknél a szemérzékelő lefelé néz.
Az alábbi példákban a konfigurált Eye Sensor neve eyeEzt a nevet használjuk a példákban Eye osztálymetódusok meghívására.
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_range— Beállítja, hogy a szemérzékelő milyen messziről érzékeljen egy tárgyat.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_color— Visszaadja a Szemérzékelő által érzékelt színt.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.
Mutátorok#
set_light#
set_light be- vagy kikapcsolja a Szemérzékelő világítását.
Usage:
eye.set_light(state)
Paraméterek |
Leírás |
|---|---|
|
A szemérzékelő jelzőfényének állapota: |
# Build Used: Super Code Base 2.0
def main():
# Turn the light on and off
while True:
eye.set_light(ON)
wait(2, SECONDS)
eye.set_light(OFF)
wait(2, SECONDS)
# Start threads — Do not delete
start_thread(main)
set_range#
set_range beállítja, hogy milyen messze lehet egy tárgy a szemérzékelőtől, mielőtt a rendszer érzékelné.
Minden projekt úgy kezdődik, hogy a Szemérzékelő alapértelmezés szerint FAR tartományra van állítva.
Usage:
eye.set_range(distance)
Paraméterek |
Leírás |
|---|---|
|
A szemérzékelő tárgyérzékelési tartománya. |
# Build Used: Code Base 2.0 - Eye Forward
def main():
# Drive to an object with different ranges
eye.set_range(FAR)
drivetrain.drive(FORWARD)
wait(0.2, SECONDS)
while not eye.is_object_detected():
wait(0.2, SECONDS)
drivetrain.drive_for(REVERSE, 100, MM)
# Closer detection range
eye.set_range(NEAR)
drivetrain.drive(FORWARD)
wait(0.2, SECONDS)
while not eye.is_object_detected():
wait(0.2, SECONDS)
drivetrain.stop()
# Start threads — Do not delete
start_thread(main)
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:
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. |
# Build Used: Super Code Base 2.0
def main():
# Turn on the light at different brightnesses
eye.set_light_power(25)
wait(2, SECONDS)
eye.set_light_power(50)
wait(2, SECONDS)
eye.set_light_power(100)
# Start threads — Do not delete
start_thread(main)
Getterek#
get_color#
get_color visszaadja a Szemérzékelő által érzékelt színt.
Ez a metódus a következőt adhatja vissza:
RED— Színárnyalatérték 340° és 20° közöttGREEN— 75° és 154° közötti színárnyalatértékBLUE— 160° és 254° közötti színárnyalatértékNONE— Egyik elérhető szín sem érzékelhető.
Usage:
eye.get_color()
Paraméterek |
Leírás |
|---|---|
Ennek a metódusnak nincsenek paraméterei. |
# Build Used: Super Code Base 2.0
def main():
# Stop when red is detected
drivetrain.drive(FORWARD)
while True:
if eye.get_color() == RED:
break
wait(0.2, SECONDS)
drivetrain.stop()
# Start threads — Do not delete
start_thread(main)
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:
eye.get_hue()
Paraméterek |
Leírás |
|---|---|
Ennek a metódusnak nincsenek paraméterei. |
# Build Used: Code Base 2.0 - Eye Forward
def main():
# Display the hue of a pink GO piece
while True:
console.clear()
if 10 < eye.get_hue() < 40:
console.print("Pink!")
wait(0.1,SECONDS)
else:
console.print("Not pink.")
wait(0.1,SECONDS)
# Start threads — Do not delete
start_thread(main)
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:
eye.get_brightness()
Paraméterek |
Leírás |
|---|---|
Ennek a metódusnak nincsenek paraméterei. |
# Build Used: Super Code Base 2.0
def main():
# Monitor the brightness until red is detected
monitor_sensor("eye.get_brightness")
drivetrain.drive(FORWARD)
while not eye.get_color() == RED:
wait(0.2, SECONDS)
drivetrain.stop()
# Start threads — Do not delete
start_thread(main)
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.
Az érzékelési tartomány set_range paraméterrel módosítható.
Usage:
eye.is_object_detected()
Paraméterek |
Leírás |
|---|---|
Ennek a metódusnak nincsenek paraméterei. |
# Build Used: Code Base 2.0 - Eye Forward
def main():
# Drive forward until an object is detected
drivetrain.drive(FORWARD)
wait(0.2, SECONDS)
while not eye.is_object_detected():
wait(0.5, SECONDS)
drivetrain.stop()
# Start threads — Do not delete
start_thread(main)
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 elég közel van az érzékeléshez, és a fény tiszta.
Usage:
eye.is_color_detected(color)
Paraméterek |
Leírás |
|---|---|
|
A szemérzékelő által ellenőrizendő szín:
|
# Build Used: Super Code Base 2.0
def main():
# Drive forward until a green object is detected
drivetrain.drive(FORWARD)
wait(0.2, SECONDS)
while not eye.is_color_detected(GREEN):
wait(0.5, SECONDS)
drivetrain.stop()
# Start threads — Do not delete
start_thread(main)