ഗൈറോ സെൻസർ#

ആമുഖം#

ഒരു അച്ചുതണ്ടിന് ചുറ്റുമുള്ള ഭ്രമണ ചലനം അളക്കാൻ ഒരു ഗൈറോ സെൻസറിനൊപ്പം gyro ക്ലാസ് ഉപയോഗിക്കുന്നു. റോബോട്ട് ഏത് ദിശയെ അഭിമുഖീകരിക്കുന്നുവെന്നും റോബോട്ട് എത്ര ദൂരം തിരിഞ്ഞിട്ടുണ്ടെന്നും ഇതിന് ട്രാക്ക് ചെയ്യാൻ കഴിയും.

ക്ലാസ് കൺസ്ട്രക്റ്റർ#

gyro(
    int32_t index );

ക്ലാസ് ഡിസ്ട്രക്റ്റർ#

gyro ഒബ്‌ജക്റ്റിനെ നശിപ്പിക്കുകയും അനുബന്ധ ഉറവിടങ്ങൾ പുറത്തുവിടുകയും ചെയ്യുന്നു.

virtual ~gyro();

പാരാമീറ്ററുകൾ#

പാരാമീറ്റർ

ടൈപ്പ് ചെയ്യുക

വിവരണം

index

int32_t

ഗൈറോ സെൻസർ ബന്ധിപ്പിച്ചിരിക്കുന്ന സ്മാർട്ട് പോർട്ട്, PORTxഎന്ന് എഴുതിയിരിക്കുന്നു, ഇവിടെ x എന്നത് പോർട്ട് നമ്പറാണ് (ഉദാഹരണത്തിന്, PORT1).

ഉദാഹരണം#

// Create a gyro instance in Port 1
gyro Gyro1 = gyro(PORT1);

അംഗ പ്രവർത്തനങ്ങൾ#

gyro ക്ലാസ്സിൽ ഇനിപ്പറയുന്ന അംഗ ഫംഗ്‌ഷനുകൾ ഉൾപ്പെടുന്നു:

  • calibrate — ഗൈറോ സെൻസർ കാലിബ്രേറ്റ് ചെയ്യുന്നു.

  • setHeading — ഗൈറോ സെൻസറിന്റെ നിലവിലെ ഹെഡിംഗ് ഒരു പുതിയ ഹെഡിംഗ് മൂല്യത്തിലേക്ക് സജ്ജമാക്കുന്നു.

  • setRotation — ഗൈറോ സെൻസറിന്റെ നിലവിലെ ഭ്രമണം ഒരു പുതിയ ഭ്രമണ മൂല്യത്തിലേക്ക് സജ്ജമാക്കുന്നു.

  • heading — ഗൈറോ സെൻസർ അഭിമുഖീകരിക്കുന്ന ദിശ നൽകുന്നു.

  • rotation — ഗൈറോ സെൻസർ എത്രത്തോളം തിരിഞ്ഞുവെന്ന് നൽകുന്നു.

  • rate — ഗൈറോ സെൻസർ എത്ര വേഗത്തിൽ കറങ്ങുന്നുവെന്ന് നൽകുന്നു.

ഏതെങ്കിലും 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 1
gyro Gyro1 = gyro(PORT1);

calibrate#

ഗൈറോ സെൻസർ കാലിബ്രേറ്റ് ചെയ്യുന്നു.

Available Functions
void calibrate();

Parameters

ഈ ഫംഗ്ഷൻ ഒരു പാരാമീറ്ററുകളും സ്വീകരിക്കുന്നില്ല.

Return Values

ഈ ഫംഗ്ഷൻ ഒരു മൂല്യം തിരികെ നൽകുന്നില്ല.

Notes
  • കാലിബ്രേഷൻ ഗൈറോ സെൻസറിനെ തിരിവുകൾ ശരിയായി അളക്കാൻ സഹായിക്കുന്നു. കാലിബ്രേഷൻ സമയത്ത് സെൻസർ നിശ്ചലമായി നിലനിർത്തുക. കാലിബ്രേഷൻ സമയത്ത് സെൻസർ ചലിച്ചാൽ, ഹെഡിംഗ്, റൊട്ടേഷൻ, റേറ്റ് മൂല്യങ്ങൾ എന്നിവ തിരിവുകൾ ശരിയായി അളക്കണമെന്നില്ല.

Examples
// Calibrate the Gyro Sensor before turning.
Gyro1.calibrate();

setHeading#

ഗൈറോ സെൻസറിന്റെ നിലവിലെ ഹെഡിംഗ് ഒരു പ്രത്യേക മൂല്യത്തിലേക്ക് സജ്ജമാക്കുന്നു.

ഗൈറോ സെൻസർ അഭിമുഖീകരിക്കുന്ന ദിശയാണ് ഒരു ഹെഡിംഗ്. 0 മുതൽ 359.99 ഡിഗ്രി വരെ ഇത് അളക്കുന്നു. ഹെഡിംഗ് സജ്ജീകരിക്കുന്നത് സെൻസറിന്റെ നിലവിലെ ദിശ റഫറൻസിനെ മാറ്റുന്നു.

Available Functions
void setHeading(
  double        value,
  rotationUnits units );

പാരാമീറ്ററുകൾ

ടൈപ്പ് ചെയ്യുക

വിവരണം

value

double

പുതിയ തലക്കെട്ടിന് ഉപയോഗിക്കേണ്ട മൂല്യം.

units

rotationUnits

തലക്കെട്ടിനെ പ്രതിനിധീകരിക്കുന്ന യൂണിറ്റ്:

  • degrees
  • turns

Return Values

ഈ ഫംഗ്ഷൻ ഒരു മൂല്യം തിരികെ നൽകുന്നില്ല.

setRotation#

ഗൈറോ സെൻസറിന്റെ നിലവിലെ ഭ്രമണം ഒരു പ്രത്യേക മൂല്യത്തിലേക്ക് സജ്ജമാക്കുന്നു.

ഗൈറോ സെൻസർ എത്രത്തോളം തിരിഞ്ഞിരിക്കുന്നു എന്നതാണ് ഭ്രമണം. തലക്കെട്ടിൽ നിന്ന് വ്യത്യസ്തമായി, ഭ്രമണം 359.99 ഡിഗ്രിയിൽ കൂടുതൽ വർദ്ധിക്കുകയോ 0 ഡിഗ്രിയിൽ താഴെ കുറയുകയോ ചെയ്യാം.

Available Functions
void setRotation(
  double        value,
  rotationUnits units );

Parameters

പാരാമീറ്ററുകൾ

ടൈപ്പ് ചെയ്യുക

വിവരണം

value

double

പുതിയ റൊട്ടേഷൻ മൂല്യത്തിന് ഉപയോഗിക്കേണ്ട മൂല്യം.

units

rotationUnits

ഭ്രമണ മൂല്യത്തെ പ്രതിനിധീകരിക്കുന്ന യൂണിറ്റ്:

  • degrees
  • turns

Return Values

ഈ ഫംഗ്ഷൻ ഒരു മൂല്യം തിരികെ നൽകുന്നില്ല.

heading#

ഗൈറോ സെൻസറിന്റെ നിലവിലെ തലക്കെട്ട് നൽകുന്നു.

ഗൈറോ സെൻസർ അഭിമുഖീകരിക്കുന്ന ദിശയാണ് ഒരു ഹെഡിംഗ്. 0 മുതൽ 359.99 ഡിഗ്രി വരെ അളക്കുന്നു. സെൻസർ 359.99 ഡിഗ്രിക്ക് മുകളിൽ തിരിഞ്ഞാൽ, ഹെഡിംഗ് 0 ഡിഗ്രിയിലേക്ക് തിരികെ പൊതിയുന്നു.

Available Functions
double heading(
  rotationUnits units = degrees );

Parameters

പാരാമീറ്റർ

ടൈപ്പ് ചെയ്യുക

വിവരണം

units

rotationUnits

തലക്കെട്ടിനെ പ്രതിനിധീകരിക്കുന്ന യൂണിറ്റ്:

  • degrees (സ്ഥിരസ്ഥിതി)
  • turns

Return Values

നിർദ്ദിഷ്ട യൂണിറ്റുകളിലെ ഗൈറോ സെൻസറിന്റെ നിലവിലെ ഹെഡിംഗിനെ പ്രതിനിധീകരിക്കുന്ന double നൽകുന്നു, ഡിഫോൾട്ട് degrees ആയി മാറുന്നു.

Examples
// Get the current heading for the Gyro.
double value = Gyro1.heading();
Brain.Screen.print(value);

rotation#

ഗൈറോ സെൻസറിന്റെ നിലവിലെ ഭ്രമണം നൽകുന്നു.

ഗൈറോ സെൻസർ എത്ര തിരിഞ്ഞിരിക്കുന്നു എന്നതാണ് ഭ്രമണം. തലക്കെട്ടിൽ നിന്ന് വ്യത്യസ്തമായി, ഭ്രമണം 359.99 ഡിഗ്രിയിൽ കൂടുതൽ വർദ്ധിക്കുകയോ 0 ഡിഗ്രിയിൽ താഴെ കുറയുകയോ ചെയ്യാം. ഉദാഹരണത്തിന്, വലത്തേക്ക് രണ്ട് പൂർണ്ണ തിരിവുകൾ നടത്തുമ്പോൾ 720 ഡിഗ്രി ഭ്രമണം ലഭിക്കും. 0 ഡിഗ്രിയിൽ നിന്ന് ഇടത്തേക്ക് ഒരു പൂർണ്ണ തിരിവ് തിരിക്കുമ്പോൾ -360 ഡിഗ്രി ഭ്രമണം ലഭിക്കും.

Available Functions
double rotation(
  rotationUnits units = degrees );

Parameters

പാരാമീറ്റർ

ടൈപ്പ് ചെയ്യുക

വിവരണം

units

rotationUnits

ഭ്രമണ മൂല്യത്തെ പ്രതിനിധീകരിക്കുന്ന യൂണിറ്റ്:

  • degrees (സ്ഥിരസ്ഥിതി)
  • turns

Return Values

നിർദ്ദിഷ്ട യൂണിറ്റുകളിലെ ഗൈറോ സെൻസറിന്റെ നിലവിലെ റൊട്ടേഷൻ മൂല്യത്തെ പ്രതിനിധീകരിക്കുന്ന double നൽകുന്നു, ഡിഫോൾട്ട് degrees ആയി മാറുന്നു.

Examples
// Get the current rotation for the Gyro.
double value = Gyro1.rotation();
Brain.Screen.print(value);

rate#

ഗൈറോ സെൻസറിന്റെ ടേണിംഗ് നിരക്ക് നൽകുന്നു.

ഗൈറോ സെൻസർ എത്ര വേഗത്തിൽ കറങ്ങുന്നു എന്നതാണ് ടേണിംഗ് റേറ്റ്. സെൻസർ കറങ്ങുന്ന ദിശയെ ആശ്രയിച്ച് മൂല്യം പോസിറ്റീവ് അല്ലെങ്കിൽ നെഗറ്റീവ് ആകാം.

Available Functions
double rate(
  rateUnits units = rateUnits::dps );

Parameters

പാരാമീറ്റർ

ടൈപ്പ് ചെയ്യുക

വിവരണം

units

rateUnits

നിരക്ക് പ്രതിനിധീകരിക്കുന്ന യൂണിറ്റ്:

  • rateUnits::dps (സ്ഥിരസ്ഥിതി) — സെക്കൻഡിൽ ഡിഗ്രികൾ
  • rateUnits::rpm — മിനിറ്റിൽ ഭ്രമണങ്ങൾ

Return Values

നിർദ്ദിഷ്ട യൂണിറ്റുകളിലെ ഗൈറോ സെൻസറിന്റെ നിലവിലെ മാറ്റ നിരക്കിനെ പ്രതിനിധീകരിക്കുന്ന double നൽകുന്നു, ഇത് ഡിഫോൾട്ടായി rateUnits::dps ആയി മാറുന്നു.