distancia#
Introducción#
La API de sensores de distancia para VEX IQ (2.ª generación) proporciona métodos para devolver datos de un sensor de distancia. Esto permite que el sensor detecte la distancia y el tamaño de los objetos que tiene delante.
A continuación se muestra una lista de todos los métodos disponibles:
Sensor de distancia (1.ª generación): devuelve datos de un sensor de distancia (1.ª generación).
foundObject – Devuelve si un objeto está dentro del rango.
distancia – Devuelve la distancia al objeto más cercano en pulgadas, milímetros o centímetros.
instalado – Devuelve si el sensor de distancia está conectado al cerebro.
Sensor de distancia (2.ª generación): devuelve datos de un sensor de distancia (2.ª generación).
objectDistance – Devuelve la distancia al objeto más cercano en pulgadas, milímetros o centímetros.
objectVelocity – Devuelve la velocidad de un objeto detectado en metros por segundo.
objectSize – Devuelve el tamaño estimado del objeto detectado (pequeño, mediano, grande).
isObjectDetected – Devuelve si un objeto está dentro del rango (aprox. 406 mm o 16 pulgadas).
objectRawSize – Devuelve el valor bruto detectado por el sensor de distancia.
instalado – Devuelve si el sensor de distancia está conectado al cerebro.
Constructores – Inicializa manualmente el sensor de distancia.
(1.ª generación) Sensor de distancia#
objeto encontrado#
foundObject
comprueba si el telémetro detecta un objeto en el rango de 0 a 1000 milímetros. El telémetro devolverá el valor “true” si el objeto se detecta a menos de 1000 mm.
Uso:
Distancia1.foundObject()
Parámetros |
Descripción |
---|---|
Este método no tiene parámetros. |
// Example coming soon
distancia#
distancia
devuelve la distancia actual que el telémetro detecta sobre el objeto. El telémetro devolverá un número positivo grande si no se detecta ningún objeto dentro del rango.
Uso:
Distancia1.distancia(unidades)
Parámetros |
Descripción |
---|---|
|
La unidad que representa la distancia:
|
// Example coming soon
instalado#
instalado
regresa si el sensor de distancia está conectado.
Uso:
installed()
Parámetros |
Descripción |
---|---|
Este método no tiene parámetros. |
// Display if the Distance Sensor is installed
if (Distance1.installed()){
Brain.Screen.print("Installed");
}
(2.ª generación) Sensor de distancia#
Distancia del objeto#
objectDistance
devuelve la distancia entre el sensor de distancia y el objeto más cercano.
Uso:
objectDistance(unidades)
Parámetros |
Descripción |
---|---|
|
La unidad que representa la distancia:
|
Drivetrain.drive(forward);
// Stop driving once close to an object
while (true){
if (Distance1.objectDistance(mm) < 50){
Brain.Screen.print("Too close!");
break;
}
}
Drivetrain.stop();
objectVelocity#
objectVelocity
devuelve la velocidad de un objeto detectado como un valor flotante, medido en metros por segundo. Un valor positivo indica que el objeto se acerca al sensor de distancia (2.ª generación), mientras que un valor negativo indica que se aleja.
Nota: Este método solo funcionará con el sensor de distancia (segunda generación).
Uso:
objectVelocity()
Parámetros |
Descripción |
---|---|
Este método no tiene parámetros. |
// Display the velocity of objects moving in front of the sensor
while (true){
Brain.Screen.clearScreen();
Brain.Screen.setCursor(1, 1);
Brain.Screen.print("Velocity: %f", Distance1.objectVelocity());
wait(.25, seconds);
}
tamaño del objeto#
objectSize
devuelve un sizeType
que representa el tamaño estimado del objeto detectado en función de qué parte del campo de visión del sensor de distancia (segunda generación) ocupa:
sizeType – Valor de enumeración |
---|
<ul><li>`ninguno` – 0 </li><li>`pequeño` – 1 </li><li>`mediano` – 2 </li><li>`grande` – 3 </li><ul> |
Nota: Este método solo funcionará con el sensor de distancia (segunda generación).
Uso:
objectSize()
Parámetros |
Descripción |
---|---|
Este método no tiene parámetros. |
Drivetrain.drive(forward);
while (true){
vex::sizeType size = Distance1.objectSize();
Brain.Screen.clearScreen();
Brain.Screen.setCursor(1, 1);
// Stop if the object size becomes large
if (size == sizeType::small){
Brain.Screen.print("Small Object");
}
else if (size == sizeType::medium){
Brain.Screen.print("Medium Object");
}
else if (size == sizeType::large){
Brain.Screen.print("Large Object");
Drivetrain.stop();
break;
}
else{
Brain.Screen.print("No Object");
}
wait(0.5, seconds);
}
se ha detectado un objeto#
isObjectDetected
devuelve un valor booleano que indica si el sensor de distancia detecta un objeto dentro de aproximadamente 406 milímetros (16 pulgadas).
1
- El sensor de distancia detecta un objeto dentro de aproximadamente 406 milímetros.0
- El sensor de distancia no detecta un objeto de aproximadamente 406 milímetros.
Uso:
isObjectDetected
Parámetros |
Descripción |
---|---|
Este método no tiene parámetros. |
// Turn until an object is detected
Drivetrain.turn(right);
while (!Distance1.isObjectDetected()){
wait(15, msec);
}
Drivetrain.stop();
Brain.Screen.print("Detected!");
objectRawSize#
objectRawSize
devuelve el valor bruto del tamaño del objeto que el sensor de distancia está detectando en forma de un entero con signo de 32 bits de 0 a 400. Este entero representa un tamaño de objeto relativo.
Uso:
objectRawSize()
Parámetros |
Descripción |
---|---|
Este método no tiene parámetros. |
Drivetrain.setTurnVelocity(15, percent);
Drivetrain.turn(right);
// Display the raw size of objects around the robot
while (true){
Brain.Screen.clearScreen();
Brain.Screen.setCursor(1, 1);
Brain.Screen.print("%d", Distance1.objectRawSize());
wait(50,msec);
}
instalado#
instalado
regresa si el sensor de distancia está conectado.
Uso:
installed()
Parámetros |
Descripción |
---|---|
Este método no tiene parámetros. |
// Display if the Distance Sensor is installed
if (Distance1.installed()){
Brain.Screen.print("Installed");
}
Constructores#
sonar#
sonar
crea un objeto de la clase sonar en el puerto especificado.
Uso:
sonar(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 Distance Sensor "Distance1" with the
// distance class.
distance Distance1 = sonar(PORT1);
int main(){
vexcodeInit();
Drivetrain.drive(forward);
// Stop driving once close to an object
while (true){
if (Distance1.objectDistance(mm) < 50){
Brain.Screen.print("Too close!");
break;
}
}
Drivetrain.stop();
}
distancia#
distancia
crea un objeto de la clase distancia en el puerto especificado.
Uso:
distancia(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 Distance Sensor "Distance1" with the
// distance class.
distance Distance1 = distance(PORT1);
int main(){
vexcodeInit();
Drivetrain.drive(forward);
// Stop driving once close to an object
while (true){
if (Distance1.objectDistance(mm) < 50){
Brain.Screen.print("Too close!");
break;
}
}
Drivetrain.stop();
}