Victor 883 Motor#

Εισαγωγή#

Η κλάση motor_victor χρησιμοποιείται για τον έλεγχο ενός ελεγκτή κινητήρα Victor 883 που είναι συνδεδεμένος σε μια θύρα 3 καλωδίων. Ο ελεγκτής κινητήρα Victor 883 στέλνει ένα σήμα PWM από τον εγκέφαλο EXP για τον έλεγχο συμβατών κινητήρων συνεχούς ρεύματος VEXpro ή VEX EDR που δεν μπορούν να συνδεθούν απευθείας σε έξυπνες θύρες.

Ο ελεγκτής κινητήρα Victor 883 δεν μπορεί να διαμορφωθεί σε VEXcode και πρέπει να κατασκευαστεί χειροκίνητα σε κώδικα για να χρησιμοποιηθεί.

Κατασκευαστές κλάσεων#

1 — Δημιουργεί ένα αντικείμενο motor_victor για τον ελεγκτή κινητήρα Victor 883 που είναι συνδεδεμένος στην καθορισμένη θύρα 3 καλωδίων.

motor_victor( triport::port& port );

2 — Δημιουργεί ένα αντικείμενο motor_victor στην καθορισμένη θύρα 3 καλωδίων και προαιρετικά αντιστρέφει την κατεύθυνσή του.

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

Καταστροφέας κλάσης#

Καταστρέφει το αντικείμενο motor_victor και απελευθερώνει τους σχετικούς πόρους.

~motor_victor();

Παράμετροι#

Παράμετρος

Τύπος

Περιγραφή

port

triport::port&

Η θύρα 3 καλωδίων στην οποία είναι συνδεδεμένος ο κινητήρας Victor 883, γραμμένη ως 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

Η ταχύτητα περιστροφής κυμαίνεται από 0% έως 100% όταν χρησιμοποιείται percent.

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

Η ταχύτητα περιστροφής κυμαίνεται από 0% έως 100% όταν χρησιμοποιείται percent.

units

percentUnits

Η μονάδα ταχύτητας:percent % pct τοις εκατό

Return Values

Αυτή η συνάρτηση δεν επιστρέφει τιμή.

Notes
  • Οποιαδήποτε επακόλουθη συνάρτηση κίνησης κινητήρα Victor 883 (όπως spin) που δεν καθορίζει ρητά μια ταχύτητα θα χρησιμοποιήσει αυτήν την τιμή.

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
  • Αυτό είναι το ίδιο με την αλλαγή της παραμέτρου reverse στον constructor.

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