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

state

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

# 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

distance

Akių jutiklio objektų aptikimo diapazonas. NEAR aptinka objektus iki 18 milimetrų atstumu, o FAR aptinka objektus iki 40 milimetrų atstumu.

# 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

value

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

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:
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

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

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