Ελεγκτής#

Εισαγωγή#

Το χειριστήριο VEX IQ (2ης γενιάς) διαθέτει κουμπιά και δύο joystick. Οι μέθοδοι του χειριστηρίου μπορούν να χρησιμοποιηθούν για τον έλεγχο των πατημάτων κουμπιών, την ανάγνωση της κίνησης του joystick, την ενεργοποίηση ή απενεργοποίηση των διαμορφωμένων ενεργειών του χειριστηρίου ή την εκτέλεση λειτουργιών όταν συμβαίνουν συμβάντα του χειριστηρίου.

Το IQ (2ης γενιάς) Brain μπορεί να συνδεθεί είτε με ένα χειριστήριο IQ (2ης γενιάς) είτε με ένα χειριστήριο IQ (1ης γενιάς). Ένα χειριστήριο IQ (1ης γενιάς) πρέπει να διαθέτει εγκατεστημένο ένα μπλε Smart Radio.

Configured controller actions are controller behaviors set in the Devices menu. Use remote_control_code_enabled to temporarily enable or disable those configured actions during a project.

This page uses controller as the example controller name. Replace it with your own configured name as needed.

Παρακάτω είναι μια λίστα με όλες τις διαθέσιμες μεθόδους:

Ενέργεια — Ενεργοποίηση ή απενεργοποίηση των διαμορφωμένων ενεργειών του χειριστηρίου.

Λήψη κουμπιών — Ανάγνωση καταστάσεων κουμπιών και θέσεων joystick.

  • .pressing — Returns whether a specified button is being pressed.

  • .position — Returns the position of a specified joystick axis.

Επανακλήσεις — Εκτέλεση συναρτήσεων όταν αλλάζει η είσοδος του ελεγκτή.

  • .pressed — Runs a function when a specified button is pressed.

  • .released — Runs a function when a specified button is released.

  • .changed — Runs a function when the joystick’s position changes along a specified axis.

Κατασκευαστής — Δημιουργήστε χειροκίνητα ένα αντικείμενο Ελεγκτή.

Δράση#

remote_control_code_enabled#

remote_control_code_enabled is a variable that enables or disables controller actions configured in the Devices menu. Controller configured actions are enabled by default.

Usage:
remote_control_code_enabled = state

Αξία

Περιγραφή

True

Ενεργοποιεί ενέργειες που έχουν ρυθμιστεί από τον ελεγκτή.

False

Απενεργοποιεί τις ενέργειες που έχουν ρυθμιστεί από τον ελεγκτή.

# Use custom controller code, then re-enable configured actions
remote_control_code_enabled = False

while True:
    if controller.axisA.position() > 0:
        drivetrain.drive(FORWARD)
    elif controller.axisA.position() < 0:
        drivetrain.drive(REVERSE)
    elif controller.buttonEUp.pressing():
        break
    else:
        drivetrain.stop()

    wait(20, MSEC)

remote_control_code_enabled = True

Αποκτητές#

.pressing#

.pressing returns whether a specific button on the controller is currently being pressed. This method must be called on a specific button object, such as controller.buttonEUp.

  • True — The specified button is being pressed.

  • False — The specified button is not being pressed.

Χρήση:
Ένα από τα διαθέσιμα αντικείμενα κουμπιών μπορεί να χρησιμοποιηθεί με αυτήν τη μέθοδο:

Μια μπροστινή και μια πίσω όψη του χειριστηρίου IQ 2ης γενιάς με όλα τα κουμπιά επισημασμένα με κίτρινο χρώμα. Η επιφάνεια του χειριστηρίου περιέχει δύο κουμπιά joystick στην επάνω αριστερή και δεξιά γωνία, με το E πάνω και κάτω κάτω από το αριστερό joystick και το F πάνω και κάτω κάτω από τη δεξιά. Στο πίσω μέρος του χειριστηρίου υπάρχουν το L πάνω και κάτω και το R πάνω και κάτω στην αριστερή και δεξιά πλευρά αντίστοιχα.

Κουμπί

Εντολή

buttonEDown

controller.buttonEDown.pressing() — The E ▼ button

buttonEUp

controller.buttonEUp.pressing() — The E ▲ button

buttonFDown

controller.buttonFDown.pressing() — The F ▼ button

buttonFUp

controller.buttonFUp.pressing() — The F ▲ button

buttonL3

controller.buttonL3.pressing() — The Left Joystick button, IQ (2nd gen) Controller only

buttonLDown

controller.buttonLDown.pressing() — The L ▼ button

buttonLUp

controller.buttonLUp.pressing() — The L ▲ button

buttonR3

controller.buttonR3.pressing() — The Right Joystick button, IQ (2nd gen) Controller only

buttonRDown

controller.buttonRDown.pressing() — The R ▼ button

buttonRUp

controller.buttonRUp.pressing() — The R ▲ button

Παράμετροι

Περιγραφή

Αυτή η μέθοδος δεν έχει παραμέτρους.

# Turn right while E Up is held
while True:
    if controller.buttonEUp.pressing():
        drivetrain.turn(RIGHT)
    else:
        drivetrain.stop()

    wait(20, MSEC)

.position#

.position returns the position of a joystick axis as a number from -100 to 100.

This method must be called on a specific axis object, such as controller.axisA.

Χρήση:
Ένα από τα διαθέσιμα αντικείμενα άξονα μπορεί να χρησιμοποιηθεί με αυτήν τη μέθοδο:

Το χειριστήριο IQ 2ης γενιάς με τους τέσσερις άξονες του joystick επισημασμένους. Στο αριστερό joystick, ο άξονας A είναι κάθετος και ο άξονας B είναι οριζόντιος. Στο δεξί joystick, ο άξονας C είναι οριζόντιος και ο άξονας D είναι κάθετος.

Αξονας

Εντολή

axisA

controller.axisA.position() — The left joystick’s vertical axis

axisB

controller.axisB.position() — The left joystick’s horizontal axis

axisC

controller.axisC.position() — The right joystick’s horizontal axis

axisD

controller.axisD.position() — The right joystick’s vertical axis

Παράμετροι

Περιγραφή

Αυτή η μέθοδος δεν έχει παραμέτρους.

# Turn with the left joystick
remote_control_code_enabled = False

while True:
    if controller.axisB.position() > 10:
        drivetrain.turn(RIGHT)
    elif controller.axisB.position() < -10:
        drivetrain.turn(LEFT)
    else:
        drivetrain.stop()

    wait(20, MSEC)

Επανακλήσεις#

.pressed#

.pressed runs a function when the specified button is pressed. Once it is used, the function will run automatically each time that button is pressed.

Χρήση:
Ένα από τα διαθέσιμα αντικείμενα κουμπιών μπορεί να χρησιμοποιηθεί με αυτήν τη μέθοδο:

Μια μπροστινή και μια πίσω όψη του χειριστηρίου IQ 2ης γενιάς με όλα τα κουμπιά επισημασμένα με κίτρινο χρώμα. Η επιφάνεια του χειριστηρίου περιέχει δύο κουμπιά joystick στην επάνω αριστερή και δεξιά γωνία, με το E πάνω και κάτω κάτω από το αριστερό joystick και το F πάνω και κάτω κάτω από τη δεξιά. Στο πίσω μέρος του χειριστηρίου υπάρχουν το L πάνω και κάτω και το R πάνω και κάτω στην αριστερή και δεξιά πλευρά αντίστοιχα.

Κουμπί

Εντολή

buttonEDown

controller.buttonEDown.pressed(callback, arg) — The E ▼ button

buttonEUp

controller.buttonEUp.pressed(callback, arg) — The E ▲ button

buttonFDown

controller.buttonFDown.pressed(callback, arg) — The F ▼ button

buttonFUp

controller.buttonFUp.pressed(callback, arg) — The F ▲ button

buttonL3

controller.buttonL3.pressed(callback, arg) — The Left Joystick button, IQ (2nd gen) Controller only

buttonLDown

controller.buttonLDown.pressed(callback, arg) — The L ▼ button

buttonLUp

controller.buttonLUp.pressed(callback, arg) — The L ▲ button

buttonR3

controller.buttonR3.pressed(callback, arg) — The Right Joystick button, IQ (2nd gen) Controller only

buttonRDown

controller.buttonRDown.pressed(callback, arg) — The R ▼ button

buttonRUp

controller.buttonRUp.pressed(callback, arg) — The R ▲ button

Παράμετρος

Περιγραφή

callback

Μια προηγουμένως καθορισμένη συνάρτηση που θα εκτελείται κάθε φορά που πατιέται το καθορισμένο κουμπί.

arg

Προαιρετικό. Μια πλειάδα που περιέχει ορίσματα για να μεταβιβαστούν στη συνάρτηση επανάκλησης. Δείτε Χρήση συμβάντων με παραμέτρους για περισσότερες πληροφορίες.

# Drive forward when E Up is pressed
def drive_forward():
    drivetrain.drive_for(FORWARD, 100, MM)

controller.buttonEUp.pressed(drive_forward)

.released#

.released runs a function when the specified button is released. Once it is used, the function will run automatically each time that button is released.

Χρήση:
Ένα από τα διαθέσιμα αντικείμενα κουμπιών μπορεί να χρησιμοποιηθεί με αυτήν τη μέθοδο:

Μια μπροστινή και μια πίσω όψη του χειριστηρίου IQ 2ης γενιάς με όλα τα κουμπιά επισημασμένα με κίτρινο χρώμα. Η επιφάνεια του χειριστηρίου περιέχει δύο κουμπιά joystick στην επάνω αριστερή και δεξιά γωνία, με το E πάνω και κάτω κάτω από το αριστερό joystick και το F πάνω και κάτω κάτω από τη δεξιά. Στο πίσω μέρος του χειριστηρίου υπάρχουν το L πάνω και κάτω και το R πάνω και κάτω στην αριστερή και δεξιά πλευρά αντίστοιχα.

Κουμπί

Εντολή

buttonEDown

controller.buttonEDown.released(callback, arg) — The E ▼ button

buttonEUp

controller.buttonEUp.released(callback, arg) — The E ▲ button

buttonFDown

controller.buttonFDown.released(callback, arg) — The F ▼ button

buttonFUp

controller.buttonFUp.released(callback, arg) — The F ▲ button

buttonL3

controller.buttonL3.released(callback, arg) — The Left Joystick button, IQ (2nd gen) Controller only

buttonLDown

controller.buttonLDown.released(callback, arg) — The L ▼ button

buttonLUp

controller.buttonLUp.released(callback, arg) — The L ▲ button

buttonR3

controller.buttonR3.released(callback, arg) — The Right Joystick button, IQ (2nd gen) Controller only

buttonRDown

controller.buttonRDown.released(callback, arg) — The R ▼ button

buttonRUp

controller.buttonRUp.released(callback, arg) — The R ▲ button

Παράμετρος

Περιγραφή

callback

Μια προηγουμένως καθορισμένη συνάρτηση που θα εκτελείται κάθε φορά που απελευθερώνεται το καθορισμένο κουμπί.

arg

Προαιρετικό. Μια πλειάδα που περιέχει ορίσματα για να μεταβιβαστούν στη συνάρτηση επανάκλησης. Δείτε Χρήση συμβάντων με παραμέτρους για περισσότερες πληροφορίες.

# Stop driving when E Up is released
def stop_driving():
    drivetrain.stop()

controller.buttonEUp.released(stop_driving)

.changed#

.changed runs a function when the joystick’s position changes along the specified axis. Once it is used, the function will run automatically each time the joystick’s position changes along that axis.

Χρήση:
Ένα από τα διαθέσιμα αντικείμενα άξονα μπορεί να χρησιμοποιηθεί με αυτήν τη μέθοδο:

Το χειριστήριο IQ 2ης γενιάς με τους τέσσερις άξονες του joystick επισημασμένους. Στο αριστερό joystick, ο άξονας A είναι κάθετος και ο άξονας B είναι οριζόντιος. Στο δεξί joystick, ο άξονας C είναι οριζόντιος και ο άξονας D είναι κάθετος.

Αξονας

Εντολή

axisA

controller.axisA.changed(callback, arg) — The left joystick’s vertical axis

axisB

controller.axisB.changed(callback, arg) — The left joystick’s horizontal axis

axisC

controller.axisC.changed(callback, arg) — The right joystick’s horizontal axis

axisD

controller.axisD.changed(callback, arg) — The right joystick’s vertical axis

Παράμετρος

Περιγραφή

callback

Μια προηγουμένως καθορισμένη συνάρτηση που θα εκτελείται κάθε φορά που αλλάζει η θέση του joystick κατά μήκος του καθορισμένου άξονα.

arg

Προαιρετικό. Μια πλειάδα που περιέχει ορίσματα για να μεταβιβαστούν στη συνάρτηση επανάκλησης. Δείτε Χρήση συμβάντων με παραμέτρους για περισσότερες πληροφορίες.

# Play a sound when the right joystick moves
def beep():
    brain.play_sound(SoundType.TADA)

controller.axisD.changed(beep)

Κατασκευαστές#

Controller#

Controller creates a Controller object. Manually creating a Controller object is only needed when configuring a controller outside of VEXcode.

Usage:
Controller()

Παράμετροι

Περιγραφή

Αυτός ο κατασκευαστής δεν έχει παραμέτρους.

# Create a Controller object
my_controller = Controller()