acelerómetro#
Inicializando la clase del acelerómetro#
Un acelerómetro se crea utilizando uno de los siguientes constructores:
El constructor accelerometer
crea un acelerómetro en un puerto de tres cables especificado con modo de alta sensibilidad predeterminado en false
.
Parámetro |
Descripción |
---|---|
|
El puerto de 3 cables al que está conectado el acelerómetro, ya sea un puerto en el Cerebro o un Expandedor de 3 cables. |
// Create the Brain.
brain Brain;
// Construct an accelerometer "accel" with the
// accelerometer class.
accelerometer accel = accelerometer(Brain.ThreeWirePort.A);
El constructor Accelerometer(port, sensitive)
crea un acelerómetro y puede habilitar el modo de alta sensibilidad.
Parámetro |
Descripción |
---|---|
|
El puerto de 3 cables al que está conectado el acelerómetro, ya sea un puerto en el Cerebro o un Expandedor de 3 cables. |
|
Activa el modo de alta sensibilidad (+/- 2 g) en el acelerómetro. |
// Create the Brain.
brain Brain;
// Construct an accelerometer "accel" with the
// accelerometer class.
accelerometer accel = accelerometer(Brain.ThreeWirePort.A, true);
Primero se debe crear un Cerebro o un Expansor de 3 cables antes de poder usarlos para crear un objeto con el constructor de la clase Acelerómetro.
El objeto accel
se utilizará en todos los ejemplos posteriores a lo largo de esta documentación de API cuando se haga referencia a los métodos de la clase del acelerómetro.
Para una funcionalidad óptima, se recomienda utilizar acelerómetros separados para cada eje, inicializándolos individualmente:
accelerometer accel_x = accelerometer(Brain.ThreeWirePort.A);
accelerometer accel_y = accelerometer(Brain.ThreeWirePort.B);
accelerometer accel_z = accelerometer(Brain.ThreeWirePort.C);
Métodos de clase#
aceleración()#
El método acceleration()
lee el valor del acelerómetro escalado a unidades de gravedad.
Devuelve: Un doble en el rango +/- 6G, o +/-2G si está configurado el modo de alta sensibilidad.
// Drive the robot forward.
Drivetrain.drive(forward);
// Get the acceleration of accel in the range +/- 6G.
double accelerationValue = accel.acceleration();
cambió()#
El método changed(callback)
registra una función que se llamará cuando cambie el valor del acelerómetro.
Parámetros |
Descripción |
---|---|
llamar de vuelta |
Una función que se llamará cuando cambie el valor del eje del acelerómetro. |
Devuelve: Una instancia de la clase Event.
// Define the accelerometerChanged function with a void
// return type, showing it doesn't return a value.
void accelerometerChanged() {
// The Brain will print that the Accelerometer changed on
// the Brain's screen.
Brain.Screen.print("accelerometer changed");
}
int main() {
// Initializing Robot Configuration. DO NOT REMOVE!
vexcodeInit();
// Drive the robot forward.
Drivetrain.drive(forward);
// Run accelerometerChanged when the value of the
// Accelerometer changes.
accel.changed(accelerometerChanged);
}