വിക്ടർ 883 മോട്ടോർ#

ആമുഖം#

3-വയർ പോർട്ടുമായി ബന്ധിപ്പിച്ചിരിക്കുന്ന ഒരു വിക്ടർ 883 മോട്ടോർ കൺട്രോളറെ നിയന്ത്രിക്കാൻ motor_victor ക്ലാസ് ഉപയോഗിക്കുന്നു. സ്മാർട്ട് പോർട്ടുകളിലേക്ക് നേരിട്ട് ബന്ധിപ്പിക്കാൻ കഴിയാത്ത അനുയോജ്യമായ VEXpro അല്ലെങ്കിൽ VEX EDR DC മോട്ടോറുകളെ നിയന്ത്രിക്കാൻ വിക്ടർ 883 മോട്ടോർ കൺട്രോളർ V5 ബ്രെയിനിൽ നിന്ന് ഒരു PWM സിഗ്നൽ അയയ്ക്കുന്നു.

വിക്ടർ 883 മോട്ടോർ കൺട്രോളർ VEXcode-ൽ കോൺഫിഗർ ചെയ്യാൻ കഴിയില്ല, ഉപയോഗിക്കുന്നതിന് അത് കോഡിൽ സ്വമേധയാ നിർമ്മിച്ചിരിക്കണം.

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

1 — നിർദ്ദിഷ്ട 3-വയർ പോർട്ടുമായി ബന്ധിപ്പിച്ചിരിക്കുന്ന വിക്ടർ 883 മോട്ടോർ കൺട്രോളറിനായി motor_victor ഒബ്‌ജക്റ്റ് സൃഷ്ടിക്കുന്നു.

motor_victor( triport::port& port );

2 — നിർദ്ദിഷ്ട 3-വയർ പോർട്ടിൽ ഒരു motor_victor ഒബ്‌ജക്റ്റ് സൃഷ്ടിക്കുകയും ഓപ്ഷണലായി അതിന്റെ ദിശ വിപരീതമാക്കുകയും ചെയ്യുന്നു.

motor_victor(
 triport::port& port,
 bool           reverse );

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

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

~motor_victor();

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

പാരാമീറ്റർ

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

വിവരണം

port

triport::port&

വിക്ടർ 883 മോട്ടോർ ബന്ധിപ്പിച്ചിരിക്കുന്ന 3-വയർ പോർട്ട്, Brain.ThreeWirePort.X അല്ലെങ്കിൽ ExpanderName.Xഎന്ന് എഴുതിയിരിക്കുന്നു, ഇവിടെ X എന്നത് പോർട്ട് അക്ഷരമാണ് (ഉദാഹരണത്തിന്, Brain.ThreeWirePort.A അല്ലെങ്കിൽ Expander1.A).

reverse

bool

മോട്ടോറിന്റെ സ്പിൻ ദിശ വിപരീത ദിശയിലാണോ എന്ന് സജ്ജമാക്കുന്നു:

  • false (സ്ഥിരസ്ഥിതി) — മോട്ടോറിന്റെ ദിശ വിപരീത ദിശയിലാക്കുന്നില്ല.
  • true — മോട്ടോറിന്റെ ദിശ വിപരീത ദിശയിലാക്കുന്നു.

ഉദാഹരണം#

// Create the motor_victor instance on 3-Wire Port A
motor_victor victor = motor_victor(Brain.ThreeWirePort.A);

// Create the motor_victor instance with reversed direction
motor_victor victor2 = motor_victor(Brain.ThreeWirePort.B, true);

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

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

  • spin — മോട്ടോർ ഒരു നിശ്ചിത ദിശയിൽ കറക്കുന്നു.

  • stop — മോട്ടോർ നിർത്തുന്നു.

  • setVelocity — മോട്ടോർ എത്ര വേഗത്തിൽ കറങ്ങണമെന്ന് പറയുന്നു.

  • setReversed — മോട്ടോർ ദിശ റിവേഴ്‌സ് ചെയ്യണോ വേണ്ടയോ എന്ന് സജ്ജമാക്കുന്നു.

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

/* This constructor is required to use a
Victor 883 Motor. Replace the values
as needed. */

// Create the motor_victor instance on 3-Wire Port A
motor_victor victor = motor_victor(Brain.ThreeWirePort.A);

spin#

മോട്ടോർ നിശ്ചിത ദിശയിൽ എന്നെന്നേക്കുമായി കറക്കുന്നു.

Available Functions

1 — നിലവിൽ കോൺഫിഗർ ചെയ്‌തിരിക്കുന്ന മോട്ടോർ പ്രവേഗം ഉപയോഗിച്ച് മോട്ടോർ കറക്കുന്നു.

void spin(
 directionType dir );

2 — നിർദ്ദിഷ്ട വേഗതയിൽ മോട്ടോർ കറക്കുന്നു.

void spin(
 directionType dir,
 double        velocity,
 velocityUnits units );

Parameters

പാരാമീറ്റർ

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

വിവരണം

dir

directionType

മോട്ടോർ കറങ്ങുന്ന ദിശ: forward അല്ലെങ്കിൽ reverse.

velocity

double

percent ഉപയോഗിക്കുമ്പോൾ 0% മുതൽ 100% വരെ കറങ്ങാനുള്ള വേഗത.

units

velocityUnits

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

  • percent / pct — ശതമാനം
  • rpm — മിനിറ്റിൽ ഭ്രമണങ്ങൾ
  • dps — സെക്കൻഡിൽ ഡിഗ്രി

Return Values

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

Notes
  • stop വിളിക്കുന്നതുവരെയോ അല്ലെങ്കിൽ മറ്റൊരു ചലന പ്രവർത്തനം നടപ്പിലാക്കുന്നതുവരെയോ മോട്ടോർ കറങ്ങിക്കൊണ്ടിരിക്കും.

Examples
// Spin forward, then stop
victor.spin(forward);
wait(1, seconds);
victor.stop();

// Spin forward at 100 rpm
victor.spin(forward, 100, rpm);
wait(1, seconds);
victor.stop();

stop#

മോട്ടോർ കറങ്ങുന്നത് നിർത്തുന്നു.

Available Functions
void stop();

Parameters

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

Return Values

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

Notes
  • stop എന്ന് വിളിച്ചാൽ മോട്ടോർ ചലനം ഉടനടി നിർത്തും.

Examples
// Spin and then stop
victor.spin(forward);
wait(1, seconds);
victor.stop();

setVelocity#

മോട്ടോറിന് എത്ര വേഗത്തിൽ കറങ്ങണമെന്ന് പറയുന്നു. ഉയർന്ന ശതമാനം മോട്ടോർ കറങ്ങുന്നത് വേഗത്തിലാക്കുന്നു, കുറഞ്ഞ ശതമാനം മോട്ടോർ കറങ്ങുന്നത് മന്ദഗതിയിലാക്കുന്നു.

എല്ലാ പ്രോജക്റ്റുകളും ആരംഭിക്കുമ്പോൾ, ബന്ധിപ്പിച്ചിരിക്കുന്ന ഓരോ മോട്ടോറും സ്ഥിരസ്ഥിതിയായി 50% വേഗതയിൽ കറങ്ങുന്നു.

Available Functions
void setVelocity(
    double       velocity,
    percentUnits units );

Parameters

പാരാമീറ്റർ

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

വിവരണം

velocity

double

percent ഉപയോഗിക്കുമ്പോൾ 0% മുതൽ 100% വരെ കറങ്ങാനുള്ള വേഗത.

units

percentUnits

പ്രവേഗ യൂണിറ്റ്:percent / pct — ശതമാനം

Return Values

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

Notes
  • spin പോലുള്ള തുടർന്നുള്ള ഏതൊരു വിക്ടർ 883 മോട്ടോർ മൂവ്മെന്റ് ഫംഗ്ഷനും, വ്യക്തമായി ഒരു പ്രവേഗം വ്യക്തമാക്കാത്തതും ഈ മൂല്യം ഉപയോഗിക്കും.

Examples
// Set velocity to 50%, then spin
victor.setVelocity(50, percent);
victor.spin(forward);

setReversed#

മോട്ടോർ ദിശ തിരിച്ചെടുക്കണോ വേണ്ടയോ എന്ന് സജ്ജമാക്കുന്നു.

Available Functions
void setReversed( bool value );

Parameters

പാരാമീറ്റർ

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

വിവരണം

value

bool

മോട്ടോറിന്റെ ദിശ വിപരീത ദിശയിലാണോ എന്ന്:

  • true — മോട്ടോറിന്റെ ദിശ വിപരീത ദിശയിലാക്കുന്നു.
  • false — മോട്ടോറിന്റെ ദിശ അതിന്റെ സ്ഥിരസ്ഥിതിയിലേക്ക് തിരികെ നൽകുന്നു.

Return Values

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

Notes Examples
// Reverse the motor direction
victor.setReversed(true);
victor.spin(forward); // Will actually spin in reverse