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

puerto

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

puerto

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.

sensibilidad

Activa el modo de alta sensibilidad (+/- 2 g) en el acelerómetro. true para activar la alta sensibilidad. La sensibilidad predeterminada es (+/- 6 g).

// 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);
}