sensor de color#
Introducción#
La API del sensor de color para VEX IQ (2.ª generación) proporciona métodos para devolver datos de diferentes objetos. Esto permite que Brain detecte colores, así como su tono y brillo. VEXcode utiliza colorType
para distinguir los colores detectados con el sensor de color. A continuación, se muestran los colores que el sensor de color puede detectar:
Color – Valor de enumeración |
---|
<ul><li>`ninguno` – 0 </li><li>`rojo` – 1 </li><li>`verde` – 2 </li><li>`azul` – 3 </li><li>`blanco` – 4 </li><li>`amarillo` – 5 </li><li>`naranja` – 6 </li><li>`púrpura` – 7 </li><li>`cian` – 8 </li><li>`rojo_violeta` – 9 </li><li>`violeta` – 10 </li><li>`azul_violeta` – 11 </li><li>`azul_verde` – 12 </li><li>`amarillo_verde` – 13 </li><li>`amarillo_naranja` – 14 </li><li>`rojo_naranja` – 15 </li><li>`negro` – 16 </li><li>`transparente` – 17 </li><ul> |
A continuación se muestra una lista de todos los métodos disponibles:
Métodos – Controlar el comportamiento y la entrada del interruptor de parachoques.
setLight – Enciende, apaga o establece el LED del sensor de color en un nivel de brillo establecido.
isNearObject – Devuelve si un objeto está dentro del alcance del sensor.
detecta – Devuelve si el sensor detecta o no un color especificado.
colorname – Devuelve el nombre del color detectado por el sensor.
brillo – Devuelve el brillo detectado como un porcentaje.
hue – Devuelve el valor de tono detectado como un flotante de 0 a 359,99 grados.
colorname3 – Devuelve el color más cercano entre rojo, azul o verde al color detectado.
color – Devuelve el código hexadecimal del color detectado como una cadena.
instalado – Devuelve si el sensor de color está conectado al cerebro.
Constructores: inicializan manualmente el interruptor de parachoques.
colorsensor – Crea un sensor de color.
Métodos#
Luz fija#
setLight
establece el estado del LED del sensor de color.
Uso:
setLight(valor)
Parámetros |
Descripción |
---|---|
valor |
Un estado de LED válido:
|
// Blink the Color Sensor LED.
while (true){
Color1.setLight(ledState::on);
wait(0.5, seconds);
Color1.setLight(ledState::off);
wait(0.5, seconds);
}
Sobrecarga
setLight(intensidad, unidades)
setLight(intensity, units)
establece el LED del sensor de color a una intensidad de luz específica.
Parámetros |
Descripción |
---|---|
intensidad |
El valor de la intensidad para configurar la luz va de 0 a 100. |
unidades |
Opcional. La única unidad válida para la intensidad es el “porcentaje”. |
// Change the intensity of the LED
while (true){
Color1.setLight(25, percent);
wait(0.5, seconds);
Color1.setLight(50);
wait(0.5, seconds);
Color1.setLight(100, percent);
wait(0.5, seconds);
}
está cerca del objeto#
isNearObject
regresa si el sensor de proximidad detecta un objeto cercano.
1
– El sensor de color detecta un objeto cercano.0
– El sensor de color no detecta un objeto cercano.
Uso:
isNearObject()
Parámetros |
Descripción |
---|---|
Este método no tiene parámetros. |
// Stop when a close object is detected
Drivetrain.drive(forward);
while (true){
if (Color1.isNearObject()){
Brain.Screen.clearScreen();
Brain.Screen.setCursor(1, 1);
Drivetrain.stop();
Brain.Screen.print("Detected");
wait(0.25, seconds);
}
}
detecta#
detecta
verifica si el sensor de color está detectando un color específico.
1
– El sensor de color detecta el color.0
– El sensor de color no detecta el color.
Uso:
detecta(color)
Parámetros |
Descripción |
---|---|
color |
Un colorType que representa el color que se va a detectar. |
// Stop when a red object is detected
Drivetrain.drive(forward);
while (true){
if (Color1.detects(red)){
Brain.Screen.clearScreen();
Brain.Screen.setCursor(1, 1);
Drivetrain.stop();
Brain.Screen.print("Red detected");
wait(0.25, seconds);
}
}
nombre del color#
colorname
devuelve el nombre del color más cercano detectado a los valores preestablecidos colorType.
Uso:
colorname()
Parámetros |
Descripción |
---|---|
Este método no tiene parámetros. |
// Display if the detected color is orange
while (true){
// Get the color detected
vex::colorType colorVal = Color1.colorname();
Brain.Screen.clearScreen();
Brain.Screen.setCursor(1, 1);
// Check if color is orange
if (colorVal == vex::color::orange) {
Brain.Screen.print("Orange!");
} else {
Brain.Screen.print("Not orange...");
}
wait(0.5, seconds);
}
brillo#
brightness
lee el valor de brillo del sensor de color.
Uso:
brillo()
Parámetros |
Descripción |
---|---|
Este método no tiene parámetros. |
// Slowly turn and display detected brightness
Drivetrain.setTurnVelocity(20, percent);
Drivetrain.turn(right);
while (true){
Brain.Screen.clearScreen();
Brain.Screen.setCursor(1, 1);
Brain.Screen.print("Brightness: ");
Brain.Screen.print("%d", Color1.brightness());
wait(0.25, seconds);
}
Sobrecarga:
brillo(bRaw)
Parámetros |
Descripción |
---|---|
Brazo |
Si se devuelve el valor bruto detectado por el sensor de color. El valor predeterminado es |
matiz#
hue
devuelve el valor de tono detectado por el sensor de color.
Uso:
hue()
Parámetros |
Descripción |
---|---|
Este método no tiene parámetros. |
// Slowly turn and display detected hue
Drivetrain.setTurnVelocity(20, percent);
Drivetrain.turn(right);
while (true){
Brain.Screen.clearScreen();
Brain.Screen.setCursor(1, 1);
Brain.Screen.print("Hue: ");
Brain.Screen.print("%d", Color1.hue());
wait(0.25, seconds);
}
nombredecolor3#
colorname3
devuelve el colorType más cercano detectado al rojo, verde o azul como 1, 2 o 3 respectivamente.
Uso:
colorname3()
Parámetros |
Descripción |
---|---|
Este método no tiene parámetros. |
while (true){
// Get the closest color detected
vex::colorType colorVal = Color1.colorname3();
Brain.Screen.clearScreen();
Brain.Screen.setCursor(1, 1);
// Display the closest color
if (colorVal == vex::color::red) {
Brain.Screen.print("Red");
} else if (colorVal == vex::color::green) {
Brain.Screen.print("Green");
} else if (colorVal == vex::color::blue) {
Brain.Screen.print("Blue");
} else {
Brain.Screen.print("None");
}
wait(0.5, seconds);
}
color#
color
lee el color detectado por el sensor de color.
Uso:
color()
Parámetros |
Descripción |
---|---|
Este método no tiene parámetros. |
while (true){
// Get the color with .color()
vex::color colorVal = Color1.color();
Brain.Screen.clearScreen();
Brain.Screen.setCursor(1, 1);
// Check if color is red, green, or blue
if (colorVal == vex::color::red) {
Brain.Screen.print("Red");
} else if (colorVal == vex::color::green) {
Brain.Screen.print("Green");
} else if (colorVal == vex::color::blue) {
Brain.Screen.print("Blue");
} else {
Brain.Screen.print("None");
}
wait(0.5, seconds);
}
instalado#
installed
devuelve un entero que indica si el sensor de color está conectado actualmente al cerebro IQ (2.ª generación).
1
– El sensor de color está conectado al cerebro IQ (2.ª generación).0
– El sensor de color no está conectado al cerebro IQ (2.ª generación).
Uso:
installed()
Parámetros |
Descripción |
---|---|
Este método no tiene parámetros. |
// Display a message if the Color Sensor is detected
if (Color1.installed()){
Brain.Screen.print("Installed!");
}
Constructores#
Los constructores se utilizan para crear manualmente objetos colorsensor
, que son necesarios para configurar un sensor de color fuera de VEXcode.
Para los ejemplos siguientes, el sensor de color configurado se llamará “Color1” y se utilizará en todos los ejemplos posteriores en esta documentación de API cuando se haga referencia a los métodos de la clase “colorsensor”.
Sensor de color#
colorsensor
crea un sensor de color.
Uso:
colorsensor(puerto)
Parámetro |
Descripción |
---|---|
|
A qué puerto inteligente está conectado el sensor de color se llama “PUERTO” seguido del número de puerto, que va del 1 al 12. |
// Construct a Color Sensor "Color1" with the
// colorsensor class.
colorsensor Color1 = colorsensor(PORT1);
int main() {
// Initializing Robot Configuration. DO NOT REMOVE!
vexcodeInit();
// Change the intensity of the LED
while (true){
Color1.setLight(25, percent);
wait(0.5, seconds);
Color1.setLight(50);
wait(0.5, seconds);
Color1.setLight(100, percent);
wait(0.5, seconds);
}
}