റേഞ്ച് ഫൈൻഡർ#

ആമുഖം#

ശബ്ദതരംഗങ്ങൾ ഉപയോഗിച്ച് ഏറ്റവും അടുത്തുള്ള വസ്തുവിലേക്കുള്ള ദൂരം അളക്കുന്ന അൾട്രാസോണിക് റേഞ്ച് ഫൈൻഡറിൽ sonar ക്ലാസ് ഉപയോഗിക്കുന്നു. ഒരു അൾട്രാസോണിക് പൾസ് അയച്ച് ശബ്ദം തിരികെ ബൗൺസ് ചെയ്യാൻ എത്ര സമയമെടുക്കുന്നുവെന്ന് അളക്കുന്നതിലൂടെയാണ് ഇത് പ്രവർത്തിക്കുന്നത്.

VEX V5 റേഞ്ച് ഫൈൻഡർ.

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

sonar(
  triport::port &port);

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

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

virtual ~sonar();

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

പാരാമീറ്റർ

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

വിവരണം

port

triport::port &

റേഞ്ച് ഫൈൻഡർ ഉപയോഗിക്കുന്ന ഒരു ആവശ്യമായ രണ്ട്-പോർട്ട് ഗ്രൂപ്പിന്റെ ആദ്യ 3-വയർ പോർട്ട്. ബ്രെയിൻ അല്ലെങ്കിൽ ഒരു 3-വയർ എക്സ്പാൻഡറിൽ റേഞ്ച് ഫൈൻഡർ രണ്ട് അടുത്തുള്ള പോർട്ടുകൾ (A–B, C–D, E–F, അല്ലെങ്കിൽ G–H) ഉൾക്കൊള്ളുന്നു. Brain.ThreeWirePort.X അല്ലെങ്കിൽ ExpanderName.X എന്ന് എഴുതിയിരിക്കുന്ന ജോഡിയിലെ ആദ്യ പോർട്ട് (A, C, E, അല്ലെങ്കിൽ G) വ്യക്തമാക്കുക, ഇവിടെ X പോർട്ട് അക്ഷരമാണ് (ഉദാഹരണത്തിന്, Brain.ThreeWirePort.A അല്ലെങ്കിൽ Expander1.C).

ഉദാഹരണങ്ങൾ#

// Create a sonar instance in Ports A and B
sonar RangeFinderA = sonar(Brain.ThreeWirePort.A);

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

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

  • foundObject — റേഞ്ച് ഫൈൻഡർ ഒരു വസ്തുവിനെ കണ്ടെത്തുന്നുണ്ടോ എന്ന് നൽകുന്നു.

  • distance — റേഞ്ച് ഫൈൻഡറും ഏറ്റവും അടുത്തുള്ള കണ്ടെത്തിയ വസ്തുവും തമ്മിലുള്ള ദൂരം നൽകുന്നു.

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

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

// Create a sonar instance in Ports A and B
sonar RangeFinderA = sonar(Brain.ThreeWirePort.A);

foundObject#

റേഞ്ച് ഫൈൻഡർ അതിന്റെ വ്യൂ ഫീൽഡിനുള്ളിൽ ഒരു വസ്തുവിനെ കണ്ടെത്തുന്നുണ്ടോ എന്ന് നൽകുന്നു.

Available Functions
bool foundObject();

Parameters

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

Return Values

റേഞ്ച് ഫൈൻഡർ ഒരു വസ്തുവിനെ കണ്ടെത്തുന്നുണ്ടോ എന്ന് പ്രതിനിധീകരിക്കുന്ന bool നൽകുന്നു:

  • true — റേഞ്ച് ഫൈൻഡർ ഒരു വസ്തുവിനെ കണ്ടെത്തുന്നു.

  • false — റേഞ്ച് ഫൈൻഡർ ഒരു വസ്തുവിനെ കണ്ടെത്തുന്നില്ല.

Examples
// Check if an object is detected.
if (RangeFinderA.foundObject()){
    // Print to screen on the brain that an object was found.
    Brain.Screen.print("object found");
}

distance#

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

Available Functions
double distance(
  distanceUnits units );

Parameters

പാരാമീറ്റർ

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

വിവരണം

units

distanceUnits

ദൂരത്തെ പ്രതിനിധീകരിക്കുന്ന യൂണിറ്റ്: inches അല്ലെങ്കിൽ mm — മില്ലിമീറ്റർ.

Return Values

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

Examples
// Get the Range Finder distance in millimeters.
double value = RangeFinderA.distance(mm);

// Print the current distance detected by the Range Finder to the
// Brain's screen.
Brain.Screen.print(value);