റൊട്ടേഷൻ സെൻസർ#

ആമുഖം#

ഒരു V5 റൊട്ടേഷൻ സെൻസറിൽ നിന്നുള്ള ഡാറ്റ നിയന്ത്രിക്കാനും ആക്‌സസ് ചെയ്യാനും rotation ക്ലാസ് ഉപയോഗിക്കുന്നു.

റൊട്ടേഷൻ സെൻസർ ഒരു ഷാഫ്റ്റിന്റെ ഭ്രമണം അളക്കുന്നു. ഒരു റോബോട്ടിൽ ഒരു ഷാഫ്റ്റ് കറങ്ങുന്നിടത്ത് എവിടെയും ഇത് ഉപയോഗിക്കാൻ കഴിയും, ആ ഷാഫ്റ്റ് ഒരു മോട്ടോറുമായി നേരിട്ട് ബന്ധിപ്പിച്ചിട്ടില്ലെങ്കിൽ പോലും.

ഒരു മോട്ടോറിന് സ്വന്തം ഭ്രമണം ട്രാക്ക് ചെയ്യാൻ കഴിയുന്ന ഒരു ബിൽറ്റ്-ഇൻ എൻകോഡർ ഉണ്ട്. റൊട്ടേഷൻ സെൻസർ ഒരു പ്രത്യേക ഷാഫ്റ്റിന്റെ ഭ്രമണം ട്രാക്ക് ചെയ്യാൻ കഴിയുന്ന ഒരു ബാഹ്യ എൻകോഡർ പോലെയാണ് പ്രവർത്തിക്കുന്നത്.

റൊട്ടേഷൻ സെൻസറിന് ഷാഫ്റ്റിന്റെ കോൺ, സ്ഥാനം, പ്രവേഗം എന്നിവ തിരികെ നൽകാൻ കഴിയും. 0 മുതൽ 359.99 ഡിഗ്രി വരെയുള്ള ഷാഫ്റ്റിന്റെ കേവല സ്ഥാനമാണ് ആംഗിൾ. ഒരു പ്രോജക്റ്റ് ആരംഭിക്കുമ്പോഴോ റോബോട്ട് ഓഫ് ചെയ്യുമ്പോഴോ ഇത് പുനഃസജ്ജമാക്കില്ല. ഒരു പ്രോജക്റ്റ് സമയത്ത് ഷാഫ്റ്റ് എത്ര ഡിഗ്രി മുന്നോട്ട് അല്ലെങ്കിൽ പിന്നിലേക്ക് തിരിഞ്ഞുവെന്നോ തിരിഞ്ഞുവെന്നോ പൊസിഷൻ ട്രാക്ക് ചെയ്യുന്നു, ആവശ്യാനുസരണം ഇത് പുനഃസജ്ജമാക്കാനും കഴിയും.

റൊട്ടേഷൻ സെൻസർ 1/8 ഇഞ്ച്, 1/4 ഇഞ്ച് സ്റ്റാൻഡേർഡ് VEX ഷാഫ്റ്റുകളുമായി പൊരുത്തപ്പെടുന്നു.

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

rotation(
    int32_t index,
    bool    reverse = false );

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

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

virtual ~rotation();

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

പാരാമീറ്റർ

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

വിവരണം

index

int32_t

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

reverse

bool

ഓപ്ഷണൽ. റൊട്ടേഷൻ സെൻസർ ഔട്ട്‌പുട്ട് റിവേഴ്‌സ് ചെയ്യണോ വേണ്ടയോ:

  • true — റിപ്പോർട്ട് ചെയ്ത ആംഗിളിന്റെയും സ്ഥാന മൂല്യങ്ങളുടെയും ദിശ റിവേഴ്‌സ് ചെയ്യുന്നു.
  • false (സ്ഥിരസ്ഥിതി) — സ്റ്റാൻഡേർഡ് ദിശയിൽ ആംഗിളും സ്ഥാന മൂല്യങ്ങളും റിപ്പോർട്ട് ചെയ്യുന്നു.

ഉദാഹരണങ്ങൾ#

// Create a Rotation Sensor instance in Port 1
rotation Rotation1 = rotation(PORT1);

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

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

  • setPosition — റൊട്ടേഷൻ സെൻസറിന്റെ നിലവിലെ സ്ഥാനം ഒരു പ്രത്യേക മൂല്യത്തിലേക്ക് സജ്ജമാക്കുന്നു.

  • angle — ഷാഫ്റ്റിന്റെ നിലവിലെ കോൺ 0 മുതൽ 359.99 ഡിഗ്രി വരെ നൽകുന്നു.

  • position — ഷാഫ്റ്റ് ഡിഗ്രികളിലോ തിരിവുകളിലോ എത്ര ദൂരം കറങ്ങി എന്ന് നൽകുന്നു.

  • velocity — ഷാഫ്റ്റ് എത്ര വേഗത്തിൽ കറങ്ങുന്നുവെന്ന് നൽകുന്നു.

ഏതെങ്കിലും rotation അംഗ ഫംഗ്‌ഷനുകൾ വിളിക്കുന്നതിന് മുമ്പ്, താഴെ കാണിച്ചിരിക്കുന്നതുപോലെ ഒരു rotation ഉദാഹരണം സൃഷ്ടിക്കണം:

// Create a Rotation Sensor instance in Port 1
rotation Rotation1 = rotation(PORT1);

setPosition#

റൊട്ടേഷൻ സെൻസറിന്റെ നിലവിലെ സ്ഥാനം ഒരു പ്രത്യേക മൂല്യത്തിലേക്ക് സജ്ജമാക്കുന്നു.

ഒരു പ്രോജക്റ്റ് സമയത്ത് ഷാഫ്റ്റ് എത്ര ദൂരം കറങ്ങി എന്നതിനെയാണ് പൊസിഷൻ എന്ന് പറയുന്നത്. പൊസിഷൻ സജ്ജീകരിക്കുന്നത് ഷാഫ്റ്റ് നീക്കാതെ തന്നെ നിലവിലെ പൊസിഷൻ മൂല്യം മാറ്റുന്നു.

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

Parameters

പാരാമീറ്റർ

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

വിവരണം

value

double

റൊട്ടേഷൻ സെൻസറിന് നൽകേണ്ട സ്ഥാന മൂല്യം. ഇത് ഒരു പൂർണ്ണസംഖ്യയോ ദശാംശമോ ആകാം.

units

rotationUnits

സ്ഥാന യൂണിറ്റ്:

  • deg / degrees — ഡിഗ്രി
  • turns / rev — തിരിവുകൾ

Return Values

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

angle#

ഷാഫ്റ്റിന്റെ നിലവിലെ കോൺ തിരികെ നൽകുന്നു.

0 മുതൽ 359.99 ഡിഗ്രി വരെയുള്ള ഒരു ഭ്രമണത്തിനുള്ളിൽ ഷാഫ്റ്റിന്റെ കേവല സ്ഥാനം ആംഗിൾ റിപ്പോർട്ട് ചെയ്യുന്നു. ഒരു പ്രോജക്റ്റ് ആരംഭിക്കുമ്പോഴോ റോബോട്ട് ഓഫ് ചെയ്യുമ്പോഴോ ഇത് പുനഃസജ്ജമാക്കില്ല.

Available Functions
double angle( rotationUnits units = degrees );

Parameters

പാരാമീറ്റർ

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

വിവരണം

units

rotationUnits

ഓപ്ഷണൽ. ആംഗിൾ യൂണിറ്റ്:

  • deg / degrees (ഡിഫോൾട്ട്) — ഡിഗ്രി
  • turns / rev — തിരിവുകൾ

Return Values

നിർദ്ദിഷ്ട യൂണിറ്റുകളിൽ ഷാഫ്റ്റിന്റെ നിലവിലെ കോൺ പ്രതിനിധീകരിക്കുന്ന double നൽകുന്നു.

Examples
// Get the current angle of the shaft
  double angle = Rotation1.angle(degrees);

  // Print the current angle of the shaft to the
  // Brain's screen.
  Brain.Screen.print(angle);

position#

ഷാഫ്റ്റ് എത്ര ദൂരം കറങ്ങി എന്ന് തിരികെ നൽകുന്നു.

ആംഗിളിൽ നിന്ന് വ്യത്യസ്തമായി, സ്ഥാനം 359.99 ഡിഗ്രിയിൽ കൂടുതൽ വർദ്ധിക്കുകയോ 0 ഡിഗ്രിയിൽ താഴെ കുറയുകയോ ചെയ്യാം. ഒരു പ്രോജക്റ്റ് സമയത്ത് ഷാഫ്റ്റ് എത്രത്തോളം മുന്നോട്ട് കറങ്ങുന്നു അല്ലെങ്കിൽ പിന്നോട്ട് തിരിയുന്നു എന്ന് പൊസിഷൻ ട്രാക്ക് ചെയ്യുന്നു, ആവശ്യാനുസരണം പുനഃസജ്ജമാക്കാനും കഴിയും.

Available Functions
double position( rotationUnits units );

Parameters

പാരാമീറ്റർ

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

വിവരണം

units

rotationUnits

സ്ഥാന യൂണിറ്റ്:

  • deg / degrees — ഡിഗ്രി
  • turns / rev — തിരിവുകൾ

Return Values

നിർദ്ദിഷ്ട യൂണിറ്റുകളിൽ ഷാഫ്റ്റ് എത്ര ദൂരം കറങ്ങി എന്ന് പ്രതിനിധീകരിക്കുന്ന double നൽകുന്നു.

velocity#

ഷാഫ്റ്റ് എത്ര വേഗത്തിൽ കറങ്ങുന്നുവെന്ന് തിരികെ നൽകുന്നു.

Available Functions
double velocity( velocityUnits units );

Parameters

പാരാമീറ്റർ

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

വിവരണം

units

velocityUnits

പ്രവേഗ യൂണിറ്റ്:

  • rpm — മിനിറ്റിൽ പരിക്രമണം
  • dps — സെക്കൻഡിൽ ഡിഗ്രി

Return Values

നിർദ്ദിഷ്ട യൂണിറ്റുകളിൽ ഷാഫ്റ്റ് എത്ര വേഗത്തിൽ കറങ്ങുന്നുവെന്ന് പ്രതിനിധീകരിക്കുന്ന double നൽകുന്നു.