Sensor óptico#
Introducción#
The optical class is used to access data from the V5 Optical Sensor. It uses reflected light to detect objects, identify colors, and measure brightness and hue.
Constructor de clases#
optical Optical = optical(index);
Instructor de clase#
Destroys the optical object and releases associated resources.
virtual ~optical();
Parámetros#
Parámetro |
Tipo |
Descripción |
|---|---|---|
|
|
The Smart Port that the Optical Sensor is connected to, written as |
Ejemplos#
// Create an optical instance in Port 1
optical Optical1 = optical(PORT1);
Funciones de los miembros#
The optical class includes the following member functions:
setLight— Turns the Optical Sensor’s LED on or off.setLightPower— Sets the Optical Sensor’s light power level.isNearObject— Returns whether the Optical Sensor detects an object within range.color— Returns the color detected by the Optical Sensor.brightness— Returns the amount of light reflected from the object.hue— Returns the hue detected by the Optical Sensor.objectDetected— Registers a function to be called when the Optical Sensor detects an object.objectLost— Registers a function to be called when the Optical Sensor loses an object.
Before calling any optical member functions, an optical instance must be created, as shown below:
// Create an optical object in Port 1
optical Optical1 = optical(PORT1);
setLight#
Sets Optical Sensor’s LED to on or off. The light can help the Optical Sensor detect objects and colors more clearly.
Available Functionsvoid setLight(ledState state);
Parámetro |
Tipo |
Descripción |
|---|---|---|
|
|
Sets the LED on or off. |
Esta función no devuelve ningún valor.
Examples// Turn on LED with previous intensity.
Optical.setLight(ledState::on);
setLightPower#
Sets the brightness of the Optical Sensor’s LED. The light can help the Optical Sensor detect objects and colors more clearly.
If the Optical Sensor’s light is off, setting the light power above 0% will turn the light on.
If the Optical Sensor’s light is on, setting the light power at 0% will turn the light off.
A higher percentage makes the light brighter. A lower percentage makes the light dimmer.
Available Functionsvoid setLightPower(
int32_t intensity,
percentUnits units = percent );
Parámetro |
Tipo |
Descripción |
|---|---|---|
|
|
Nivel de potencia para ajustar la luz de 0 a 100. |
|
|
The unit that represents the light intensity: |
Esta función no devuelve ningún valor.
Examples// Set the light power to 50 percent.
Optical.setLightPower(50, percent);
isNearObject#
Devuelve un valor si el sensor óptico detecta un objeto cercano.
Available Functionsbool isNearObject();
Esta función no acepta ningún parámetro.
Return ValuesEsta función devuelve un valor booleano que indica si se ha detectado un objeto cercano:
true– The Optical Sensor detects an object.false– The Optical Sensor does not detect an object.
// If an object is detected by the Optical Sensor, print
// "near object".
if (Optical.isNearObject()){
Brain.Screen.print("near object");
}
color#
Devuelve el color detectado por el sensor óptico.
Available Functionsvex::color color();
Esta función no acepta ningún parámetro.
Return ValuesEl color detectado por el sensor óptico como una instancia de la clase de color.
Possible colors are:
blackwhitered- A hue value between 340° - 20°green- A hue value between 80° - 140°blue- A hue value between 200° - 240°yellow- A hue value between 40° - 60°orange- A hue value between 20° - 40°purple- A hue value between 240° - 280°cyan- A hue value between 140° - 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#
Returns the amount of light reflected from the object.
A higher percentage means more light is reflected back to the Optical Sensor. A lower percentage means less light is reflected back.
Available Functionsdouble brightness(bool bRaw = false);
Parámetro |
Tipo |
Descripción |
|---|---|---|
|
|
A Boolean value to read raw brightness data instead of percentage. The default is |
A double representing the brightness detected by the Optical Sensor as a double in the range 0 - 100%, or a double representing the raw data detected by the sensor.
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#
Returns the hue value of the detected color.
Hue is a way to describe color using numbers around a color wheel.

double hue();
Esta función no acepta ningún parámetro.
Return ValuesA double representing the value of the hue detected by the Optical Sensor in the range 0 — 359.99.
Examples// Set a variable, hue, to the value of the hue detected
// by the Optical Sensor.
double hue = Optical.hue();
objectDetected#
Registra una función de devolución de llamada para cuando se detecta un objeto.
Available Functionsvoid objectDetected(void (* callback)(void));
Parámetro |
Tipo |
Descripción |
|---|---|---|
|
|
A previously defined function that executes when the Optical Sensor detects a new object. |
Esta función no devuelve ningún valor.
Examples// Define the lost function with a void return type,
// showing it doesn't return a value.
void detected() {
// The Brain will print that the Optical Sensor detected an
// object to the Brain's screen.
Brain.Screen.print("object detected");
}
// Run lost when the Optical Sensor detects an object.
Optical.objectDetected(detected);
objectLost#
Registra una función de devolución de llamada para cuando se pierde un objeto.
Available Functionsvoid objectLost(void (* callback)(void));
Parámetro |
Tipo |
Descripción |
|---|---|---|
|
|
A previously defined function that executes when the Optical Sensor loses a detected object. |
Esta función no devuelve ningún valor.
Examples// Define the lost function with a void return type,
// showing it doesn't return a value.
void lost() {
// The Brain will print that the Optical Sensor lost an
// object to the Brain's screen.
Brain.Screen.print("object lost");
}
// Run lost when the Optical Sensor loses an object.
Optical.objectLost(lost);