Silmä#

Johdanto#

VEX 123 -robotissa on sisäänrakennettu silmäsensori, joka pystyy havaitsemaan esineitä ja värejä. Se voi myös raportoida, kuinka paljon valoa heijastuu takaisin sensorille ja havaitun värin sävyn.

Silmäsensorissa on valo, jonka voi kytkeä päälle tai pois päältä, jotta se näkee esineet ja värit selkeämmin.

Silmäanturin koodaamiseen on monia tapoja. Alla on luettelo kaikista silmämenetelmistä:

Mutaattorit — Säädä silmätunnistimen asetuksia.

  • set_light — Sytyttää tai sammuttaa silmätunnistimen valon.

  • set_light_power — Asettaa silmätunnistimen valotehotason.

Hakemisarvot — Palauttaa silmätunnistimen havaitsemat arvot.

  • get_hue — Palauttaa silmätunnistimen havaitseman sävyn.

  • get_brightness — Palauttaa silmätunnistimen havaitseman kirkkauden.

  • is_object_detected — Palauttaa, havaitseeko silmätunnistin kohteen kantaman sisällä.

  • is_color_detected — Palauttaa, havaitseeko silmätunnistin tietyn värin.

  • is_bright — Palauttaa, havaitseeko silmätunnistin kirkkaan kohteen.

Mutaattorit#

set_light#

set_light kytkee silmätunnistimen valon päälle tai pois päältä.

Usage:
robot.eye.set_light(state)

Parametrit

Kuvaus

state

Silmäanturin valon tila: OFF tai 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 määrittää silmätunnistimen valon kirkkauden. Valo voi auttaa silmätunnistinta havaitsemaan esineitä ja värejä selkeämmin.

Suurempi prosenttiosuus tekee valosta kirkkaampaa. Pienempi prosenttiosuus tekee valosta himmeämpää.

Jos silmäsensorin valo on pois päältä, valotehon asettaminen yli 0 %:n arvoon sytyttää valon.

Jos silmäsensorin valo palaa, valotehon asettaminen arvoon 0 % sammuttaa valon.

Usage:
robot.eye.set_light_power(value)

Parametrit

Kuvaus

value

Silmäanturin valon kirkkaus, 0–100 %. Käytä kokonaislukuja.

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

Getterit#

get_hue#

get_hue palauttaa silmätunnistimen havaitseman värin kokonaislukuna väliltä 0 - 359,00 astetta.

Sävy on tapa kuvata väriä käyttämällä numeroita väriympyrän ympärillä.

Pyöreä väriympyrä, joka näyttää täyden spektrin sävyjä, jotka on merkitty reunan ympärillä astearvoilla, kasvaen 30 asteen välein ylhäältä 0°:sta 360°:een.

Usage:
robot.eye.get_hue()

Parametrit

Kuvaus

Tällä menetelmällä ei ole parametreja.

# 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 palauttaa havaitun valon kirkkauden kokonaislukuna väliltä 0–100 %.

Korkeampi prosenttiosuus tarkoittaa, että silmäsensoriin heijastuu enemmän valoa. Matalampi prosenttiosuus tarkoittaa, että takaisin heijastuu vähemmän valoa.

Usage:
robot.eye.get_brightness()

Parametrit

Kuvaus

Tällä menetelmällä ei ole parametreja.

# 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 palauttaa Boolean, joka ilmoittaa, havaitseeko silmätunnistin kohteen kantaman sisällä.

  • True — Silmäanturi havaitsee kohteen.

  • False — Silmäanturi ei havaitse kohdetta.

Usage:
robot.eye.is_object_detected()

Parametrit

Kuvaus

Tällä menetelmällä ei ole parametreja.

# 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 palauttaa Boolean, joka raportoi, havaitseeko silmätunnistin tietyn värin havaitun sävyarvon perusteella.

  • True — Silmätunnistin tunnistaa valitun värin.

  • False — Silmätunnistin ei tunnista valittua väriä.

Silmätunnistin toimii parhaiten, kun kohde on lähellä ja valaistus on kirkas.

Usage:
robot.eye.is_color_detected(color)

Parametrit

Kuvaus

color

Silmäanturin tarkistettava väri:

  • BLUE – Sävyarvo välillä 160° ja 254°.
  • GREEN – Sävyarvo välillä 75° ja 154°.
  • NONE
  • RED – Sävyarvo välillä 340° ja 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 palauttaa Boolean, joka ilmoittaa, onko silmätunnistimen havaitsema kohde kirkas.

Kohdetta pidetään kirkkaana, kun se heijastaa yli 70 % kirkkaudestaan ​​takaisin silmätunnistimeen.

  • True — Havaittu kohde heijastaa yli 70 % kirkkaudestaan.

  • False — Havaittu kohde heijastaa 70 %:n kirkkautta tai vähemmän.

Usage:
robot.eye.is_bright()

Parametrit

Kuvaus

Tällä menetelmällä ei ole parametreja.

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