Oog#

Invoering#

De VEX 123-robot heeft een ingebouwde oogsensor die objecten en kleuren kan detecteren. Hij kan ook rapporteren hoeveel licht er naar de sensor terugkaatst en de tintwaarde van de gedetecteerde kleur.

De oogsensor heeft een lampje dat aan of uit gezet kan worden om objecten en kleuren beter te kunnen zien.

Er zijn veel manieren om de oogsensor te programmeren. Hieronder vindt u een lijst met alle methoden voor de oogsensor:

Mutators — Pas de instellingen van de oogsensor aan.

  • set_light — Schakelt het licht van de oogsensor aan of uit.

  • set_light_power — Stelt het lichtvermogen van de oogsensor in.

Getters — Retourneer wat de oogsensor detecteert.

  • get_hue — Retourneert de tint die door de oogsensor is gedetecteerd.

  • get_brightness — Geeft de helderheid terug die door de oogsensor is gedetecteerd.

  • is_object_detected — Geeft aan of de oogsensor een object binnen bereik detecteert.

  • is_color_detected — Geeft aan of de oogsensor een specifieke kleur detecteert.

  • is_bright — Geeft aan of de oogsensor een helder object detecteert.

Mutators#

set_light#

set_light schakelt het licht van de oogsensor aan of uit.

Usage:
robot.eye.set_light(state)

Parameters

Beschrijving

state

De status van het lampje van de oogsensor: OFF of 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 stelt de helderheid van het licht van de oogsensor in. Het licht kan de oogsensor helpen objecten en kleuren duidelijker te detecteren.

Een hoger percentage maakt het licht feller. Een lager percentage maakt het licht minder fel.

Als het lampje van de oogsensor uit is, zal het inschakelen wanneer het lampje hoger dan 0% wordt ingesteld.

Als het lampje van de oogsensor brandt, wordt het uitgeschakeld door het vermogen op 0% te zetten.

Usage:
robot.eye.set_light_power(value)

Parameters

Beschrijving

value

De helderheid die je wilt instellen voor de verlichting van de oogsensor, van 0% tot 100%. Gebruik hele getallen.

# 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 retourneert de kleur die door de oogsensor is gedetecteerd als een geheel getal van 0 tot 359,00 graden.

Tint is een manier om kleur te beschrijven met behulp van getallen op een kleurencirkel.

Een cirkelvormig kleurenwiel dat een volledig spectrum aan tinten weergeeft, gelabeld met gradenwaarden rond de omtrek, oplopend in stappen van 30 graden van 0° bovenaan tot 360°.

Usage:
robot.eye.get_hue()

Parameters

Beschrijving

Deze methode heeft geen parameters.

# 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 geeft de helderheid van het gedetecteerde licht weer als een geheel getal van 0% tot 100%.

Een hoger percentage betekent dat er meer licht teruggekaatst wordt naar de oogsensor. Een lager percentage betekent dat er minder licht teruggekaatst wordt.

Usage:
robot.eye.get_brightness()

Parameters

Beschrijving

Deze methode heeft geen parameters.

# 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 retourneert een Boolean die aangeeft of de oogsensor een object binnen bereik detecteert of niet.

  • True — De oogsensor detecteert een object.

  • False — De oogsensor detecteert geen object.

Usage:
robot.eye.is_object_detected()

Parameters

Beschrijving

Deze methode heeft geen parameters.

# 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 retourneert een Boolean die aangeeft of de oogsensor een bepaalde kleur detecteert, op basis van de gedetecteerde tintwaarde.

  • True — De oogsensor detecteert de geselecteerde kleur.

  • False — De oogsensor detecteert de geselecteerde kleur niet.

De oogsensor werkt het beste wanneer het object dichtbij is en de verlichting helder is.

Usage:
robot.eye.is_color_detected(color)

Parameters

Beschrijving

color

De kleur die de oogsensor moet controleren:

  • BLUE – Tintwaarde tussen 160° en 254°.
  • GREEN – Tintwaarde tussen 75° en 154°.
  • NONE
  • RED – Tintwaarde tussen 340° en 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 retourneert een Boolean die aangeeft of het object dat door de Eye Sensor is gedetecteerd helder is.

Een object wordt als helder beschouwd wanneer het meer dan 70% van zijn helderheid terugkaatst naar de oogsensor.

  • True — Het gedetecteerde object reflecteert meer dan 70% van de helderheid.

  • False — Het gedetecteerde object reflecteert 70% helderheid of minder.

Usage:
robot.eye.is_bright()

Parameters

Beschrijving

Deze methode heeft geen parameters.

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