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.
get_hue— Vrátí odstín detekovaný senzorem oka.get_brightness— Vrátí jas detekovaný senzorem oka.is_object_detected— Vrátí, zda senzor oka detekuje objekt v dosahu.is_color_detected— Vrátí, zda senzor oka detekuje konkrétní barvu.is_bright— Vrátí, zda senzor oka detekuje jasný objekt.
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 |
|---|---|
|
Stav světla očního senzoru: |
# 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 |
|---|---|
|
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.

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 |
|---|---|
|
Barva, kterou má oční senzor kontrolovat:
|
# 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.")