ഗൈറോ സെൻസർ#
ആമുഖം#
ഒരു അച്ചുതണ്ടിന് ചുറ്റുമുള്ള ഭ്രമണ ചലനം അളക്കാൻ ഒരു ഗൈറോ സെൻസറിനൊപ്പം gyro ക്ലാസ് ഉപയോഗിക്കുന്നു. റോബോട്ട് ഏത് ദിശയെ അഭിമുഖീകരിക്കുന്നുവെന്നും റോബോട്ട് എത്ര ദൂരം തിരിഞ്ഞിട്ടുണ്ടെന്നും ഇതിന് ട്രാക്ക് ചെയ്യാൻ കഴിയും.
ക്ലാസ് കൺസ്ട്രക്റ്റർ#
gyro(
int32_t index );
ക്ലാസ് ഡിസ്ട്രക്റ്റർ#
gyro ഒബ്ജക്റ്റിനെ നശിപ്പിക്കുകയും അനുബന്ധ ഉറവിടങ്ങൾ പുറത്തുവിടുകയും ചെയ്യുന്നു.
virtual ~gyro();
പാരാമീറ്ററുകൾ#
പാരാമീറ്റർ |
ടൈപ്പ് ചെയ്യുക |
വിവരണം |
|---|---|---|
|
|
ഗൈറോ സെൻസർ ബന്ധിപ്പിച്ചിരിക്കുന്ന സ്മാർട്ട് പോർട്ട്, |
ഉദാഹരണം#
// 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 Functionsvoid calibrate();
ഈ ഫംഗ്ഷൻ ഒരു പാരാമീറ്ററുകളും സ്വീകരിക്കുന്നില്ല.
Return Valuesഈ ഫംഗ്ഷൻ ഒരു മൂല്യം തിരികെ നൽകുന്നില്ല.
Notesകാലിബ്രേഷൻ ഗൈറോ സെൻസറിനെ തിരിവുകൾ ശരിയായി അളക്കാൻ സഹായിക്കുന്നു. കാലിബ്രേഷൻ സമയത്ത് സെൻസർ നിശ്ചലമായി നിലനിർത്തുക. കാലിബ്രേഷൻ സമയത്ത് സെൻസർ ചലിച്ചാൽ, ഹെഡിംഗ്, റൊട്ടേഷൻ, റേറ്റ് മൂല്യങ്ങൾ എന്നിവ തിരിവുകൾ ശരിയായി അളക്കണമെന്നില്ല.
// Calibrate the Gyro Sensor before turning.
Gyro1.calibrate();
setHeading#
ഗൈറോ സെൻസറിന്റെ നിലവിലെ ഹെഡിംഗ് ഒരു പ്രത്യേക മൂല്യത്തിലേക്ക് സജ്ജമാക്കുന്നു.
ഗൈറോ സെൻസർ അഭിമുഖീകരിക്കുന്ന ദിശയാണ് ഒരു ഹെഡിംഗ്. 0 മുതൽ 359.99 ഡിഗ്രി വരെ ഇത് അളക്കുന്നു. ഹെഡിംഗ് സജ്ജീകരിക്കുന്നത് സെൻസറിന്റെ നിലവിലെ ദിശ റഫറൻസിനെ മാറ്റുന്നു.
Available Functionsvoid setHeading(
double value,
rotationUnits units );
പാരാമീറ്ററുകൾ |
ടൈപ്പ് ചെയ്യുക |
വിവരണം |
|---|---|---|
|
|
പുതിയ തലക്കെട്ടിന് ഉപയോഗിക്കേണ്ട മൂല്യം. |
|
|
തലക്കെട്ടിനെ പ്രതിനിധീകരിക്കുന്ന യൂണിറ്റ്:
|
ഈ ഫംഗ്ഷൻ ഒരു മൂല്യം തിരികെ നൽകുന്നില്ല.
setRotation#
ഗൈറോ സെൻസറിന്റെ നിലവിലെ ഭ്രമണം ഒരു പ്രത്യേക മൂല്യത്തിലേക്ക് സജ്ജമാക്കുന്നു.
ഗൈറോ സെൻസർ എത്രത്തോളം തിരിഞ്ഞിരിക്കുന്നു എന്നതാണ് ഭ്രമണം. തലക്കെട്ടിൽ നിന്ന് വ്യത്യസ്തമായി, ഭ്രമണം 359.99 ഡിഗ്രിയിൽ കൂടുതൽ വർദ്ധിക്കുകയോ 0 ഡിഗ്രിയിൽ താഴെ കുറയുകയോ ചെയ്യാം.
Available Functionsvoid setRotation(
double value,
rotationUnits units );
പാരാമീറ്ററുകൾ |
ടൈപ്പ് ചെയ്യുക |
വിവരണം |
|---|---|---|
|
|
പുതിയ റൊട്ടേഷൻ മൂല്യത്തിന് ഉപയോഗിക്കേണ്ട മൂല്യം. |
|
|
ഭ്രമണ മൂല്യത്തെ പ്രതിനിധീകരിക്കുന്ന യൂണിറ്റ്:
|
ഈ ഫംഗ്ഷൻ ഒരു മൂല്യം തിരികെ നൽകുന്നില്ല.
heading#
ഗൈറോ സെൻസറിന്റെ നിലവിലെ തലക്കെട്ട് നൽകുന്നു.
ഗൈറോ സെൻസർ അഭിമുഖീകരിക്കുന്ന ദിശയാണ് ഒരു ഹെഡിംഗ്. 0 മുതൽ 359.99 ഡിഗ്രി വരെ അളക്കുന്നു. സെൻസർ 359.99 ഡിഗ്രിക്ക് മുകളിൽ തിരിഞ്ഞാൽ, ഹെഡിംഗ് 0 ഡിഗ്രിയിലേക്ക് തിരികെ പൊതിയുന്നു.
Available Functionsdouble heading(
rotationUnits units = degrees );
പാരാമീറ്റർ |
ടൈപ്പ് ചെയ്യുക |
വിവരണം |
|---|---|---|
|
|
തലക്കെട്ടിനെ പ്രതിനിധീകരിക്കുന്ന യൂണിറ്റ്:
|
നിർദ്ദിഷ്ട യൂണിറ്റുകളിലെ ഗൈറോ സെൻസറിന്റെ നിലവിലെ ഹെഡിംഗിനെ പ്രതിനിധീകരിക്കുന്ന double നൽകുന്നു, ഡിഫോൾട്ട് degrees ആയി മാറുന്നു.
// Get the current heading for the Gyro.
double value = Gyro1.heading();
Brain.Screen.print(value);
rotation#
ഗൈറോ സെൻസറിന്റെ നിലവിലെ ഭ്രമണം നൽകുന്നു.
ഗൈറോ സെൻസർ എത്ര തിരിഞ്ഞിരിക്കുന്നു എന്നതാണ് ഭ്രമണം. തലക്കെട്ടിൽ നിന്ന് വ്യത്യസ്തമായി, ഭ്രമണം 359.99 ഡിഗ്രിയിൽ കൂടുതൽ വർദ്ധിക്കുകയോ 0 ഡിഗ്രിയിൽ താഴെ കുറയുകയോ ചെയ്യാം. ഉദാഹരണത്തിന്, വലത്തേക്ക് രണ്ട് പൂർണ്ണ തിരിവുകൾ നടത്തുമ്പോൾ 720 ഡിഗ്രി ഭ്രമണം ലഭിക്കും. 0 ഡിഗ്രിയിൽ നിന്ന് ഇടത്തേക്ക് ഒരു പൂർണ്ണ തിരിവ് തിരിക്കുമ്പോൾ -360 ഡിഗ്രി ഭ്രമണം ലഭിക്കും.
Available Functionsdouble rotation(
rotationUnits units = degrees );
പാരാമീറ്റർ |
ടൈപ്പ് ചെയ്യുക |
വിവരണം |
|---|---|---|
|
|
ഭ്രമണ മൂല്യത്തെ പ്രതിനിധീകരിക്കുന്ന യൂണിറ്റ്:
|
നിർദ്ദിഷ്ട യൂണിറ്റുകളിലെ ഗൈറോ സെൻസറിന്റെ നിലവിലെ റൊട്ടേഷൻ മൂല്യത്തെ പ്രതിനിധീകരിക്കുന്ന double നൽകുന്നു, ഡിഫോൾട്ട് degrees ആയി മാറുന്നു.
// Get the current rotation for the Gyro.
double value = Gyro1.rotation();
Brain.Screen.print(value);
rate#
ഗൈറോ സെൻസറിന്റെ ടേണിംഗ് നിരക്ക് നൽകുന്നു.
ഗൈറോ സെൻസർ എത്ര വേഗത്തിൽ കറങ്ങുന്നു എന്നതാണ് ടേണിംഗ് റേറ്റ്. സെൻസർ കറങ്ങുന്ന ദിശയെ ആശ്രയിച്ച് മൂല്യം പോസിറ്റീവ് അല്ലെങ്കിൽ നെഗറ്റീവ് ആകാം.
Available Functionsdouble rate(
rateUnits units = rateUnits::dps );
പാരാമീറ്റർ |
ടൈപ്പ് ചെയ്യുക |
വിവരണം |
|---|---|---|
|
|
നിരക്ക് പ്രതിനിധീകരിക്കുന്ന യൂണിറ്റ്:
|
നിർദ്ദിഷ്ട യൂണിറ്റുകളിലെ ഗൈറോ സെൻസറിന്റെ നിലവിലെ മാറ്റ നിരക്കിനെ പ്രതിനിധീകരിക്കുന്ന double നൽകുന്നു, ഇത് ഡിഫോൾട്ടായി rateUnits::dps ആയി മാറുന്നു.