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 |
|---|---|
|
Silmäanturin valon tila: |
# 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 |
|---|---|
|
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ä.

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 |
|---|---|
|
Silmäanturin tarkistettava väri:
|
# 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.")