자이로 센서#
소개#
gyro 클래스는 로봇의 진행 방향과 회전 운동을 측정하는 데 사용되며, 이를 통해 시간에 따른 방향 추적이 가능합니다.
클래스 생성자#
gyro(
triport::port &port);
클래스 소멸자#
gyro 객체를 파괴하고 관련 리소스를 해제합니다.
virtual ~gyro();
매개변수#
매개변수 |
유형 |
설명 |
|---|---|---|
|
|
자이로 센서가 연결된 3선 포트는 |
예#
// Create a gyro instance in Port A
gyro GyroA = gyro(Brain.ThreeWirePort.A);
회원 기능#
gyro 클래스는 다음과 같은 멤버 함수를 포함합니다.
calibrate— 안정적인 방향 추적을 위해 자이로를 보정합니다.setHeading— 자이로의 방향을 설정합니다.setRotation— 자이로의 현재 회전 값을 설정합니다.heading— 자이로의 헤딩을 반환합니다.rotation— 자이로의 회전을 반환합니다.
gyro 멤버 함수를 호출하기 전에 아래와 같이 gyro 인스턴스를 생성해야 합니다.
/* 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#
자이로 센서를 보정합니다.
Available Functionsvoid calibrate(
int32_t value = 0 );
매개변수 |
유형 |
설명 |
|---|---|---|
|
|
보정에 소요되는 시간(초). 기본값은 |
이 함수는 값을 반환하지 않습니다.
Notescalibrate센서가 움직이지 않을 때만 호출해야 합니다.
// Start calibration with the calibration time set to 3 seconds.
GyroA.calibrate(3);
setHeading#
자이로 센서의 방향을 특정 값으로 설정합니다.
Available Functionsvoid setHeading(
double value,
rotationUnits units );
매개변수 |
유형 |
설명 |
|---|---|---|
|
|
새 제목에 사용할 값입니다. |
|
|
방향을 나타내는 단위:
|
이 함수는 값을 반환하지 않습니다.
setRotation#
자이로 센서의 회전 각도를 특정 값으로 설정합니다.
Available Functionsvoid setRotation(
double value,
rotationUnits units );
매개변수 |
유형 |
설명 |
|---|---|---|
|
|
새로운 회전 값으로 사용할 값입니다. |
|
|
회전 값을 나타내는 단위:
|
이 함수는 값을 반환하지 않습니다.
heading#
자이로 센서의 현재 방향을 반환합니다.
Available Functionsdouble heading(
rotationUnits units = degrees );
매개변수 |
유형 |
설명 |
|---|---|---|
|
|
방향을 나타내는 단위:
|
지정된 단위로 자이로 센서의 현재 방향을 나타내는 double 을 반환합니다. 기본값은 degrees 입니다.
// Get the current heading for the Gyro.
double value = GyroA.heading();
Brain.Screen.print(value);
rotation#
자이로 센서의 현재 회전 값을 반환합니다.
Available Functionsdouble rotation(
rotationUnits units = degrees );
매개변수 |
유형 |
설명 |
|---|---|---|
|
|
회전 값을 나타내는 단위:
|
지정된 단위로 자이로 센서의 현재 회전 값을 나타내는 double 을 반환합니다. 기본값은 degrees 입니다.
// Get the current rotation for the Gyro.
double value = GyroA.rotation();
Brain.Screen.print(value);