codificador#

Inicializando la clase del codificador#

Un sensor codificador se crea utilizando el siguiente constructor:

El constructor encoder crea un objeto codificador en el puerto de tres cables especificado:

Parámetro

Descripción

puerto

El par de puertos de 3 hilos al que está conectado el sensor codificador, ya sea un puerto en el Brain o un Expansor de 3 hilos.
Nota: Un sensor codificador utiliza dos puertos de 3 hilos adyacentes. Estos pares son a/b, c/d, e/f y g/h. Al introducir el par como argumento, utilice la primera letra del par; por ejemplo, Brain.ThreeWirePort.A se refiere al par a/b.

Primero se debe crear un Brain o un 3-Wire Expander antes de poder usarlos para crear un objeto con el constructor de la clase Encoder.

// Create the Brain.
brain Brain;
// Construct an Encoder Sensor "Encoder" with the
// encoder class.
encoder Encoder = encoder(Brain.ThreeWirePort.A);

Este objeto “Encoder” se utilizará en todos los ejemplos posteriores en esta documentación de API cuando se haga referencia a los métodos de la clase codificador.

Métodos de clase#

restablecerRotación()#

El método resetRotation() restablece la rotación del sensor codificador a 0.

Devoluciones: Ninguna.

setRotation()#

El método setRotation(value, units) establece la rotación del sensor codificador.

Parámetros

Descripción

valor

El valor de rotación a establecer.

unidades

Una rotationUnit válida.

Devoluciones: Ninguna.

// Set the Encoder Sensor's value of rotation to 180 degrees.
Encoder.setRotation(180);

establecerPosición()#

El método setPosition(value, units) establece la posición del sensor codificador.

Parámetros

Descripción

valor

El valor de rotación a establecer.

unidades

Una rotationUnit válida.

Devoluciones: Ninguna.

// Set the Encoder Sensor's value of position to 180 degrees.
Encoder.setPosition(180);

rotación()#

El método rotation(units) devuelve el valor de rotación del sensor codificador.

Parámetros

Descripción

unidades

Una rotationUnit válida.

Devuelve: Un doble que representa la rotación actual del codificador.

// Get the current encoder rotation.
double value = Encoder.rotation();

posición()#

El método position(units) devuelve la posición actual del sensor codificador.

Parámetros

Descripción

unidades

Una rotationUnit válida.

Devuelve: El valor de la posición actual del sensor codificador en las unidades especificadas.

// Get the current Encoder Sensor's position.
double value = Encoder.position();

velocidad()#

El método velocity(units) devuelve la velocidad actual del sensor codificador.

Parámetros

Descripción

unidades

Una velocityUnit válida.

Devuelve: Un doble que representa el valor de la velocidad actual del sensor del codificador en las unidades especificadas.

// Get the current Encoder Sensor's velocity in rpm.
double value = Encoder.velocity();

cambió()#

El método changed(callback) registra una función que se llamará cuando cambie el valor del sensor codificador.

Parámetros

Descripción

llamar de vuelta

Una función que se llamará cuando cambie el valor del eje del sensor codificador.

Devuelve: Una instancia de la clase Event.

// Define the encoderChanged function with a void return
// type, showing it doesn't return a value.
void encoderChanged() {
  // The Brain will print that the Encoder Sensor changed on
  // the Brain's screen.
  Brain.Screen.print("encoder changed");
}

int main() {
  // Initializing Robot Configuration. DO NOT REMOVE!
  vexcodeInit();

  // Drive the robot forward.
  Drivetrain.drive(forward);

  // Run encoderChanged when the value of the
  // Encoder Sensor changes.
  Encoder.changed(encoderChanged);
}