Capteur optique#
Introduction#
La classe optique optical permet d’accéder aux données du capteur optique EXP. Elle utilise la lumière réfléchie pour détecter les objets, identifier les couleurs et mesurer la luminosité et la teinte.
Constructeurs de classes#
optical(
int32_t 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 un objet à portée.color— Renvoie la couleur détectée par le capteur optique.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 instance
optical Optical1 = optical(
PORT1); // Smart Port 1
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 la luminosité de la LED du capteur optique. Cette lumière peut aider le capteur optique à détecter plus clairement les objets et les couleurs.
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.
Un pourcentage plus élevé rend la lumière plus intense. Un pourcentage plus faible rend la lumière plus faible.
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#
Renvoie une valeur si le capteur optique détecte un objet à proximité.
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– Le capteur optique détecte un objet.false– Le capteur optique ne détecte aucun objet.
// If an object is detected by the Optical Sensor, print
// "near object".
if (Optical.isNearObject()){
Brain.Screen.print("near object");
}
color#
Renvoie la couleur détectée par le capteur optique.
Available Functionsvex::color color();
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 :
blackwhitered- Une valeur de teinte comprise entre 340° et 20°green- Une valeur de teinte comprise entre 80° et 140°blue- Une valeur de teinte comprise entre 200° et 240°yellow- Une valeur de teinte comprise entre 40° et 60°orange- Une valeur de teinte comprise entre 20° et 40°purple- Une valeur de teinte comprise entre 240° et 280°cyan- Une valeur de teinte comprise entre 140° et 200°
// Set a variable, detectColor, to the color detected by the
// Optical Sensor
color detectColor = Optical.color();
// Print the color detected by the Optical Sensor
// to the Brain's screen
Brain.Screen.print(detectColor);
brightness#
Renvoie la quantité de lumière réfléchie par l’objet.
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 sous forme de nombre décimal 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 valeur de teinte de la couleur détectée.
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,99.
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); }