Olho#
Introdução#
O robô VEX 123 possui um sensor ocular integrado que deteta objetos e cores. Também informa a quantidade de luz refletida de volta para o sensor e o valor de matiz da cor detetada.
O sensor ocular possui uma luz que pode ser ligada ou desligada para ajudar a ver objetos e cores com mais clareza.
Existem muitas formas de programar o sensor ocular. Abaixo está uma lista de todos os métodos de programação ocular:
Modificadores — Ajustam as definições do sensor ocular.
set_light— Liga ou desliga a luz do sensor ocular.set_light_power— Define o nível de potência luminosa do sensor ocular.
Getters — Devolvem o que o sensor ocular deteta.
get_hue— Devolve a tonalidade detectada pelo sensor ocular.get_brightness— Retorna o brilho detectado pelo sensor ocular.is_object_detected— Retorna se o sensor ocular deteta um objeto dentro do alcance.is_color_detected— Retorna se o sensor ocular deteta uma cor específica.is_bright— Retorna se o sensor ocular deteta um objeto brilhante.
Mutantes#
set_light#
set_light liga ou desliga a luz do sensor ocular.
Usage:
robot.eye.set_light(state)
Parâmetros |
Descrição |
|---|---|
|
Estado da luz do sensor ocular: |
# 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 define a intensidade da luz do sensor ocular. Esta luz pode ajudar o sensor a detetar objetos e cores com mais clareza.
Uma percentagem maior torna a luz mais brilhante. Uma percentagem mais baixa torna a luz mais fraca.
Se a luz do sensor ocular estiver desligada, definir a potência da luz acima de 0% irá acendê-la.
Se a luz do sensor ocular estiver acesa, definir a potência da luz para 0% irá desligá-la.
Usage:
robot.eye.set_light_power(value)
Parâmetros |
Descrição |
|---|---|
|
O nível de brilho para o qual o sensor ocular deve ser configurado, de 0% a 100%. Utilize números inteiros. |
# 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)
Getters#
get_hue#
get_hue devolve a cor detectada pelo sensor ocular como um número inteiro de 0 a 359,00 graus.
O matiz é uma forma de descrever a cor utilizando números num círculo cromático.

Usage:
robot.eye.get_hue()
Parâmetros |
Descrição |
|---|---|
Este método não tem parâmetros. |
# 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 devolve o brilho da luz detectada, como um número inteiro de 0% a 100%.
Uma percentagem mais elevada significa que mais luz é refletida de volta para o sensor ocular. Uma percentagem mais baixa significa que menos luz é refletida de volta.
Usage:
robot.eye.get_brightness()
Parâmetros |
Descrição |
|---|---|
Este método não tem parâmetros. |
# 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 devolve um Boolean que informa se o sensor ocular detecta ou não um objecto dentro do alcance.
True— O sensor ocular deteta um objeto.False— O sensor ocular não detetou qualquer objeto.
Usage:
robot.eye.is_object_detected()
Parâmetros |
Descrição |
|---|---|
Este método não tem parâmetros. |
# 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 devolve um Boolean que informa se o sensor ocular detecta uma cor especificada, com base no valor de matiz detectado.
True— O sensor ocular deteta a cor selecionada.False— O sensor ocular não detetou a cor selecionada.
O sensor ocular funciona melhor quando o objeto está próximo e a iluminação é clara.
Usage:
robot.eye.is_color_detected(color)
Parâmetros |
Descrição |
|---|---|
|
A cor que o sensor ocular deve verificar:
|
# 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 devolve um Boolean que informa se o objecto detectado pelo sensor ocular é brilhante.
Um objeto é considerado brilhante quando reflete mais de 70% do seu brilho de volta para o sensor ocular.
True— O objeto detetado reflete mais de 70% de brilho.False— O objeto detetado reflete 70% de brilho ou menos.
Usage:
robot.eye.is_bright()
Parâmetros |
Descrição |
|---|---|
Este método não tem parâmetros. |
# 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.")