Œil#

Introduction#

Le capteur oculaire VEX GO détecte les objets et les couleurs. Il indique également la quantité de lumière réfléchie et la teinte de la couleur détectée.

Le capteur oculaire est doté d’une lumière activable ou désactivable qui améliore la netteté de la vision des objets et des couleurs. Il peut également utiliser une plage de détection NEAR ou FAR pour identifier les objets à différentes distances.

Le capteur oculaire peut être positionné différemment selon la configuration. Par exemple, dans la configuration Code Base 2.0 - Eye Forward, le capteur oculaire est orienté vers l’avant. Dans les configurations Code Base 2.0 - Eye Down, Code Base 2.0 - Eye + Electromagnet et Super Code Base 2.0, le capteur oculaire est orienté vers le bas.

Dans les exemples ci-dessous, le capteur oculaire configuré est nommé eyeCe nom est utilisé dans les exemples pour appeler les méthodes de classe Eye.

Il existe plusieurs façons de programmer le capteur oculaire. Vous trouverez ci-dessous la liste de toutes les méthodes de programmation oculaire :

Modificateurs — Ajustez les paramètres du capteur oculaire.

  • set_light — Allume ou éteint la lumière du capteur oculaire.

  • set_range — Définit la distance à laquelle le capteur oculaire peut détecter un objet.

  • set_light_power — Définit le niveau de puissance lumineuse du capteur oculaire.

Récupérateurs — Renvoient ce que le capteur oculaire détecte.

  • get_color — Renvoie la couleur détectée par le capteur oculaire.

  • get_hue — Renvoie la teinte détectée par le capteur oculaire.

  • get_brightness — Renvoie la luminosité détectée par le capteur oculaire.

  • is_object_detected — Renvoie si le capteur oculaire détecte un objet à portée.

  • is_color_detected — Renvoie si le capteur oculaire détecte une couleur spécifique.

Mutateurs#

set_light#

La commande set_light allume ou éteint la lumière du capteur oculaire.

Usage:
eye.set_light(state)

Paramètres

Description

state

État de la lumière du capteur oculaire : ON ou 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 définit la distance maximale à laquelle un objet peut se trouver du capteur oculaire avant de pouvoir être détecté.

Chaque projet commence avec le capteur oculaire réglé par défaut sur la plage FAR.

Usage:
eye.set_range(distance)

Paramètres

Description

distance

Portée de détection d’objets du capteur oculaire. NEAR détecte les objets jusqu’à 18 millimètres de distance, tandis que FAR détecte les objets jusqu’à 40 millimètres de distance.

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

La valeur set_light_power détermine l’intensité lumineuse du capteur oculaire. Cette lumière peut aider le capteur oculaire à détecter plus clairement les objets et les couleurs.

Un pourcentage plus élevé rend la lumière plus intense. Un pourcentage plus faible rend la lumière plus faible.

Si le voyant du capteur oculaire est éteint, régler la puissance de l’éclairage au-dessus de 0 % l’allumera.

Si le voyant du capteur oculaire est allumé, régler la puissance de l’éclairage à 0 % éteindra la lumière.

Usage:
eye.set_light_power(value)

Paramètres

Description

value

Réglage de la luminosité du capteur oculaire, de 0 % à 100 %. Utilisez des nombres entiers.

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

Getters#

get_color#

get_color renvoie la couleur détectée par le capteur oculaire.

Cette méthode peut renvoyer :

  • RED — Une valeur de teinte comprise entre 340° et 20°

  • GREEN — Une valeur de teinte comprise entre 75° et 154°

  • BLUE — Une valeur de teinte comprise entre 160° et 254°

  • NONE — Aucune des couleurs disponibles n’est détectée.

Usage:
eye.get_color()

Paramètres

Description

Cette méthode ne comporte aucun paramètre.

# 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 renvoie la couleur détectée par le capteur oculaire sous forme d’un nombre entier compris entre 0 et 359,00 degrés.

La teinte est une façon de décrire une couleur à l’aide de nombres sur un cercle chromatique.

Une roue chromatique circulaire affichant un spectre complet de teintes étiquetées avec des valeurs en degrés sur le périmètre, augmentant par incréments de 30 degrés de 0° en haut à 360°.

Usage:
eye.get_hue()

Paramètres

Description

Cette méthode ne comporte aucun paramètre.

# 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 renvoie la luminosité de la lumière détectée, sous forme d’un nombre entier compris entre 0 % et 100 %.

Un pourcentage plus élevé signifie qu’une plus grande quantité de lumière est réfléchie vers le capteur oculaire. Un pourcentage plus faible signifie qu’une moindre quantité de lumière est réfléchie.

Usage:
eye.get_brightness()

Paramètres

Description

Cette méthode ne comporte aucun paramètre.

# 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 renvoie un Boolean qui indique si le capteur oculaire détecte ou non un objet à portée.

  • True — Le capteur oculaire détecte un objet.

  • False — Le capteur oculaire ne détecte aucun objet.

La portée de détection peut être modifiée à l’aide de set_range.

Usage:
eye.is_object_detected()

Paramètres

Description

Cette méthode ne comporte aucun paramètre.

# 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 renvoie un Boolean qui indique si le capteur oculaire détecte une couleur spécifiée, en fonction de la valeur de teinte détectée.

  • True — Le capteur oculaire détecte la couleur sélectionnée.

  • False — Le capteur oculaire ne détecte pas la couleur sélectionnée.

Le capteur oculaire fonctionne de manière optimale lorsque l’objet est suffisamment proche pour être détecté et que l’éclairage est clair.

Usage:
eye.is_color_detected(color)

Paramètres

Description

color

Couleur à vérifier par le capteur oculaire :

  • BLUE – Valeur de teinte entre 160° et 254°.
  • GREEN – Valeur de teinte entre 75° et 154°.
  • NONE
  • RED – Valeur de teinte entre 340° et 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)