Sensor giroscópico#
Introdução#
O giroscópio de classe gyro é utilizado para medir a direção e o movimento rotacional do robô, permitindo o seguimento da orientação ao longo do tempo.
Construtor de Classes#
gyro(
triport::port &port);
Destrutor de classes#
Destrói o objeto gyro e liberta os recursos associados.
virtual ~gyro();
Parâmetros#
Parâmetro |
Tipo |
Descrição |
|---|---|---|
|
|
A porta de 3 fios à qual o sensor giroscópio está ligado, escrita como |
Exemplo#
// Create a gyro instance in Port A
gyro GyroA = gyro(Brain.ThreeWirePort.A);
Funções de membro#
A classe gyro inclui as seguintes funções membro:
calibrate— Calibra o giroscópio para um seguimento de direção estável.setHeading— Define a direção do giroscópio.setRotation— Define o valor de rotação actual do giroscópio.heading— Devolve a direcção do giroscópio.rotation— Devolve a rotação do giroscópio.
Antes de chamar qualquer função membro de gyro , deve ser criada uma instância gyro , como se mostra abaixo:
/* This constructor is required when using VS Code.
Gyro Sensor configuration is generated automatically
in VEXcode using the Device Menu. Replace the values
as needed. */
// Create a gyro instance in Port A
gyro GyroA = gyro(Brain.ThreeWirePort.A);
calibrate#
Calibra o sensor giroscópico.
Available Functionsvoid calibrate(
int32_t value = 0 );
Parâmetros |
Tipo |
Descrição |
|---|---|---|
|
|
Tempo em segundos para calibrar. O valor predefinido é |
Esta função não devolve qualquer valor.
NotesO comando
calibratesó deve ser chamado quando o sensor não está em movimento.
// Start calibration with the calibration time set to 3 seconds.
GyroA.calibrate(3);
setHeading#
Define a direção do sensor giroscópio para um valor específico.
Available Functionsvoid setHeading(
double value,
rotationUnits units );
Parâmetros |
Tipo |
Descrição |
|---|---|---|
|
|
O valor a utilizar para o novo título. |
|
|
A unidade que representa a direção:
|
Esta função não devolve qualquer valor.
setRotation#
Define a rotação do sensor giroscópio para um valor específico.
Available Functionsvoid setRotation(
double value,
rotationUnits units );
Parâmetros |
Tipo |
Descrição |
|---|---|---|
|
|
O valor a utilizar para o novo valor de rotação. |
|
|
A unidade que representa o valor da rotação:
|
Esta função não devolve qualquer valor.
heading#
Retorna a direção atual do sensor giroscópio.
Available Functionsdouble heading(
rotationUnits units = degrees );
Parâmetro |
Tipo |
Descrição |
|---|---|---|
|
|
A unidade que representa a direção:
|
Retorna um valor double que representa a direção atual do sensor giroscópico nas unidades especificadas, com um valor padrão de degrees.
// Get the current heading for the Gyro.
double value = GyroA.heading();
Brain.Screen.print(value);
rotation#
Retorna a rotação atual do sensor giroscópio.
Available Functionsdouble rotation(
rotationUnits units = degrees );
Parâmetro |
Tipo |
Descrição |
|---|---|---|
|
|
A unidade que representa o valor de rotação:
|
Retorna um valor double que representa o valor de rotação atual do sensor giroscópio nas unidades especificadas, com um valor padrão de degrees.
// Get the current rotation for the Gyro.
double value = GyroA.rotation();
Brain.Screen.print(value);