Optique#
Introduction#
Le capteur optique est un capteur basé sur la lumière qui utilise la lumière réfléchie pour détecter les objets, identifier les couleurs et mesurer la luminosité et la teinte.
Vous pouvez également régler la luminosité de la lumière interne du capteur. Ces outils sont idéaux pour les programmes qui doivent réagir en temps réel aux objets colorés, aux conditions d’éclairage ou aux données du capteur.
Cette page utilise optical_1 comme exemple de nom de capteur optique. Remplacez-le par le nom que vous avez configuré, selon vos besoins.
Vous trouverez ci-dessous la liste de toutes les méthodes :
Actions — Allumer ou éteindre la LED du capteur optique.
set_light— Définit l’état allumé ou éteint de la LED.
Modificateurs — Ajustez la luminosité des LED et les paramètres de détection d’objets.
set_light_power— Définit la luminosité de la LED.object_detect_threshold— Définit le seuil de détection des objets.
Getters — Lecture de la présence de l’objet, de sa couleur, de sa luminosité, de sa teinte, de ses valeurs RGB et de l’état du capteur.
is_near_object— Renvoie si un objet détecté est proche du capteur optique.color— Renvoie la correspondance de couleur détectée la plus proche.brightness— Renvoie la luminosité d’un objet détecté.hue— Renvoie la teinte d’un objet détecté.rgb— Renvoie les valeurs RGB détectées par le capteur optique.installed— Indique si un capteur optique est connecté au cerveau.
Rappel — Exécuter du code lorsqu’un objet est détecté ou perdu.
object_detected— Enregistre une fonction à appeler lorsqu’un objet est détecté.object_lost— Enregistre une fonction à appeler lorsqu’un objet est perdu.
Constructeurs — Initialisez et configurez manuellement un capteur optique.
Optical— Crée un capteur optique.
Actes#
set_light#
set_light active, désactive ou définit le niveau de luminosité de la LED du capteur optique.
Usage:
optical_1.set_light(state)
Paramètres |
Description |
|---|---|
|
L’état permettant de régler la luminosité ou le pourcentage de puissance (de 0 à 100 %). Les valeurs possibles sont :
|
# Turn the LED on and off forever
while True:
optical_1.set_light(LedStateType.ON)
wait(0.5, SECONDS)
optical_1.set_light(LedStateType.OFF)
wait(0.5, SECONDS)
# Turn the LED on and off forever
while True:
optical_1.set_light(100)
wait(0.5, SECONDS)
optical_1.set_light(0)
wait(0.5, SECONDS)
Mutateurs#
set_light_power#
La commande set_light_power ajuste la luminosité de la lumière du capteur optique. Si la LED n’est pas déjà allumée, cette méthode l’allumera également.
Usage:
optical_1.set_light_power(value)
Paramètres |
Description |
|---|---|
|
Le niveau de puissance pour régler la lumière, de 0 à 100 en pourcentage. |
# Turn the LED light on at different
# intensities
optical_1.set_light(LedStateType.ON)
wait(2, SECONDS)
optical_1.set_light_power(10)
wait(2, SECONDS)
optical_1.set_light_power(100)
object_detect_threshold#
object_detect_threshold définit la plage de détection des objets par le capteur. Cette méthode renvoie également le seuil nouvellement défini.
Les nombres proches de 255 indiquent une plage plus restreinte, tandis que les nombres proches de 0 indiquent une plage plus étendue.
Usage:
optical_1.object_detect_threshold(value)
Paramètres |
Description |
|---|---|
|
Un nombre compris entre 0 et 255. La valeur 0 renverra simplement la valeur actuelle. |
def detected():
# The Brain will print that an object was detected on
# the Brain's screen.
brain.screen.print("object detected")
brain.screen.next_row()
optical_1.object_detect_threshold(254)
optical_1.object_detected(detected_closer)
def detected_closer():
# Detect an object closer to the sensor.
brain.screen.print("Detected closer")
# Run detected when the Optical Sensor detects an object.
optical_1.object_detect_threshold(100)
optical_1.object_detected(detected)
# Detect an object first with the detect threshold at 100,
# then again at 254
stage = 0
def detected():
global stage
if stage == 0:
brain.screen.print("Get closer...")
brain.screen.next_row()
stage = 1
optical_1.object_detect_threshold(254)
optical_1.object_detected(detected_closer)
def detected_closer():
global stage
if stage == 1:
brain.screen.print("Too close!")
brain.screen.next_row()
stage = 2
optical_1.object_detect_threshold(100)
optical_1.object_detected(detected)
wait(15, MSEC)
Getters#
is_near_object#
is_near_object indique si le capteur optique se trouve à proximité d’un objet.
True— Le capteur est proche d’un objet.False— Le capteur n’est pas à proximité d’un objet.
Usage:
optical_1.is_near_object()
Paramètres |
Description |
|---|---|
Cette méthode ne comporte aucun paramètre. |
# Stop driving when Optical Sensor is
# near an object
while True:
if optical_1.is_near_object():
drivetrain.stop()
else:
drivetrain.drive(FORWARD)
color#
La couleur color renvoie la couleur prédéfinie détectée par le capteur optique parmi les couleurs ci-dessous :
BLACKBLUECYANGREENORANGEPURPLEREDTRANSPARENTWHITEYELLOW
Usage:
optical_1.color()
Paramètres |
Description |
|---|---|
Cette méthode ne comporte aucun paramètre. |
# Stop the robot if the Optical Sensor
# detects red
while True:
if optical_1.color() == Color.RED:
drivetrain.stop()
else:
drivetrain.turn(RIGHT)
brightness#
brightness renvoie la luminosité détectée par le capteur optique.
Un pourcentage plus élevé signifie que le capteur optique détecte plus de lumière. Un pourcentage plus faible signifie que le capteur optique détecte moins de lumière.
Usage:
optical_1.brightness(readraw)
Paramètres |
Description |
|---|---|
|
Facultatif. Valeur booléenne indiquant si la luminosité brute doit être lue au lieu d’un pourcentage :
|
hue#
hue renvoie la valeur de la teinte détectée par le capteur optique sous forme de nombre flottant compris entre 0 et 359,99 degrés.
La teinte est une façon de décrire une couleur à l’aide de nombres sur un cercle chromatique, comme illustré ci-dessous.

Usage:
optical_1.hue()
Paramètres |
Description |
|---|---|
Cette méthode ne comporte aucun paramètre. |
# Check the hue of a detected object
# to determine if it is pink
while True:
brain.screen.clear_screen()
brain.screen.set_cursor(1, 1)
if 290 < optical_1.hue() < 350:
brain.screen.print("Pink!")
wait(0.1,SECONDS)
else:
brain.screen.print("Not pink.")
wait(0.1,SECONDS)
rgb#
rgb renvoie les valeurs rouge, verte, bleue et de luminosité détectées par le capteur optique sous forme de tuple.
Usage:
optical_1.rgb(raw)
Paramètres |
Description |
|---|---|
|
Facultatif. Valeur booléenne indiquant si les valeurs brutes ou traitées sont renvoyées :
|
# Display the rgb values and brightness detected
# by the Optical Sensor.
brain.screen.set_font(FontType.MONO12)
while True:
brain.screen.clear_screen()
brain.screen.set_cursor(1, 1)
brain.screen.print(optical_1.rgb())
wait(0.1, SECONDS)
installed#
installed renvoie une valeur booléenne indiquant si le capteur optique est connecté au cerveau.
True— Le capteur optique est connecté au cerveau.False— Le capteur optique n’est pas connecté au cerveau.
Usage:
optical_1.installed()
Paramètres |
Description |
|---|---|
Cette méthode ne comporte aucun paramètre. |
# Display a message if the Optical Sensor
# is installed.
if optical_1.installed():
brain.screen.print("Installed!")
Rappel#
object_detected#
object_detected enregistre une fonction de rappel pour lorsqu’un objet est détecté.
Usage:
optical_1.object_detected(callback, arg)
Paramètres |
Description |
|---|---|
|
Une fonction qui est préalablement définie pour s’exécuter lorsqu’un objet est détecté. |
|
Facultatif. Un tuple contenant les arguments à transmettre à la fonction de rappel. Voir Fonctions avec paramètres pour plus d’informations. |
def detected():
drivetrain.stop()
brain.screen.set_cursor(1, 1)
brain.screen.print("object detected")
wait(0.5,SECONDS)
brain.screen.clear_screen()
# Display a message when the
# Optical Sensor detects an object
drivetrain.drive(FORWARD)
optical_1.object_detected(detected)
object_lost#
object_lost enregistre une fonction de rappel pour le cas où le capteur optique perd un objet détecté.
Usage:
optical_1.object_lost(callback, arg)
Paramètres |
Description |
|---|---|
|
Une fonction qui a été préalablement définie pour s’exécuter lorsqu’un objet est perdu. |
|
Facultatif. Un tuple contenant les arguments à transmettre à la fonction de rappel. Voir Fonctions avec paramètres pour plus d’informations. |
def lost():
drivetrain.stop()
brain.screen.set_cursor(1, 1)
brain.screen.print("object lost")
wait(0.5,SECONDS)
brain.screen.clear_screen()
# Display a message when the Optical
# Sensor loses sight of on object
drivetrain.drive(REVERSE)
optical_1.object_lost(lost)
Constructeurs#
Les constructeurs sont utilisés pour créer manuellement Optical , qui sont nécessaires pour configurer un capteur optique en dehors de VEXcode.
Optical#
Optical crée un capteur optique.
Usage:
Optical(smartport)
Paramètre |
Description |
|---|---|
|
Le port intelligent auquel le capteur optique est connecté est noté PORTx, où x représente le numéro du port. |
# Construct an Optical Sensor "optical_1" with the
# Optical class
optical_1 = Optical(Ports.PORT1)
# Display the brightness of a red object detected
# by the Optical Sensor
drivetrain.turn(RIGHT)
while not optical_1.color() == Color.RED:
wait(50, MSEC)
drivetrain.stop()
brain.screen.print(optical_1.brightness())