Sensor óptico#
Introducción#
The optical class is used to access data from the EXP Optical Sensor. It uses reflected light to detect objects, identify colors, and measure brightness and hue.
Constructores de clases#
optical(
int32_t 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 LED to a specific brightness.isNearObject— Returns whether or not an object is close to the sensor.color— Returns the detected color as a predefined color object.brightness— Returns the detected brightness of an object.hue— Returns the detected hue value.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:
/* 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#
Configura el LED del sensor óptico para que se encienda o se apague.
Available Functionsvoid setLight(ledState state);
Parámetro |
Tipo |
Descripción |
|---|---|---|
|
|
A valid
|
Esta función no devuelve ningún valor.
Examples// Turn on LED with previous intensity.
Optical.setLight(ledState::on);
setLightPower#
Configura la potencia lumínica del LED del sensor óptico.
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— An object is detected nearby.false— An object is not detected.
// 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.
Examples// 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#
Devuelve el brillo detectado por el sensor óptico.
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 |
Un valor double que representa el brillo detectado por el sensor óptico como un valor flotante en el rango de 0 a 100 %, o un valor double que representa los datos brutos detectados por el 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#
Devuelve el valor del tono detectado por el sensor óptico.
Available Functionsdouble hue();
Esta función no acepta ningún parámetro.
Return ValuesUn valor double que representa el valor del tono detectado por el sensor óptico como un número flotante en el rango de 0 a 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 |
|---|---|---|
|
|
La función de devolución de llamada que se invocará cuando se detecte un objeto. |
Esta función no devuelve ningún valor.
ExamplesDefine the callback function (outside of
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"); }Register the callback inside
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#
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 |
|---|---|---|
|
|
La función de devolución de llamada que se invocará cuando se pierda un objeto. |
Esta función no devuelve ningún valor.
ExamplesDefine the callback function (outside of
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"); }Register the callback inside
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); }