Capteur optique#
Introduction#
La classe optique optical permet d’accéder aux données du capteur optique. Elle utilise la lumière réfléchie pour détecter les objets, identifier les couleurs et mesurer la luminosité et la teinte.
Constructeur de classe#
optical Optical = optical(index);
Destructeur de classe#
Détruit l’objet optique optical et libère les ressources associées.
virtual ~optical();
Paramètres#
Paramètre |
Taper |
Description |
|---|---|---|
|
|
Le port intelligent auquel le capteur optique est connecté, écrit sous la forme |
Exemples#
// Create an optical instance in Port 1
optical Optical1 = optical(PORT1);
Fonctions des membres#
La classe optique optical comprend les fonctions membres suivantes :
setLight— Allume ou éteint la LED du capteur optique.setLightPower— Définit le niveau de puissance lumineuse du capteur optique.isNearObject— Renvoie si le capteur optique détecte ou non un objet à portée.colorname— Returns the color detected by the Optical Sensor.brightness— Renvoie la quantité de lumière réfléchie par l’objet.hue— Renvoie la teinte détectée par le capteur optique.objectDetected— Enregistre une fonction à appeler lorsque le capteur optique détecte un objet.objectLost— Enregistre une fonction à appeler lorsque le capteur optique perd un objet.
Avant d’appeler une quelconque fonction membre optique optical , une instance optique optical doit être créée, comme indiqué ci-dessous :
/* This constructor is required when using VS Code.
Optical Sensor configuration is generated automatically
in VEXcode using the Device Menu. Replace the values
as needed. */
// Create an optical object in Port 1
optical Optical1 = optical(PORT1);
setLight#
Permet d’allumer ou d’éteindre la LED du capteur optique. Cette lumière peut aider le capteur optique à détecter plus clairement les objets et les couleurs.
Available Functionsvoid setLight(ledState state);
Paramètre |
Taper |
Description |
|---|---|---|
|
|
Permet d’allumer ou d’éteindre la LED. |
Cette fonction ne renvoie aucune valeur.
Examples// Turn on LED with previous intensity.
Optical.setLight(ledState::on);
setLightPower#
Permet de régler l’intensité lumineuse du capteur optique. Cette lumière contribue à une meilleure détection des objets et des couleurs par le capteur optique.
Un pourcentage plus élevé rend la lumière plus intense. Un pourcentage plus faible rend la lumière plus faible.
Si la lumière du capteur optique est éteinte, régler la puissance de la lumière au-dessus de 0 % l’allumera.
Si le voyant du capteur optique est allumé, régler la puissance de l’éclairage à 0 % éteindra la lumière.
Available Functionsvoid setLightPower(
int32_t intensity,
percentUnits units = percent );
Paramètre |
Taper |
Description |
|---|---|---|
|
|
Le niveau de puissance pour régler la lumière de 0 à 100. |
|
|
The unit that represents the light intensity: |
Cette fonction ne renvoie aucune valeur.
Examples// Set the light power to 50 percent.
Optical.setLightPower(50, percent);
isNearObject#
Indique si le capteur optique détecte ou non un objet à portée.
Available Functionsbool isNearObject();
Cette fonction n’accepte aucun paramètre.
Return ValuesCette fonction renvoie une valeur booléenne indiquant si un objet à proximité est détecté :
true— Un objet a été détecté à proximité.false— Aucun objet n’a été détecté.
// If an object is detected by the Optical Sensor, print
// "near object".
if (Optical.isNearObject()){
Brain.Screen.print("near object");
}
colorname#
Renvoie la couleur détectée par le capteur optique, en fonction de la valeur de teinte détectée.
Available Functionsvex::colorType colorname();
Cette fonction n’accepte aucun paramètre.
Return ValuesLa couleur détectée par le capteur optique comme une instance de la classe de couleur.
Les couleurs possibles sont :
blue– Valeur de teinte comprise entre 196° et 229°blue_green– Valeur de teinte entre 140° et 195°blue_violet– Valeur de teinte entre 230° et 239°green– Valeur de teinte comprise entre 84° et 139°orange– Valeur de teinte entre 21° et 30°red– Valeur de teinte comprise entre 350° et 14°red_orange– Valeur de teinte entre 15° et 20°red_violet– Valeur de teinte entre 281° et 350°violet– Valeur de teinte comprise entre 240° et 280°yellow– Valeur de teinte comprise entre 54° et 74°yellow_green– Valeur de teinte entre 75° et 83°yellow_orange– Valeur de teinte entre 31° et 53°
// Set a variable, detectColor, to the color detected by the
// Optical Sensor
colorType detectColor = Optical.colorname();
// Print the color detected by the Optical Sensor
// to the Brain's screen
Brain.Screen.print(detectColor);
brightness#
Indique la quantité de lumière réfléchie vers le capteur optique.
Un pourcentage plus élevé signifie qu’une plus grande quantité de lumière est réfléchie vers le capteur optique. Un pourcentage plus faible signifie qu’une moindre quantité de lumière est réfléchie.
Available Functionsdouble brightness(bool bRaw = false);
Paramètre |
Taper |
Description |
|---|---|---|
|
|
Valeur booléenne permettant de lire les données de luminosité brutes au lieu du pourcentage. La valeur par défaut est |
Un nombre décimal représentant la luminosité détectée par le capteur optique dans la plage 0 - 100 %, ou un nombre décimal représentant les données brutes détectées par le capteur.
Examples// Set a variable, brightness, to the value of the brightness
// detected by the Optical Sensor
double brightness = Optical.brightness();
// Print the brightness detected by the Optical Sensor to the
// Brain's screen
Brain.Screen.print(brightness);
hue#
Renvoie la teinte détectée par le capteur optique.
La teinte est une façon de décrire une couleur à l’aide de nombres sur un cercle chromatique.

double hue();
Cette fonction n’accepte aucun paramètre.
Return ValuesUn nombre décimal représentant la valeur de la teinte détectée par le capteur optique dans la plage 0 — 359,00.
Examples// Set a variable, hue, to the value of the hue detected
// by the Optical Sensor.
double hue = Optical.hue();
objectDetected#
Enregistre une fonction de rappel pour le moment où un objet est détecté.
Available Functionsvoid objectDetected(void (* callback)(void));
Paramètre |
Taper |
Description |
|---|---|---|
|
|
Une fonction précédemment définie qui s’exécute lorsque le capteur optique détecte un nouvel objet. |
Cette fonction ne renvoie aucune valeur.
ExamplesDéfinissez la fonction de rappel (en dehors de
int main())// Called when the Optical Sensor detects an object void detected() { // The Brain will print that the Optical Sensor detected an // object to the Brain's screen. Brain.Screen.print("object detected"); }Enregistrez le rappel à l’intérieur de
int main()/* vexcodeInit() is only required when using VEXcode. Remove vexcodeInit() if compiling in VS Code. */ int main() { // Run when the Optical Sensor detects an object. Optical.objectDetected(detected); }
objectLost#
Enregistre une fonction de rappel pour le cas où un objet est perdu.
Available Functionsvoid objectLost(void (* callback)(void));
Paramètre |
Taper |
Description |
|---|---|---|
|
|
Une fonction définie précédemment qui s’exécute lorsque le capteur optique perd un objet détecté. |
Cette fonction ne renvoie aucune valeur.
ExamplesDéfinissez la fonction de rappel (en dehors de
int main())// Called when the Optical Sensor loses an object void lost() { // The Brain will print that the Optical Sensor lost an // object to the Brain's screen. Brain.Screen.print("object lost"); }Enregistrez le rappel à l’intérieur de
int main()/* vexcodeInit() is only required when using VEXcode. Remove vexcodeInit() if compiling in VS Code. */ int main() { // Run lost when the Optical Sensor loses an object. Optical.objectLost(lost); }