Akis#
Įvadas#
„VEX GO“ akių jutiklis gali aptikti objektus ir spalvas. Jis taip pat gali pranešti, kiek šviesos atsispindi jutiklyje, ir aptiktos spalvos atspalvio vertę.
Akių jutiklis turi šviesą, kurią galima įjungti arba išjungti, kad būtų lengviau matyti objektus ir spalvas. Akių jutiklis taip pat gali naudoti NEAR arba FAR diapazoną, kad aptiktų objektus skirtingais atstumais.
Akių jutiklį galima išdėstyti skirtingose vietose, priklausomai nuo konstrukcijos tipo. Pavyzdžiui, „Code Base 2.0 – Eye Forward“ konstrukcijos tipo atveju akių jutiklis yra nukreiptas į priekį. „Code Base 2.0 – Eye Down“, „Code Base 2.0 – Eye + Electromagnet“ ir „Super Code Base 2.0“ konstrukcijos tipo atveju akių jutiklis yra nukreiptas žemyn.
Žemiau pateiktuose pavyzdžiuose sukonfigūruotas „Eye Sensor“ yra pavadintas eye. Šis pavadinimas pavyzdžiuose naudojamas iškviečiant Eye “ klasės metodus.
Yra daug būdų, kaip koduoti akių jutiklį. Žemiau pateikiamas visų akių metodų sąrašas:
Mutatoriai – koreguokite akių jutiklio nustatymus.
set_light— Įjungia arba išjungia akių jutiklio apšvietimą.set_range— Nustato, kokiu atstumu akių jutiklis gali aptikti objektą.set_light_power— Nustato akių jutiklio šviesos galios lygį.
Getteriai – Grąžina tai, ką aptinka akių jutiklis.
get_color— Grąžina akių jutiklio aptiktą spalvą.get_hue— Grąžina akių jutiklio aptiktą atspalvį.get_brightness— Grąžina akių jutiklio aptiktą ryškumą.is_object_detected— Grąžina, ar akių jutiklis aptinka objektą diapazone.is_color_detected— Grąžina, ar akių jutiklis aptinka konkrečią spalvą.
Mutatoriai#
set_light#
set_light įjungia arba išjungia akių jutiklio apšvietimą.
Usage:
eye.set_light(state)
Parametrai |
Aprašymas |
|---|---|
|
Akių jutiklio lemputės būsena: |
# 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 nustato, kokiu atstumu objektas gali būti nuo akių jutiklio, kad jį būtų galima aptikti.
Kiekvienas projektas pradedamas nustačius akių jutiklio numatytąją reikšmę FAR.
Usage:
eye.set_range(distance)
Parametrai |
Aprašymas |
|---|---|
|
Akių jutiklio objektų aptikimo diapazonas. |
# 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 nustato akių jutiklio šviesos ryškumą. Šviesa gali padėti akių jutikliui aiškiau aptikti objektus ir spalvas.
Didesnis procentas šviesą daro ryškesnę, o mažesnis procentas – pritemdytą.
Jei akių jutiklio lemputė išjungta, nustačius šviesos galią virš 0 %, lemputė įsijungs.
Jei akių jutiklio lemputė įjungta, nustačius šviesos galią į 0 %, lemputė išsijungs.
Usage:
eye.set_light_power(value)
Parametrai |
Aprašymas |
|---|---|
|
Akių jutiklio šviesos ryškumas nuo 0 % iki 100 %. Naudokite sveikuosius skaičius. |
# 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)
Getteriai#
get_color#
get_color grąžina akių jutiklio aptiktą spalvą.
Šis metodas gali grąžinti:
RED— atspalvio reikšmė nuo 340° iki 20°GREEN— Atspalvio reikšmė nuo 75° iki 154°BLUE— Atspalvio reikšmė nuo 160° iki 254°NONE— Neaptikta nė viena iš galimų spalvų.
Usage:
eye.get_color()
Parametrai |
Aprašymas |
|---|---|
Šis metodas neturi parametrų. |
# 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 grąžina akių jutiklio aptiktą spalvą kaip sveikąjį skaičių nuo 0 iki 359,00 laipsnių.
Atspalvis yra būdas apibūdinti spalvą skaičiais aplink spalvų ratą.

Usage:
eye.get_hue()
Parametrai |
Aprašymas |
|---|---|
Šis metodas neturi parametrų. |
# 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 grąžina aptiktos šviesos ryškumą sveikuoju skaičiumi nuo 0% iki 100%.
Didesnis procentas reiškia, kad daugiau šviesos atsispindi atgal į akių jutiklį. Mažesnis procentas reiškia, kad atsispindi mažiau šviesos.
Usage:
eye.get_brightness()
Parametrai |
Aprašymas |
|---|---|
Šis metodas neturi parametrų. |
# 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 grąžina Boolean, kuri praneša, ar akių jutiklis aptinka objektą diapazone.
True— Akių jutiklis aptinka objektą.False— Akių jutiklis neaptinka objekto.
Aptikimo diapazoną galima pakeisti naudojant set_range.
Usage:
eye.is_object_detected()
Parametrai |
Aprašymas |
|---|---|
Šis metodas neturi parametrų. |
# 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 grąžina Boolean, kuri praneša, ar akių jutiklis aptinka nurodytą spalvą, remiantis aptikta atspalvio reikšme.
True— Akių jutiklis aptinka pasirinktą spalvą.False— Akių jutiklis neaptinka pasirinktos spalvos.
Akių jutiklis geriausiai veikia, kai objektas yra pakankamai arti, kad jį aptiktų, ir apšvietimas yra skaidrus.
Usage:
eye.is_color_detected(color)
Parametrai |
Aprašymas |
|---|---|
|
Spalva, kurią turi tikrinti akių jutiklis:
|
# 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)