Oko#

Zavedení#

Robot VEX 123 má vestavěný oční senzor, který dokáže detekovat objekty a barvy. Dokáže také hlásit, kolik světla se odráží zpět k senzoru a jakou hodnotu odstínu detekované barvy.

Oční senzor má světlo, které lze zapnout nebo vypnout, aby lépe viděl objekty a barvy.

Existuje mnoho způsobů, jak kódovat senzor oka. Níže je uveden seznam všech metod pro práci s okem:

Mutátory – Upravte nastavení očního senzoru.

  • set_light — Zapne nebo vypne světlo očního senzoru.

  • set_light_power — Nastaví úroveň osvětlení očního senzoru.

Gettery – Vrací hodnotu detekovanou senzorem oka.

Mutátory#

set_light#

set_light zapíná nebo vypíná světlo očního senzoru.

Usage:
robot.eye.set_light(state)

Parametry

Popis

state

Stav světla očního senzoru: OFF nebo 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 nastavuje jas světla očního senzoru. Světlo může pomoci očnímu senzoru jasněji detekovat objekty a barvy.

Vyšší procento světlo zesílí. Nižší procento světlo ztlumí.

Pokud je světlo očního senzoru vypnuté, nastavení výkonu světla nad 0 % světlo zapne.

Pokud je světlo očního senzoru zapnuté, nastavení výkonu světla na 0 % světlo vypne.

Usage:
robot.eye.set_light_power(value)

Parametry

Popis

value

Jas, na který se má nastavit světlo očního senzoru, od 0 % do 100 %. Používejte celá čísla.

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

Gettery#

get_hue#

Funkce get_hue vrací barvu detekovanou senzorem oka jako celé číslo od 0 do 359,00 stupňů.

Odstín je způsob, jak popsat barvu pomocí čísel v barevném kruhu.

Kruhové barevné kolo zobrazující celé spektrum odstínů označených stupni po obvodu, které se zvyšují v krocích po 30 stupních od 0° nahoře do 360°.

Usage:
robot.eye.get_hue()

Parametry

Popis

Tato metoda nemá žádné parametry.

# 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 vrací jas detekovaného světla jako celé číslo od 0 % do 100 %.

Vyšší procento znamená, že se zpět k očnímu senzoru odráží více světla. Nižší procento znamená, že se zpět odráží méně světla.

Usage:
robot.eye.get_brightness()

Parametry

Popis

Tato metoda nemá žádné parametry.

# 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 vrací hodnotu typu Boolean, která hlásí, zda senzor oka detekuje objekt v dosahu.

  • True — Snímač oka detekuje objekt.

  • False — Snímač oka nedetekuje objekt.

Usage:
robot.eye.is_object_detected()

Parametry

Popis

Tato metoda nemá žádné parametry.

# 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 vrací hodnotu typu Boolean, která hlásí, zda senzor oka detekuje zadanou barvu na základě detekované hodnoty odstínu.

  • True — Snímač oka detekuje vybranou barvu.

  • False — Snímač oka nedetekuje vybranou barvu.

Snímač oka funguje nejlépe, když je objekt blízko a osvětlení je jasné.

Usage:
robot.eye.is_color_detected(color)

Parametry

Popis

color

Barva, kterou má oční senzor kontrolovat:

  • BLUE – Hodnota odstínu mezi 160° a 254°.
  • GREEN – Hodnota odstínu mezi 75° a 154°.
  • NONE
  • RED – Hodnota odstínu mezi 340° a 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 vrací hodnotu Boolean, která hlásí, zda je objekt detekovaný senzorem oka jasný.

Objekt je považován za jasný, když odráží zpět do očního senzoru více než 70 % jasu.

  • True — Detekovaný objekt odráží více než 70 % jasu.

  • False — Detekovaný objekt odráží 70 % jasu nebo méně.

Usage:
robot.eye.is_bright()

Parametry

Popis

Tato metoda nemá žádné parametry.

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