Akis#

Įvadas#

„VEX 123“ robotas turi įmontuotą akių jutiklį, kuris gali aptikti objektus ir spalvas. Jis taip pat gali pranešti, kiek šviesos atsispindi atgal į jutiklį, ir aptiktos spalvos atspalvio vertę.

Akių jutiklis turi šviesą, kurią galima įjungti arba išjungti, kad būtų lengviau matyti objektus ir spalvas.

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_light_power — Nustato akių jutiklio šviesos galios lygį.

Getteriai – Grąžina tai, ką aptinka akių jutiklis.

  • 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ą.

  • is_bright – Grąžina, ar akių jutiklis aptinka ryškų objektą.

Mutatoriai#

set_light#

set_light įjungia arba išjungia akių jutiklio apšvietimą.

Usage:
robot.eye.set_light(state)

Parametrai

Aprašymas

state

Akių jutiklio lemputės būsena: OFF arba ON.

# 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 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:
robot.eye.set_light_power(value)

Parametrai

Aprašymas

value

Akių jutiklio šviesos ryškumas nuo 0 % iki 100 %. Naudokite sveikuosius skaičius.

# 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)

Getteriai#

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ą.

Apskritas spalvų ratas, rodantis visą atspalvių spektrą, pažymėtą laipsnių reikšmėmis aplink perimetrą, didėjant 30 laipsnių žingsniais nuo 0° viršuje iki 360°.

Usage:
robot.eye.get_hue()

Parametrai

Aprašymas

Šis metodas neturi parametrų.

# 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 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:
robot.eye.get_brightness()

Parametrai

Aprašymas

Šis metodas neturi parametrų.

# 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 grąžina Boolean, kuri praneša, ar akių jutiklis aptinka objektą diapazone.

  • True — Akių jutiklis aptinka objektą.

  • False — Akių jutiklis neaptinka objekto.

Usage:
robot.eye.is_object_detected()

Parametrai

Aprašymas

Šis metodas neturi parametrų.

# 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 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 arti ir apšvietimas skaidrus.

Usage:
robot.eye.is_color_detected(color)

Parametrai

Aprašymas

color

Spalva, kurią turi tikrinti akių jutiklis:

  • BLUE – atspalvio reikšmė nuo 160° iki 254°.
  • GREEN – atspalvio reikšmė nuo 75° iki 154°.
  • NONE
  • RED – atspalvio reikšmė nuo 340° iki 20°.

# 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 grąžina Boolean, kuri praneša, ar akių jutiklio aptiktas objektas yra ryškus.

Objektas laikomas ryškiu, kai jis atspindi daugiau nei 70 % ryškumo atgal į akių jutiklį.

  • True — Aptiktas objektas atspindi daugiau nei 70 % ryškumo.

  • False — Aptiktas objektas atspindi 70 % arba mažesnį ryškumą.

Usage:
robot.eye.is_bright()

Parametrai

Aprašymas

Šis metodas neturi parametrų.

# 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.")