ദൂര സെൻസർ#

ആമുഖം#

ഒരു ഡിസ്റ്റൻസ് സെൻസറിൽ നിന്നുള്ള ഡാറ്റ നിയന്ത്രിക്കാനും ആക്‌സസ് ചെയ്യാനും distance ക്ലാസ് ഉപയോഗിക്കുന്നു.

ഡിസ്റ്റൻസ് സെൻസറിന് ഒരു വസ്തു സെൻസറിന് മുന്നിലാണോ എന്ന് കണ്ടെത്താനും ആ വസ്തു എത്ര ദൂരെയാണെന്ന് തിരികെ നൽകാനും കഴിയും. കണ്ടെത്തിയ വസ്തുവിന്റെ ആപേക്ഷിക പ്രവേഗം തിരികെ നൽകാനും വസ്തു ചെറുതാണോ ഇടത്തരമാണോ വലുതാണോ എന്ന് കണക്കാക്കാനും ഇതിന് കഴിയും.

ഡിസ്റ്റൻസ് സെൻസർ 20 മില്ലീമീറ്റർ മുതൽ 2000 മില്ലീമീറ്റർ വരെ പരിധിയിൽ പ്രവർത്തിക്കുന്നു.

200mm-ൽ താഴെ, കൃത്യത ഏകദേശം ±15mm ആണ്. 200mm-ന് മുകളിൽ, കൃത്യത ഏകദേശം 5% ആയി മെച്ചപ്പെടുന്നു.

ഡിസ്റ്റൻസ് സെൻസർ ക്ലാസ് 1 ലേസർ ഉപയോഗിക്കുന്നു. ഡിറ്റക്ഷൻ നേരെ മുന്നോട്ട് നയിക്കുന്നതും ക്ലാസ്റൂമിൽ സുരക്ഷിതവുമാണ്.

ക്ലാസ് കൺസ്ട്രക്‌ടറുകൾ#

distance( int32_t  index );

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

distance വസ്തുവിനെ നശിപ്പിക്കുകയും അനുബന്ധ ഉറവിടങ്ങൾ പുറത്തുവിടുകയും ചെയ്യുന്നു.

~distance();

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

പാരാമീറ്റർ

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

വിവരണം

index

int32_t

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

ഉദാഹരണങ്ങൾ#

// Create a Distance Sensor instance in Port 1
distance Distance1 = distance(PORT1);

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

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

  • objectDistance — ദൂര സെൻസറും ഏറ്റവും അടുത്തുള്ള കണ്ടെത്തിയ വസ്തുവും തമ്മിലുള്ള ദൂരം നൽകുന്നു.

  • objectSize — കണ്ടെത്തിയ വസ്തുവിന്റെ കണക്കാക്കിയ വലുപ്പം നൽകുന്നു.

  • objectVelocity — കണ്ടെത്തിയ വസ്തു ദൂര സെൻസറിലേക്ക് അല്ലെങ്കിൽ അതിൽ നിന്ന് എത്ര വേഗത്തിൽ നീങ്ങുന്നുവെന്ന് നൽകുന്നു.

  • isObjectDetected — ദൂര സെൻസർ നിലവിൽ ഒരു വസ്തുവിനെ കണ്ടെത്തുന്നുണ്ടോ എന്ന് നൽകുന്നു.

  • changed — കണ്ടെത്തിയ ദൂര മൂല്യം മാറുമ്പോൾ പ്രവർത്തിക്കുന്ന ഒരു കോൾബാക്ക് ഫംഗ്ഷൻ രജിസ്റ്റർ ചെയ്യുന്നു.

  • installed — ദൂര സെൻസർ ഇൻസ്റ്റാൾ ചെയ്ത് ബന്ധിപ്പിച്ചിട്ടുണ്ടോ എന്ന് നൽകുന്നു.

ഏതെങ്കിലും distance മെമ്പർ ഫംഗ്‌ഷനുകൾ വിളിക്കുന്നതിന് മുമ്പ്, താഴെ കാണിച്ചിരിക്കുന്നതുപോലെ ഒരു distance ഇൻസ്റ്റൻസ് സൃഷ്ടിക്കണം:

/* This constructor is required when using VS Code.
Distance Sensor configuration is generated automatically
in VEXcode using the Device Menu. Replace the values
as needed. */

// Create a Distance Sensor instance in Port 1
distance Distance1 = distance(PORT1);

objectDistance#

ദൂര സെൻസറും ഏറ്റവും അടുത്തുള്ള കണ്ടെത്തിയ വസ്തുവും തമ്മിലുള്ള ദൂരം നൽകുന്നു.

Available Functions
double objectDistance( distanceUnits units );

Parameters

പാരാമീറ്റർ

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

വിവരണം

units

distanceUnits

ദൂര യൂണിറ്റ്:

  • mm - മില്ലിമീറ്റർ (20 mm മുതൽ 2000 mm വരെ)
  • cm - സെന്റീമീറ്റർ (2 cm മുതൽ 200 cm വരെ)
  • inches - ഇഞ്ച് (0.78 ഇഞ്ച് മുതൽ 78.74 ഇഞ്ച് വരെ)

Return Values

നിർദ്ദിഷ്ട യൂണിറ്റുകളിൽ ദൂര സെൻസറും ഏറ്റവും അടുത്തുള്ള കണ്ടെത്തിയ വസ്തുവും തമ്മിലുള്ള ദൂരത്തെ പ്രതിനിധീകരിക്കുന്ന double നൽകുന്നു.

objectSize#

ദൂര സെൻസർ കണ്ടെത്തിയ വസ്തുവിന്റെ കണക്കാക്കിയ വലുപ്പം തിരികെ നൽകുന്നു.

കണ്ടെത്തിയ വസ്തു സെൻസറിന്റെ കാഴ്ചയുടെ എത്രത്തോളം ഉൾക്കൊള്ളുന്നു എന്നതിനെ അടിസ്ഥാനമാക്കിയാണ് ദൂര സെൻസർ വസ്തുവിന്റെ വലുപ്പം കണക്കാക്കുന്നത്.

Available Functions
sizeType objectSize();

Parameters

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

Return Values

കണ്ടെത്തിയ വസ്തുവിന്റെ കണക്കാക്കിയ വലുപ്പം സൂചിപ്പിക്കുന്ന sizeType നൽകുന്നു:

  • none — No object is detected.
  • small — A small object is detected.
  • medium — A medium object is detected.
  • large — A large object is detected.

objectVelocity#

കണ്ടെത്തിയ വസ്തുവിന്റെ ആപേക്ഷിക പ്രവേഗം നൽകുന്നു.

ഡിസ്റ്റൻസ് സെൻസറിലേക്ക് വസ്തു എത്ര വേഗത്തിൽ നീങ്ങുന്നു അല്ലെങ്കിൽ അകന്നുപോകുന്നു എന്ന് പ്രവേഗം കാണിക്കുന്നു. 0 ന് സമീപമുള്ള മൂല്യം അർത്ഥമാക്കുന്നത് സെൻസറുമായി താരതമ്യപ്പെടുത്തുമ്പോൾ വസ്തു അധികം നീങ്ങുന്നില്ല എന്നാണ്.

Available Functions
double objectVelocity();

Parameters

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

Return Values

കണ്ടെത്തിയ വസ്തുവിന്റെ ആപേക്ഷിക പ്രവേഗത്തെ m/s (മീറ്റർ പെർ സെക്കൻഡ്) ൽ പ്രതിനിധീകരിക്കുന്ന double നൽകുന്നു.

isObjectDetected#

ദൂര സെൻസർ നിലവിൽ ഒരു വസ്തുവിനെ കണ്ടെത്തുന്നുണ്ടോ എന്ന് നൽകുന്നു.

Available Functions
bool isObjectDetected();

Parameters

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

Return Values

ദൂര സെൻസർ ഒരു വസ്തുവിനെ കണ്ടെത്തുന്നുണ്ടോ എന്ന് സൂചിപ്പിക്കുന്ന ഒരു ബൂളിയൻ നൽകുന്നു:

  • true — The Distance Sensor detects an object.
  • false — The Distance Sensor does not detect an object.

changed#

കണ്ടെത്തിയ ദൂര മൂല്യം മാറുമ്പോൾ പ്രവർത്തിക്കുന്ന ഒരു കോൾബാക്ക് ഫംഗ്ഷൻ രജിസ്റ്റർ ചെയ്യുന്നു.

Available Functions
void changed( void (* callback)(void) );

Parameters

പാരാമീറ്റർ

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

വിവരണം

callback

void (*)(void)

കണ്ടെത്തിയ ദൂര മൂല്യം മാറുമ്പോൾ വിളിക്കപ്പെടുന്ന ഒരു ഫംഗ്ഷനിലേക്കുള്ള ഒരു പോയിന്റർ. ഫംഗ്ഷൻ ഒരു പാരാമീറ്ററും എടുക്കരുത്, കൂടാതെ void തിരികെ നൽകണം.

Return Values

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

installed#

ദൂര സെൻസർ ഇൻസ്റ്റാൾ ചെയ്‌ത് ബന്ധിപ്പിച്ചിട്ടുണ്ടോ എന്ന് നൽകുന്നു.

Available Functions
bool installed();

Parameters

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

Return Values

ദൂര സെൻസർ ഇൻസ്റ്റാൾ ചെയ്‌തിട്ടുണ്ടോ എന്നും ബന്ധിപ്പിച്ചിട്ടുണ്ടോ എന്നും സൂചിപ്പിക്കുന്ന ഒരു ബൂളിയൻ നൽകുന്നു:

  • true — The Distance Sensor is installed and connected.
  • false — The Distance Sensor is not installed or not connected.