Python ειδικά για ρομπότ#

Εισαγωγή#

Το Hero Bot, Swish, περιλαμβάνει μία επιλογή κινητήρα, μία επιλογή ομάδας κινητήρων και τον Οπτικό Αισθητήρα.

Όλες οι τυπικές μέθοδοι VR VEXcode είναι διαθέσιμες για χρήση στην παιδική χαρά IQ 24-25 Rapid Relay.

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

Σύστημα μετάδοσης κίνησης – Μετακινήστε και περιστρέψτε το ρομπότ.

  • Ενέργειες

    • drive — Μετακινεί το ρομπότ προς τα εμπρός ή προς τα πίσω για πάντα.

    • drive_for — Μετακινεί το ρομπότ προς τα εμπρός ή προς τα πίσω για μια συγκεκριμένη απόσταση.

    • turn — Στρέφει το ρομπότ αριστερά ή δεξιά για πάντα.

    • turn_for — Στρέφει το ρομπότ αριστερά ή δεξιά για έναν συγκεκριμένο αριθμό μοιρών.

    • turn_to_heading — Στρέφει το ρομπότ ώστε να κοιτάζει προς μια συγκεκριμένη κατεύθυνση από -359 σε 359 μοίρες.

    • turn_to_rotation — Στρέφει το ρομπότ σε μια συγκεκριμένη περιστροφή.

    • stop — Σταματά την κίνηση του ρομπότ.

  • Μεταλλαγμένοι

    • set_heading — Αλλάζει την τρέχουσα κατεύθυνση του ρομπότ σε νέα.

    • set_rotation — Αλλάζει την τρέχουσα περιστροφή του ρομπότ σε μια νέα περιστροφή.

    • set_timeout — Ορίζει τον χρόνο που θα προσπαθήσει το ρομπότ να ολοκληρώσει μια κίνηση.

    • set_drive_velocity — Υποδεικνύει στο ρομπότ πόσο γρήγορα πρέπει να οδηγήσει.

    • set_turn_velocity — Υποδεικνύει στο ρομπότ πόσο γρήγορα πρέπει να στρίψει.

  • Αποκτητές

    • heading — Επιστρέφει την τρέχουσα κατεύθυνση του ρομπότ από 0 έως 359,99 μοίρες.

    • rotation — Επιστρέφει την τρέχουσα περιστροφή του ρομπότ.

    • is_done — Επιστρέφει εάν το ρομπότ έχει ολοκληρώσει την κίνησή του, ως λογική τιμή.

    • is_moving — Επιστρέφει εάν το ρομπότ κινείται, ως λογική τιμή.

    • velocity — Επιστρέφει την ταχύτητα με την οποία κινείται το ρομπότ.

Κίνηση - Μετακίνηση και παρακολούθηση του κινητήρα και της ομάδας κινητήρων του ρομπότ.

  • Ενέργειες

    • spin — Περιστρέφει έναν κινητήρα ή μια ομάδα κινητήρων προς τα εμπρός ή προς τα πίσω για πάντα.

    • spin_for — Περιστρέφει έναν κινητήρα ή μια ομάδα κινητήρων για μια συγκεκριμένη απόσταση.

    • spin_to_position — Περιστρέφει έναν κινητήρα ή μια ομάδα κινητήρων σε μια συγκεκριμένη θέση.

    • stop — Διακόπτει την περιστροφή ενός κινητήρα ή μιας ομάδας κινητήρων.

  • Μεταλλαγμένοι

    • set_position — Αλλάζει την τρέχουσα θέση του κινητήρα ή της ομάδας κινητήρων σε μια νέα τιμή.

    • set_velocity — Υποδεικνύει σε έναν κινητήρα ή σε μια ομάδα κινητήρων πόσο γρήγορα πρέπει να περιστραφεί.

    • set_timeout — Ορίζει τον χρόνο που ένας κινητήρας ή μια ομάδα κινητήρων θα προσπαθήσει να ολοκληρώσει μια κίνηση.

  • Αποκτητές

    • is_done — Επιστρέφει εάν ο κινητήρας ή η ομάδα κινητήρων έχει ολοκληρώσει την κίνηση, ως λογική τιμή.

    • is_spinning — Επιστρέφει εάν ο κινητήρας ή η ομάδα κινητήρων περιστρέφεται, ως λογική τιμή.

    • position — Επιστρέφει την τρέχουσα θέση του κινητήρα ή της ομάδας κινητήρων.

    • velocity — Επιστρέφει την ταχύτητα περιστροφής του κινητήρα ή της ομάδας κινητήρων.

Κονσόλα – Εκτύπωση στην Κονσόλα και παρακολούθηση τιμών.

  • Αποτύπωμα

    • brain.screen.print — Εμφανίζει κείμενο, αριθμούς ή τιμές μεταβλητών στην Κονσόλα.

    • brain.screen.next_row — Μετακινεί τον κέρσορα της κονσόλας στην αρχή της επόμενης γραμμής.

    • brain.screen.clear_screen — Διαγράφει όλες τις γραμμές από την Κονσόλα.

  • Ελεγκτής εκπομπών

    • monitor_variable — Προσθέτει μία ή περισσότερες προκαθορισμένες μεταβλητές στην καρτέλα Monitor.

    • monitor_sensor — Προσθέτει μία ή περισσότερες τιμές αισθητήρα στην καρτέλα Monitor.

Αισθητήρες - Χρησιμοποιήστε τους διάφορους αισθητήρες του ρομπότ.

  • Οπτικός

    • is_near_object – Επιστρέφει εάν ο Οπτικός Αισθητήρας ανιχνεύει ένα αντικείμενο εντός εμβέλειας.

    • color – Επιστρέφει το χρώμα που ανιχνεύεται από τον οπτικό αισθητήρα.

    • brightness – Επιστρέφει την ποσότητα φωτός που ανακλάται από το αντικείμενο.

    • hue – Επιστρέφει την απόχρωση που ανιχνεύεται από τον οπτικό αισθητήρα.

    • object_detected – Καταγράφει μια συνάρτηση που θα καλείται όταν ο οπτικός αισθητήρας ανιχνεύει ένα αντικείμενο.

    • object_lost – Καταγράφει μια συνάρτηση που θα κληθεί όταν ο Οπτικός Αισθητήρας χάσει ένα αντικείμενο.

Τα παραδείγματα σε αυτήν τη σελίδα χρησιμοποιούν την προεπιλεγμένη θέση έναρξης της Παιδικής Χαράς.

Σύστημα μετάδοσης κίνησης#

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

Ενέργειες#

οδηγώ#

drive κινεί το ρομπότ προς τα εμπρός ή προς τα πίσω για πάντα. Το ρομπότ θα συνεχίσει να κινείται μέχρι να του δοθεί μια άλλη ενέργεια, όπως στροφή ή στάση.

Usage:
drivetrain.drive(direction)

Παράμετροι

Περιγραφή

direction

Η κατεύθυνση κίνησης του ρομπότ: FORWARD ή REVERSE.

def main():
    # Drive forward then stop
    drivetrain.drive(FORWARD)
    wait(2, SECONDS)
    drivetrain.stop()

# VR threads — Do not delete
vr_thread(main)

μονάδα_δίσκου#

Η συνάρτηση drive_for μετακινεί το ρομπότ προς τα εμπρός ή προς τα πίσω για μια συγκεκριμένη απόσταση. Το έργο θα περιμένει μέχρι να ολοκληρωθεί η κίνηση του ρομπότ πριν εκτελεστεί η επόμενη γραμμή κώδικα.

Usage:
drivetrain.drive_for(direction, distance, units, wait)

Παράμετροι

Περιγραφή

direction

Η κατεύθυνση κίνησης του ρομπότ: FORWARD ή REVERSE.

distance

Η απόσταση που διανύει το ρομπότ. Αυτή μπορεί να είναι ένας ακέραιος αριθμός integer ή δεκαδικός αριθμός (float).

units

Η μονάδα απόστασης: INCHES ή MM (χιλιοστά).

wait

Προαιρετικό. wait=True (προεπιλογή) κάνει το έργο να περιμένει μέχρι το ρομπότ να ολοκληρώσει την κίνησή του πριν εκτελεστεί η επόμενη γραμμή κώδικα. wait=False κάνει την επόμενη γραμμή κώδικα να εκτελεστεί αμέσως.

def main():
    # Drive forward and backward
    drivetrain.drive_for(FORWARD, 200, MM)
    drivetrain.drive_for(REVERSE, 200, MM)

# VR threads — Do not delete
vr_thread(main)

σειρά#

turn γυρίζει το ρομπότ αριστερά ή δεξιά για πάντα. Το ρομπότ θα συνεχίσει να γυρίζει μέχρι να του δοθεί μια άλλη ενέργεια, όπως οδήγηση ή στάση.

Usage:
drivetrain.turn(direction)

Παράμετροι

Περιγραφή

direction

Η κατεύθυνση που γυρίζει το ρομπότ: LEFT ή RIGHT.

def main():
    # Turn right and left, then stop
    drivetrain.turn(RIGHT)
    wait(2, SECONDS)
    drivetrain.turn(LEFT)
    wait(2, SECONDS)
    drivetrain.stop()

# VR threads — Do not delete
vr_thread(main)

στροφή_για#

turn_for γυρίζει το ρομπότ αριστερά ή δεξιά για έναν συγκεκριμένο αριθμό μοιρών. Η στροφή είναι σχετική με την τρέχουσα θέση του ρομπότ. Το έργο θα περιμένει μέχρι το ρομπότ να ολοκληρώσει την στροφή πριν εκτελεστεί η επόμενη γραμμή κώδικα.

Usage:
drivetrain.turn_for(direction, angle, units, wait)

Παράμετροι

Περιγραφή

direction

Η κατεύθυνση που γυρίζει το ρομπότ: LEFT ή RIGHT.

angle

Ο αριθμός των μοιρών που περιστρέφεται το ρομπότ. Αυτός μπορεί να είναι ένας ακέραιος αριθμός integer ή δεκαδικός (float).

units

Η μονάδα περιστροφής: DEGREES.

wait

Προαιρετικό. wait=True (προεπιλογή) κάνει το έργο να περιμένει μέχρι το ρομπότ να ολοκληρώσει την περιστροφή του πριν εκτελεστεί η επόμενη γραμμή κώδικα. wait=False κάνει την επόμενη γραμμή κώδικα να εκτελεστεί αμέσως.

def main():
    # Turn the robot right and left
    drivetrain.turn_for(RIGHT, 90, DEGREES)
    wait(1, SECONDS)
    drivetrain.turn_for(LEFT, 90, DEGREES)

# VR threads — Do not delete
vr_thread(main)

στροφή_προς_την_κατεύθυνση#

Μια κατεύθυνση είναι η κατεύθυνση προς την οποία είναι στραμμένο το ρομπότ, μετρούμενη σε μοίρες. turn_to_heading γυρίζει το ρομπότ ώστε να στραφεί προς μια συγκεκριμένη κατεύθυνση από -359 σε 359 μοίρες. Το ρομπότ θα στρίψει προς τη συντομότερη κατεύθυνση για να φτάσει στην κατεύθυνση-στόχο.

Η αρχική κατεύθυνση του ρομπότ είναι 0 μοίρες.

Το έργο θα περιμένει μέχρι να ολοκληρώσει την περιστροφή του ρομπότ προτού εκτελεστεί η επόμενη γραμμή κώδικα.

Usage:
drivetrain.turn_to_heading(angle, units, wait)

Παράμετροι

Περιγραφή

angle

Η κατεύθυνση προς την οποία πρέπει να είναι στραμμένο το ρομπότ, σε μοίρες. Αυτή μπορεί να είναι ένας ακέραιος αριθμός integer ή δεκαδικός αριθμός (float) από -359 έως 359.

units

Η μονάδα περιστροφής: DEGREES.

wait

Προαιρετικό. wait=True (προεπιλογή) κάνει το έργο να περιμένει μέχρι το ρομπότ να ολοκληρώσει την περιστροφή του πριν εκτελεστεί η επόμενη γραμμή κώδικα. wait=False κάνει την επόμενη γραμμή κώδικα να εκτελεστεί αμέσως.

def main():
    # Turn to face the cardinal directions
    drivetrain.turn_to_heading(90, DEGREES)
    wait(1, SECONDS)
    drivetrain.turn_to_heading(180, DEGREES)
    wait(1, SECONDS)
    drivetrain.turn_to_heading(270, DEGREES)
    wait(1, SECONDS)
    drivetrain.turn_to_heading(0, DEGREES)

# VR threads — Do not delete
vr_thread(main)

στροφή_σε_περιστροφή#

turn_to_rotation γυρίζει το ρομπότ σε μια συγκεκριμένη περιστροφή.

Η περιστροφή είναι η περιστροφή του ρομπότ, μετρούμενη σε μοίρες. Στην αρχή ενός έργου, η τιμή περιστροφής ορίζεται σε 0 μοίρες. Η περιστροφή μπορεί επίσης να οριστεί χρησιμοποιώντας τη μέθοδο set_rotation.

Οι τιμές περιστροφής είναι απόλυτες. Αυτό σημαίνει ότι η κατεύθυνση της στροφής εξαρτάται από την τρέχουσα περιστροφή του ρομπότ. Η στροφή προς τα δεξιά αυξάνει την περιστροφή και η στροφή προς τα αριστερά τη μειώνει.

Για παράδειγμα, αν το ρομπότ ξεκινήσει από 0 μοίρες και στρίψετε σε περιστροφή 720 μοιρών, θα στρίψει δεξιά δύο φορές. Αν στη συνέχεια στρίψετε σε περιστροφή 360 μοιρών, θα στρίψει αριστερά μία φορά, επειδή οι 360 μοίρες είναι μικρότερες από 720 μοίρες.

Το έργο θα περιμένει μέχρι να ολοκληρώσει την περιστροφή του ρομπότ προτού εκτελεστεί η επόμενη γραμμή κώδικα.

Usage:
drivetrain.turn_to_rotation(angle, units, wait)

Παράμετροι

Περιγραφή

angle

Η τιμή περιστροφής, σε μοίρες, στην οποία θα στραφεί το ρομπότ. Αυτή μπορεί να είναι ένας ακέραιος αριθμός integer ή δεκαδικός αριθμός (float).

units

Η μονάδα περιστροφής: DEGREES.

wait

Προαιρετικό. wait=True (προεπιλογή) κάνει το έργο να περιμένει μέχρι το ρομπότ να ολοκληρώσει την περιστροφή του πριν εκτελεστεί η επόμενη γραμμή κώδικα. wait=False κάνει την επόμενη γραμμή κώδικα να εκτελεστεί αμέσως.

def main():
    # Turn left, then spin in a circle
    # clockwise and face right
    drivetrain.turn_to_rotation(-90, DEGREES)
    wait(1, SECONDS)
    drivetrain.turn_to_rotation(450, DEGREES)

# VR threads — Do not delete
vr_thread(main)

στάση#

stop σταματά την κίνηση του ρομπότ.

Usage:
drivetrain.stop()

Παράμετροι

Περιγραφή

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

def main():
    # Drive forward then stop
    drivetrain.drive(FORWARD)
    wait(2, SECONDS)
    drivetrain.stop()

# VR threads — Do not delete
vr_thread(main)

Μεταλλάκτες#

set_heading#

Μια κατεύθυνση είναι η κατεύθυνση που βλέπει το ρομπότ, μετρούμενη σε μοίρες. set_heading αλλάζει την τρέχουσα κατεύθυνση του ρομπότ σε μια νέα τιμή κατεύθυνσης.

Για παράδειγμα, εάν το ρομπότ έχει στραφεί προς τα δεξιά, η ρύθμιση της κατεύθυνσης σε 0 μοίρες καθιστά αυτή τη θέση προς τα δεξιά τις νέες 0 μοίρες. Στη συνέχεια, το ρομπότ μπορεί να στραφεί σε άλλες θέσεις με βάση αυτήν τη νέα κατεύθυνση.

Usage:
drivetrain.set_heading(heading, units)

Παράμετροι

Περιγραφή

heading

Η τιμή κατεύθυνσης, σε μοίρες, που θα οριστεί για το ρομπότ. Αυτή μπορεί να είναι ένας ακέραιος αριθμός integer ή δεκαδικός αριθμός (float)).

units

Η μονάδα επικεφαλίδας: DEGREES.

def main():
    # Face the new 0 degrees
    drivetrain.set_heading(90, DEGREES)
    drivetrain.turn_to_heading(0, DEGREES)

# VR threads — Do not delete
vr_thread(main)

set_rotation#

Η περιστροφή είναι η περιστροφή του ρομπότ, μετρούμενη σε μοίρες. Στην αρχή ενός έργου, η τιμή περιστροφής ορίζεται σε 0 μοίρες. set_rotation αλλάζει την τρέχουσα περιστροφή του ρομπότ σε μια νέα τιμή.

Για παράδειγμα, αν το ρομπότ έχει κάνει δύο πλήρεις στροφές προς τα δεξιά, η τιμή περιστροφής του θα είναι 720 μοίρες. Αν ορίσετε την περιστροφή σε 0 μοίρες, η περιστροφή θα επαναφερθεί από 720 σε 0 μοίρες. Στη συνέχεια, το ρομπότ μπορεί να στραφεί σε περιστροφές με βάση αυτήν τη νέα τιμή.

Usage:
drivetrain.set_rotation(rotation, units)

Παράμετροι

Περιγραφή

rotation

Η τιμή περιστροφής, σε μοίρες, που θα οριστεί για το ρομπότ. Αυτή μπορεί να είναι ένας ακέραιος αριθμός integer ή δεκαδικός αριθμός (float)).

units

Η μονάδα περιστροφής: DEGREES.

def main():
    # Spin counterclockwise two times
    drivetrain.set_rotation(720, DEGREES)
    drivetrain.turn_to_rotation(0, DEGREES)

# VR threads — Do not delete
vr_thread(main)

set_timeout#

set_timeout ορίζει τον χρόνο που το ρομπότ θα προσπαθήσει να ολοκληρώσει μια κίνηση. Εάν το ρομπότ δεν μπορεί να ολοκληρώσει σε αυτόν τον χρόνο, θα σταματήσει την προσπάθεια και θα προχωρήσει στην επόμενη γραμμή κώδικα. Αυτό εμποδίζει το ρομπότ να κολλήσει σε μια κίνηση.

Usage:
drivetrain.set_timeout(value, units)

Παράμετροι

Περιγραφή

value

Ο χρόνος που μπορεί να προσπαθήσει το ρομπότ για να ολοκληρώσει μια κίνηση. Αυτός μπορεί να είναι ένας θετικός integer ή δεκαδικός αριθμός (float).

units

Η μονάδα χρόνου: SECONDS ή MSEC (χιλιοστά του δευτερολέπτου).

def main():
    # Turn right after driving forward
    drivetrain.set_timeout(1, SECONDS)
    drivetrain.drive_for(FORWARD, 25, INCHES)
    drivetrain.turn_for(RIGHT, 90)

# VR threads — Do not delete
vr_thread(main)

set_drive_velocity#

set_drive_velocity λέει στο ρομπότ πόσο γρήγορα πρέπει να οδηγήσει. Ένα υψηλότερο ποσοστό κάνει το ρομπότ να οδηγεί πιο γρήγορα και ένα χαμηλότερο ποσοστό κάνει το ρομπότ να οδηγεί πιο αργά.

Κάθε έργο ξεκινά με το ρομπότ να κινείται με ταχύτητα 50% από προεπιλογή.

Σημείωση: Μια υψηλότερη ταχύτητα κάνει το ρομπότ να κινείται πιο γρήγορα, αλλά μπορεί να είναι λιγότερο ακριβές. Μια χαμηλότερη ταχύτητα κάνει το ρομπότ να κινείται πιο αργά, αλλά μπορεί να είναι πιο ακριβές.

Usage:
drivetrain.set_drive_velocity(velocity, units)

Παράμετροι

Περιγραφή

velocity

Η ταχύτητα με την οποία θα οδηγηθεί το μηχάνημα κυμαίνεται από 0% έως 100%. Αυτή μπορεί να είναι ένας ακέραιος αριθμός integer ή δεκαδικός αριθμός (float).

units

Η μονάδα ταχύτητας: PERCENT.

def main():
    # Drive forward at different velocities
    # Default velocity
    drivetrain.drive_for(FORWARD, 150, MM)
    wait(1, SECONDS)
    # Drive slower
    drivetrain.set_drive_velocity(20, PERCENT)
    drivetrain.drive_for(FORWARD, 150, MM)
    wait(1, SECONDS)
    # Drive faster
    drivetrain.set_drive_velocity(100, PERCENT)
    drivetrain.drive_for(FORWARD, 150, MM)

# VR threads — Do not delete
vr_thread(main)

ορισμός_ταχύτητας_στροφής#

set_turn_velocity λέει στο ρομπότ πόσο γρήγορα να στρίψει. Ένα υψηλότερο ποσοστό κάνει το ρομπότ να στρίψει πιο γρήγορα και ένα χαμηλότερο ποσοστό το κάνει να στρίψει πιο αργά.

Κάθε έργο ξεκινά με το ρομπότ να περιστρέφεται με ταχύτητα 50% από προεπιλογή.

Σημείωση: Μια υψηλότερη ταχύτητα κάνει το ρομπότ να περιστρέφεται πιο γρήγορα, αλλά μπορεί να είναι λιγότερο ακριβής. Μια χαμηλότερη ταχύτητα κάνει το ρομπότ να περιστρέφεται πιο αργά, αλλά μπορεί να είναι πιο ακριβής.

Usage:
drivetrain.set_turn_velocity(velocity, units)

Παράμετροι

Περιγραφή

velocity

Η ταχύτητα με την οποία θα περιστραφεί η περιστροφή κυμαίνεται από 0% έως 100%. Αυτή μπορεί να είναι ένας ακέραιος αριθμός integer ή δεκαδικός αριθμός (float)).

units

Η μονάδα ταχύτητας: PERCENT.

def main():
    # Turn at different velocities
    # Default velocity
    drivetrain.turn_for(RIGHT, 120, DEGREES)
    wait(1, SECONDS)
    # Turn slower
    drivetrain.set_turn_velocity(20, PERCENT)
    drivetrain.turn_for(RIGHT, 120, DEGREES)
    wait(1, SECONDS)
    # Turn faster
    drivetrain.set_turn_velocity(100, PERCENT)
    drivetrain.turn_for(RIGHT, 120, DEGREES)

# VR threads — Do not delete
vr_thread(main)

Αποκτητές#

επικεφαλίδα#

Η κατεύθυνση είναι η κατεύθυνση προς την οποία είναι στραμμένο το ρομπότ, μετρούμενη σε μοίρες. Η κατεύθυνση heading επιστρέφει την τρέχουσα κατεύθυνση του ρομπότ από 0 σε 359,99 μοίρες.

Η αρχική κατεύθυνση του ρομπότ είναι 0 μοίρες.

Usage:
drivetrain.heading(units)

Παράμετροι

Περιγραφή

units

Η μονάδα επικεφαλίδας: DEGREES.

def main():
    # Display the heading after turning
    drivetrain.turn_for(RIGHT, 450, DEGREES)
    brain.screen.print("Heading: ")
    brain.screen.print(drivetrain.heading(DEGREES))

# VR threads — Do not delete
vr_thread(main)

περιστροφή#

Η περιστροφή είναι η περιστροφή του ρομπότ, μετρούμενη σε μοίρες. Στην αρχή ενός έργου, η τιμή περιστροφής ορίζεται σε 0 μοίρες. Η περιστροφή rotation επιστρέφουν την τρέχουσα περιστροφή του ρομπότ.

Η δεξιά στροφή αυξάνει την περιστροφή και η αριστερά τη μειώνει. Για παράδειγμα, κάνοντας δύο πλήρεις στροφές προς τα δεξιά θα επιστρέψει μια περιστροφή 720 μοιρών.

Usage:
drivetrain.rotation(units)

Παράμετροι

Περιγραφή

units

Η μονάδα περιστροφής: DEGREES.

def main():
    # Display the rotation after turning
    drivetrain.turn_for(RIGHT, 450, DEGREES)
    brain.screen.print("Rotation: ")
    brain.screen.print(drivetrain.rotation(DEGREES))

# VR threads — Do not delete
vr_thread(main)

είναι_ολοκληρωμένο#

Η συνάρτηση is_done επιστρέφει εάν το ρομπότ έχει ολοκληρώσει την κίνησή του, ως λογική τιμή. Αυτή μπορεί να χρησιμοποιηθεί για τον έλεγχο του χρονισμού άλλων συμπεριφορών με βάση την κίνηση του ρομπότ.

  • True — Το ρομπότ έχει ολοκληρώσει την κίνηση.

  • False — Το ρομπότ εξακολουθεί να κινείται.

Αυτή η μέθοδος λειτουργεί σε συνδυασμό με τις ακόλουθες μεθόδους Drivetrain που έχουν την παράμετρο wait : drive_for, turn_for, turn_to_heading και turn_to_rotation.

Usage:
drivetrain.is_done()

Παράμετροι

Περιγραφή

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

is_moving#

is_moving επιστρέφει εάν το ρομπότ κινείται, ως λογική τιμή. Αυτή μπορεί να χρησιμοποιηθεί για τον έλεγχο του χρονισμού άλλων συμπεριφορών με βάση την κίνηση του ρομπότ.

  • True — Το ρομπότ κινείται.

  • False — Το ρομπότ δεν κινείται.

Usage:
drivetrain.is_moving()

Παράμετροι

Περιγραφή

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

ταχύτητα#

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

Usage:
drivetrain.velocity(units)

Παράμετροι

Περιγραφή

units

Η μονάδα ταχύτητας: PERCENT.

Παράδειγμα

def main():
    # Display the velocity after driving
    drivetrain.drive_for(FORWARD, 150, MM)
    brain.screen.print("Velocity: ")
    brain.screen.print(drivetrain.velocity(PERCENT))

Κίνηση#

Το Swish χρησιμοποιεί τον κινητήρα εισαγωγής για να συλλέγει Μπάλες και να τις μετακινεί στον καταπέλτη. Η ομάδα κινητήρων καταπέλτη χαμηλώνει και απελευθερώνει τον βραχίονα του καταπέλτη για να εκτοξεύσει Μπάλες.

Κάθε κινητήρας και ομάδα κινητήρων έχει τη δική της συμπεριφορά κατεύθυνσης. Οι περιγραφές κατεύθυνσης εξηγούν πώς κάθε κατεύθυνση κινεί αυτόν τον κινητήρα ή την ομάδα κινητήρων στο Swish.

Ενέργειες#

γνέθω#

Η περιστροφή spin ομάδα κινητήρων προς τα εμπρός ή προς τα πίσω για πάντα. Ο κινητήρας ή η ομάδα κινητήρων θα συνεχίσει να περιστρέφεται μέχρι να του δοθεί μια άλλη ενέργεια, όπως περιστροφή προς διαφορετική κατεύθυνση ή στάση.

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

μοτέρ

Εντολή

intake_motor

intake_motor.spin(direction) — Κινητήρας Εισαγωγής

catapult_group

catapult_group.spin(direction) — Ομάδα Καταπέλτη

Παράμετροι

Περιγραφή

direction

Η κατεύθυνση περιστροφής του κινητήρα ή της ομάδας κινητήρων:

  • FORWARD — Περιστρέφει τον κινητήρα εισαγωγής προς την κατεύθυνση εισαγωγής ή χαμηλώνει την ομάδα καταπέλτη.
  • REVERSE — Περιστρέφει τον κινητήρα εισαγωγής προς την κατεύθυνση εξαγωγής ή απελευθερώνει την ομάδα καταπέλτη.

def main():
    # Spin the Intake Motor to bring a Ball onto the Catapult
    intake_motor.spin(FORWARD)
    wait(2, SECONDS)
    intake_motor.stop()

# VR threads — Do not delete
vr_thread(main)

περιστροφή_για#

Η συνάρτηση spin_for περιστρέφει έναν κινητήρα ή μια ομάδα κινητήρων για μια συγκεκριμένη απόσταση. Η περιστροφή είναι σχετική με την τρέχουσα θέση του κινητήρα ή της ομάδας κινητήρων. Το έργο θα περιμένει μέχρι να ολοκληρωθεί η περιστροφή του κινητήρα ή της ομάδας κινητήρων πριν εκτελεστεί η επόμενη γραμμή κώδικα.

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

μοτέρ

Εντολή

intake_motor

intake_motor.spin_for(direction, distance, units, wait=True) — Κινητήρας Εισαγωγής

catapult_group

catapult_group.spin_for(direction, distance, units, wait=True) — Ομάδα Καταπέλτη

Παράμετροι

Περιγραφή

direction

Η κατεύθυνση περιστροφής του κινητήρα ή της ομάδας κινητήρων:

  • FORWARD — Περιστρέφει τον κινητήρα εισαγωγής προς την κατεύθυνση εισαγωγής ή χαμηλώνει την ομάδα καταπέλτη.
  • REVERSE — Περιστρέφει τον κινητήρα εισαγωγής προς την κατεύθυνση εξαγωγής ή απελευθερώνει την ομάδα καταπέλτη.

distance

Η απόσταση που περιστρέφεται ο κινητήρας ή η ομάδα κινητήρων. DEGREES χρησιμοποιούν ακέραιους αριθμούς. TURNS μπορούν να χρησιμοποιήσουν ακέραιους ή δεκαδικούς αριθμούς.

units

Προαιρετικά. Η μονάδα απόστασης: DEGREES (προεπιλογή) ή TURNS.

wait

Προαιρετικό.

  • wait=True (προεπιλογή) — Κάνει το έργο να περιμένει μέχρι να ολοκληρωθεί η περιστροφή του κινητήρα ή της ομάδας κινητήρων πριν εκτελεστεί η επόμενη γραμμή κώδικα.
  • wait=False — Κάνει την επόμενη γραμμή κώδικα να εκτελεστεί αμέσως.

def main():
    # Release the preloaded Ball
    catapult_group.spin_for(REVERSE, 5, DEGREES)
    # Lower the Catapult to prepare to load another Ball
    catapult_group.spin_for(FORWARD, 1350, DEGREES)

# VR threads — Do not delete
vr_thread(main)

περιστροφή_σε_θέση#

spin_to_position περιστρέφει έναν κινητήρα ή μια ομάδα κινητήρων σε μια συγκεκριμένη θέση.

Η θέση ενός κινητήρα ή ομάδας κινητήρων είναι η απόσταση περιστροφής του, μετρούμενη σε DEGREES ή TURNSΜία στροφή ισούται με 360 μοίρες. Στην αρχή ενός έργου, η θέση του κινητήρα ή της ομάδας κινητήρων ορίζεται σε 0 μοίρες. Η θέση του κινητήρα ή της ομάδας κινητήρων μπορεί επίσης να οριστεί χρησιμοποιώντας τη μέθοδο set_position.

Οι τιμές θέσης είναι απόλυτες. Αυτό σημαίνει ότι η κατεύθυνση της περιστροφής εξαρτάται από την τρέχουσα θέση του κινητήρα ή της ομάδας κινητήρων.

Για παράδειγμα, εάν ο κινητήρας ή η ομάδα κινητήρων ξεκινήσει από τις 0 μοίρες και περιστραφεί σε μια θέση 720 μοιρών, θα περιστραφεί προς τα εμπρός κατά δύο στροφές. Εάν στη συνέχεια περιστραφεί σε μια θέση 360 μοιρών, θα περιστραφεί προς τα πίσω κατά μία στροφή, επειδή οι 360 μοίρες είναι μικρότερες από 720 μοίρες.

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

μοτέρ

Εντολή

intake_motor

intake_motor.spin_to_position(angle, units, wait=True) — Κινητήρας Εισαγωγής

catapult_group

catapult_group.spin_to_position(angle, units, wait=True) — Ομάδα Καταπέλτη

Παράμετροι

Περιγραφή

angle

Η τιμή θέσης στην οποία θα περιστραφεί ο κινητήρας ή η ομάδα κινητήρων. DEGREES χρησιμοποιήστε ακέραιους αριθμούς. TURNS μπορούν να χρησιμοποιήσουν ακέραιους ή δεκαδικούς αριθμούς.

units

Προαιρετικά. Η μονάδα θέσης: DEGREES (προεπιλογή) ή TURNS.

wait

Προαιρετικό.

  • wait=True (προεπιλογή) — Κάνει το έργο να περιμένει μέχρι να ολοκληρωθεί η περιστροφή του κινητήρα ή της ομάδας κινητήρων πριν εκτελεστεί η επόμενη γραμμή κώδικα.
  • wait=False — Κάνει την επόμενη γραμμή κώδικα να εκτελεστεί αμέσως.

def main():
    # Release the preloaded Ball
    catapult_group.spin_to_position(-90, DEGREES)
    # Lower the Catapult to prepare to load another Ball
    catapult_group.spin_to_position(1260, DEGREES)

# VR threads — Do not delete
vr_thread(main)

κινητήρας διακοπής#

stop σταματά την περιστροφή ενός κινητήρα ή μιας ομάδας κινητήρων.

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

μοτέρ

Εντολή

intake_motor

intake_motor.stop() — Κινητήρας Εισαγωγής

catapult_group

catapult_group.stop() — Ομάδα Καταπέλτη

Παράμετροι

Περιγραφή

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

def main():
    # Spin the Intake Motor to bring a Ball onto the Catapult
    intake_motor.spin(FORWARD)
    wait(2, SECONDS)
    intake_motor.stop()

# VR threads — Do not delete
vr_thread(main)

Μεταλλάκτες#

ορισμός_θέσης#

Η θέση ενός κινητήρα ή μιας ομάδας κινητήρων είναι η απόσταση περιστροφής του, μετρούμενη σε DEGREES ή TURNSΜία στροφή ισούται με 360 μοίρες. set_position αλλάζει την τρέχουσα θέση του κινητήρα ή της ομάδας κινητήρων σε μια νέα τιμή.

Για παράδειγμα, εάν ένας κινητήρας ή μια ομάδα κινητήρων έχει περιστραφεί στις 180 μοίρες, η ρύθμιση της θέσης σε 0 μοίρες θα επαναφέρει αυτήν τη θέση από 180 σε 0 μοίρες. Στη συνέχεια, ο κινητήρας ή η ομάδα κινητήρων μπορεί να περιστραφεί σε θέσεις με βάση αυτήν τη νέα τιμή.

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

μοτέρ

Εντολή

intake_motor

intake_motor.set_position(position, units) — Κινητήρας Εισαγωγής

catapult_group

catapult_group.set_position(position, units) — Ομάδα Καταπέλτη

Παράμετροι

Περιγραφή

position

Η τιμή θέσης που θα οριστεί για τον κινητήρα ή την ομάδα κινητήρων. DEGREES χρησιμοποιούν ακέραιους αριθμούς. TURNS μπορούν να χρησιμοποιήσουν ακέραιους ή δεκαδικούς αριθμούς.

units

Προαιρετικά. Η μονάδα θέσης: DEGREES (προεπιλογή) ή TURNS.

def main():
    # Lower the Catapult to prepare to load another Ball
    catapult_group.spin_to_position(1260, DEGREES)
    # Set the new Catapult position to be 0 degrees
    catapult_group.set_position(0, DEGREES)

# VR threads — Do not delete
vr_thread(main)

set_velocity#

set_velocity υποδεικνύει σε έναν κινητήρα ή ομάδα κινητήρων πόσο γρήγορα πρέπει να περιστραφεί. Ένα υψηλότερο ποσοστό κάνει τον κινητήρα ή την ομάδα κινητήρων να περιστρέφεται πιο γρήγορα και ένα χαμηλότερο ποσοστό κάνει τον κινητήρα ή την ομάδα κινητήρων να περιστρέφεται πιο αργά.

Κάθε έργο ξεκινά με κάθε κινητήρα ή ομάδα κινητήρων να περιστρέφεται με ταχύτητα 50% από προεπιλογή.

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

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

μοτέρ

Εντολή

intake_motor

intake_motor.set_velocity(velocity, units) — Κινητήρας Εισαγωγής

catapult_group

catapult_group.set_velocity(velocity, units) — Ομάδα Καταπέλτη

Παράμετροι

Περιγραφή

velocity

Η ταχύτητα περιστροφής από -100% έως 100%. Αυτή μπορεί να είναι ένας ακέραιος αριθμός integer ή δεκαδικός αριθμός (float).

units

Η μονάδα ταχύτητας: PERCENT.

def main():
    # Start spinning the Intake Motor to prepare for picking up a Ball
    intake_motor.set_velocity(100, PERCENT)
    intake_motor.spin(FORWARD)

# VR threads — Do not delete
vr_thread(main)

set_timeout#

set_timeout ορίζει τον χρόνο που ένας κινητήρας ή μια ομάδα κινητήρων θα προσπαθήσει να ολοκληρώσει μια κίνηση. Εάν ο κινητήρας ή η ομάδα κινητήρων δεν μπορεί να ολοκληρώσει σε αυτό το χρονικό διάστημα, θα σταματήσει την προσπάθεια και θα προχωρήσει στην επόμενη γραμμή κώδικα. Αυτό εμποδίζει τον κινητήρα ή την ομάδα κινητήρων να κολλήσει σε μια κίνηση.

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

μοτέρ

Εντολή

intake_motor

intake_motor.set_timeout(value, units) — Κινητήρας Εισαγωγής

catapult_group

catapult_group.set_timeout(value, units) — Ομάδα Καταπέλτη

Παράμετροι

Περιγραφή

value

Ο χρόνος που μπορεί να προσπαθήσει ο κινητήρας ή η ομάδα κινητών για να ολοκληρώσει μια κίνηση. Αυτός μπορεί να είναι ένας θετικός ακέραιος αριθμός integer ή δεκαδικός αριθμός (float).

units

Η μονάδα χρόνου: SECONDS ή MSEC (χιλιοστά του δευτερολέπτου).

def main():
    # Limit how long the Catapult waits to reach its target
    catapult_group.set_timeout(2, SECONDS)
    catapult_group.spin_for(FORWARD, 2160, DEGREES)

# VR threads — Do not delete
vr_thread(main)

Αποκτητές#

είναι_ολοκληρωμένο#

Η συνάρτηση is_done επιστρέφει ως λογική τιμή εάν ο κινητήρας ή η ομάδα κινητήρων έχει ολοκληρώσει την κίνησή του. Αυτή μπορεί να χρησιμοποιηθεί για τον έλεγχο του χρονισμού άλλων συμπεριφορών με βάση την κίνηση του κινητήρα ή της ομάδας κινητήρων.

  • True — Ο κινητήρας ή η ομάδα κινητήρων έχει ολοκληρώσει την κίνηση.

  • False — Ο κινητήρας ή η ομάδα κινητήρων εξακολουθεί να κινείται.

Αυτή η μέθοδος λειτουργεί σε συνδυασμό με τις ακόλουθες μεθόδους κίνησης που έχουν την παράμετρο wait : spin_for και spin_to_position.

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

μοτέρ

Εντολή

intake_motor

intake_motor.is_done() — Κινητήρας Εισαγωγής

catapult_group

catapult_group.is_done() — Ομάδα Καταπέλτη

Παράμετροι

Περιγραφή

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

περιστρέφεται#

is_spinning επιστρέφει εάν ο κινητήρας ή η ομάδα κινητήρων περιστρέφεται, ως λογική τιμή. Αυτό μπορεί να χρησιμοποιηθεί για τον έλεγχο του χρονισμού άλλων συμπεριφορών με βάση την κίνηση του κινητήρα ή της ομάδας κινητήρων.

  • True — Ο κινητήρας ή η ομάδα κινητήρων περιστρέφεται.

  • False — Ο κινητήρας ή η ομάδα κινητήρων δεν περιστρέφεται.

Αυτή η μέθοδος λειτουργεί σε συνδυασμό με τις ακόλουθες μεθόδους κίνησης που έχουν την παράμετρο wait : spin_for και spin_to_position.

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

μοτέρ

Εντολή

intake_motor

intake_motor.is_spinning() — Κινητήρας Εισαγωγής

catapult_group

catapult_group.is_spinning() — Ομάδα Καταπέλτη

Παράμετροι

Περιγραφή

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

θέση#

A motor or motor group’s position is how far it has spun, measured in DEGREES or TURNS. One turn is equal to 360 degrees. position returns the motor or motor group’s current position.

Στην αρχή ενός έργου, η θέση του κινητήρα ή της ομάδας κινητήρων ορίζεται σε 0 μοίρες. Εάν ο κινητήρας ή η ομάδα κινητήρων περιστραφεί μία πλήρη στροφή προς τα εμπρός, η θέση θα είναι 360 μοίρες ή 1 στροφή. Εάν ο κινητήρας ή η ομάδα κινητήρων περιστραφεί προς την αντίθετη κατεύθυνση, η θέση θα είναι αρνητική.

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

μοτέρ

Εντολή

intake_motor

intake_motor.position(units) — Κινητήρας εισαγωγής

catapult_group

catapult_group.position(units) — Ομάδα Καταπέλτη

Παράμετροι

Περιγραφή

units

Η μονάδα για την επιστροφή της θέσης του κινητήρα ή της ομάδας κινητήρων σε: DEGREES ή TURNS.

def main():
    # Lower the Catapult to prepare to load another Ball
    while not catapult_group.position(DEGREES) == 1260:
        catapult_group.spin(FORWARD)

# VR threads — Do not delete
vr_thread(main)

ταχύτητα#

Η τιμή velocity επιστρέφει την ταχύτητα περιστροφής του κινητήρα ή της ομάδας κινητήρων.

Μια θετική τιμή σημαίνει ότι ο κινητήρας ή η ομάδα κινητήρων περιστρέφεται προς τα εμπρός. Μια αρνητική τιμή σημαίνει ότι ο κινητήρας ή η ομάδα κινητήρων περιστρέφεται προς τα πίσω.

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

μοτέρ

Εντολή

intake_motor

intake_motor.velocity(units) — Κινητήρας Εισαγωγής

catapult_group

catapult_group.velocity(units) — Ομάδα Καταπέλτη

Παράμετροι

Περιγραφή

units

Η μονάδα ταχύτητας που θα επιστραφεί: PERCENT.

def main():
    # Print the current Catapult velocity
    brain.screen.print(catapult_group.velocity(PERCENT))

# VR threads — Do not delete
vr_thread(main)

Κονσόλα#

Η Κονσόλα εμφανίζει κείμενο, αριθμούς και τιμές μεταβλητών ενώ εκτελείται ένα έργο. Οι μέθοδοι κονσόλας μπορούν επίσης να μετακινήσουν τον κέρσορα σε μια νέα γραμμή, να διαγράψουν την Κονσόλα και να προσθέσουν μεταβλητές ή τιμές αισθητήρων στην καρτέλα Παρακολούθηση.

Αποτύπωμα#

εγκέφαλος.οθόνη.εκτύπωση#

brain.screen.print εμφανίζει κείμενο, αριθμούς ή τιμές μεταβλητών στην Κονσόλα χρησιμοποιώντας την τρέχουσα θέση του κέρσορα. Συμπεριφέρεται όπως print στη σελίδα API της Κονσόλας.

Χρησιμοποιήστε την συνάρτηση brain.screen.next_row όταν θέλετε η επόμενη εκτυπωμένη τιμή να ξεκινά σε μια νέα γραμμή.

Usage:
brain.screen.print(value)

Παράμετροι

Περιγραφή

value

Το κείμενο, ο αριθμός ή η τιμή μεταβλητής που θα εμφανίζεται στην Κονσόλα.

def main():
    # Display a message in the Console
    brain.screen.print("Hello, robot!")

# VR threads — Do not delete
vr_thread(main)

Η Κονσόλα VEXcode, που εμφανίζει την Κονσόλα και το κείμενο "Γεια σου, ρομπότ!".

brain.screen.next_row#

brain.screen.next_row μετακινεί τον κέρσορα στη στήλη 1 στην επόμενη γραμμή στην Κονσόλα. Η επόμενη τιμή που θα εκτυπωθεί θα εμφανιστεί σε αυτήν τη γραμμή.

Usage:
brain.screen.next_row()

Παράμετροι

Περιγραφή

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

def main():
    # Print on two rows
    brain.screen.print("Row 1")
    brain.screen.next_row()
    brain.screen.print("Row 2")

# VR threads — Do not delete
vr_thread(main)

Η Κονσόλα VEXcode, που εμφανίζει την Κονσόλα και το κείμενο "Row 1" που εμφανίζεται στην πρώτη γραμμή και "Row 2" στη δεύτερη γραμμή.

brain.screen.clear_screen#

brain.screen.clear_screen διαγράφει όλες τις γραμμές από την Κονσόλα και μετακινεί τον κέρσορα πίσω στη Γραμμή 1.

Usage:
brain.screen.clear_screen()

Παράμετροι

Περιγραφή

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

def main():
    # Display text, then clear it after two seconds
    brain.screen.print("This will disappear...")
    wait(2, SECONDS)
    brain.screen.clear_screen()

# VR threads — Do not delete
vr_thread(main)

Ελεγκτής εκπομπών#

μεταβλητή_παρακολούθησης#

monitor_variable προσθέτει μία ή περισσότερες προκαθορισμένες μεταβλητές στην καρτέλα Monitor στο VEXcode. Αυτό σας επιτρέπει να παρακολουθείτε την αλλαγή της τιμής μιας μεταβλητής ενώ εκτελείται ένα έργο.

Οι μεταβλητές πρέπει να είναι καθολικές για να είναι δυνατή η επιτυχής παρακολούθησή τους από την παράμετρο monitor_variable Δώστε το όνομα κάθε μεταβλητής ως συμβολοσειρά.

Usage:
monitor_variable(“variable”)
monitor_variable(“variable1”, “variable2”)

Παράμετροι

Περιγραφή

variable

Το όνομα μιας προκαθορισμένης καθολικής μεταβλητής προς παρακολούθηση, που δίνεται ως συμβολοσειρά. Για να παρακολουθείτε περισσότερες από μία μεταβλητές, διαχωρίστε κάθε όνομα μεταβλητής με κόμμα.

def main():
    # Monitor the amount of loops
    global loops
    monitor_variable("loops")

    # Drive in a square 3 times
    for loops in range(12):
        drivetrain.turn_for(RIGHT, 90, DEGREES)
        drivetrain.drive_for(FORWARD, 150, MM)

# VR threads — Do not delete
vr_thread(main)

αισθητήρας_παρακολούθησης#

monitor_sensor προσθέτει μία ή περισσότερες τιμές αισθητήρων στην καρτέλα Monitor στο VEXcode. Αυτό σας επιτρέπει να παρακολουθείτε τις τιμές αισθητήρων να αλλάζουν ενώ εκτελείται ένα έργο.

Παρέχετε κάθε τιμή αισθητήρα ως συμβολοσειρά.

Usage:
monitor_sensor(“sensor”)
monitor_sensor(“sensor1”, “sensor2”)

Παράμετροι

Περιγραφή

sensor

The sensor value to monitor, given as a string. To monitor more than one sensor value, separate each sensor value with a comma. Supported sensor identifiers include:

  • Brain
    • brain.timer.time
  • Drivetrain
    • drivetrain.is_done
    • drivetrain.is_moving
    • drivetrain.heading
    • drivetrain.rotation
    • drivetrain.velocity_rpm
    • drivetrain.velocity_percent
  • Arm Motor
    • arm_motor.is_done
    • arm_motor.is_spinning
    • arm_motor.position_degrees
    • arm_motor.position_turns
    • arm_motor.velocity_rpm
    • arm_motor.velocity_percent
  • Arm Motor Group
    • arm_motor_group.is_done
    • arm_motor_group.is_spinning
    • arm_motor_group.position_degrees
    • arm_motor_group.position_turns
    • arm_motor_group.velocity_rpm
    • arm_motor_group.velocity_percent
  • Intake Motor
    • intake_motor.is_done
    • intake_motor.is_spinning
    • intake_motor.position_degrees
    • intake_motor.position_turns
    • intake_motor.velocity_rpm
    • intake_motor.velocity_percent
  • Intake Motor Group
    • intake_motor_group.is_done
    • intake_motor_group.is_spinning
    • intake_motor_group.position_degrees
    • intake_motor_group.position_turns
    • intake_motor_group.velocity_rpm
    • intake_motor_group.velocity_percent
  • Catapult Motor
    • catapult_motor.is_done
    • catapult_motor.is_spinning
    • catapult_motor.position_degrees
    • catapult_motor.position_turns
    • catapult_motor.velocity_rpm
    • catapult_motor.velocity_percent
  • Catapult Tension Motor
    • catapult_tension_motor.is_done
    • catapult_tension_motor.is_spinning
    • catapult_tension_motor.position_degrees
    • catapult_tension_motor.position_turns
    • catapult_tension_motor.velocity_rpm
    • catapult_tension_motor.velocity_percent
  • Bumpers
    • intake_bumper.pressing
    • bumper.pressing
  • Front Distance Sensor
    • front_distance.is_object_detected
    • front_distance.object_distance_mm
    • front_distance.object_distance_inches
  • Front Optical Sensor
    • front_optical.is_near_object
    • front_optical.color
    • front_optical.brightness
    • front_optical.hue
  • Color Sensor
    • color.is_near_object
    • color.color
    • color.brightness
    • color.hue

def main():
    # Monitor the robot's heading
    monitor_sensor("drivetrain.heading")
    drivetrain.turn_for(RIGHT, 450, DEGREES)

# VR threads — Do not delete
vr_thread(main)

Εξεύρεση της φόρας#

Οπτικός#

είναι_κοντά_στο_αντικείμενο#

Η συνάρτηση is_near_object επιστρέφει μια λογική τιμή που υποδεικνύει εάν ο οπτικός αισθητήρας ανιχνεύει ένα αντικείμενο εντός εμβέλειας.

  • True – Ο οπτικός αισθητήρας ανιχνεύει ένα αντικείμενο.

  • False – Ο οπτικός αισθητήρας δεν ανιχνεύει κάποιο αντικείμενο.

Usage:
intake_optical.is_near_object()

Παράμετροι

Περιγραφή

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

def main():
    # Launch a loaded Ball once the Intake Optical Sensor detects a Ball
    if intake_optical.is_near_object():
        catapult_group.spin_for(REVERSE, 5, DEGREES)

# VR threads — Do not delete
vr_thread(main)

χρώμα#

Η συνάρτηση color επιστρέφει μια παρουσία μιας κλάσης Color , με βάση την ανιχνευμένη τιμή απόχρωσης. Αυτά μπορούν να συγκριθούν με προκαθορισμένα αντικείμενα Color για τη δημιουργία εντολών υπό όρους.

Πιθανά χρώματα είναι:

  • NONE

  • RED - Τιμή απόχρωσης μεταξύ 340° - 20°

  • GREEN - Τιμή απόχρωσης μεταξύ 80° - 140°

  • BLUE - Τιμή απόχρωσης μεταξύ 200° - 240°

  • YELLOW - Τιμή απόχρωσης μεταξύ 40° - 60°

  • ORANGE - Τιμή απόχρωσης μεταξύ 20° - 40°

  • PURPLE - Τιμή απόχρωσης μεταξύ 240° - 280°

  • CYAN - Τιμή απόχρωσης μεταξύ 140° - 200°

Σημείωση: Ο οπτικός αισθητήρας αναζητά εύρη αποχρώσεων που ταιριάζουν με το καθορισμένο χρώμα. Για την ανίχνευση συγκεκριμένων εύρων αποχρώσεων, ανατρέξτε στην ενότητα hue.

Usage:
intake_optical.color()

Παράμετροι

Περιγραφή

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

def main():
    # Launch a loaded Ball once yellow is detected in the Intake
    if intake_optical.color() == YELLOW:
        catapult_group.spin_for(REVERSE, 5, DEGREES)

# VR threads — Do not delete
vr_thread(main)

λάμψη#

brightness επιστρέφει την ποσότητα φωτός που ανακλάται από το αντικείμενο ως δεκαδικό ψηφίο (float) που αντιπροσωπεύει ένα ποσοστό.

Ένα υψηλότερο ποσοστό σημαίνει ότι περισσότερο φως ανακλάται πίσω στον οπτικό αισθητήρα. Ένα χαμηλότερο ποσοστό σημαίνει ότι λιγότερο φως ανακλάται πίσω.

Usage:
intake_optical.brightness()

Παράμετροι

Περιγραφή

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

def main():
    # Launch a loaded Ball once the Intake Optical Sensor sees a Ball
    if intake_optical.brightness() > 0:
        catapult_group.spin_for(REVERSE, 5, DEGREES)

# VR threads — Do not delete
vr_thread(main)

απόχρωση#

Η συνάρτηση hue επιστρέφει την τιμή απόχρωσης του ανιχνευμένου χρώματος ως δεκαδικό ψηφίο (float) από 0 έως 359.

Η απόχρωση είναι ένας τρόπος περιγραφής χρώματος χρησιμοποιώντας αριθμούς γύρω από έναν χρωματικό κύκλο.

Ένας κυκλικός χρωματικός τροχός που εμφανίζει ένα πλήρες φάσμα αποχρώσεων με ετικέτες τιμών βαθμών γύρω από την περίμετρο, αυξανόμενες σε βήματα των 30 μοιρών από 0 μοίρες στην κορυφή έως 360 μοίρες.

Usage:
intake_optical.hue()

Παράμετροι

Περιγραφή

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

def main():
    # Launch a loaded Ball once the Intake Optical Sensor reports a hue value
    if intake_optical.hue() > 100:
        catapult_group.spin_for(REVERSE, 5, DEGREES)

# VR threads — Do not delete
vr_thread(main)

ανιχνευμένο_αντικείμενο#

object_detected καταγράφει μια συνάρτηση που θα καλείται κάθε φορά που ο οπτικός αισθητήρας ανιχνεύει ένα νέο αντικείμενο.

Usage:
intake_optical.object_detected(callback, arg)

Παράμετροι

Περιγραφή

callback

Μια προηγουμένως καθορισμένη συνάρτηση που εκτελείται όταν ο Οπτικός Αισθητήρας ανιχνεύει ένα νέο αντικείμενο.

arg

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

def launch_ball():
    catapult_group.spin_for(REVERSE, 5, DEGREES)

def main():
    # Launch the Ball when the Intake Optical Sensor detects an object
    intake_optical.object_detected(launch_ball)

# VR threads — Do not delete
vr_thread(main)

αντικείμενο_χαμένο#

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

Usage:
intake_optical.object_lost(callback, arg)

Παράμετροι

Περιγραφή

callback

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

arg

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

def lower_catapult():
    catapult_group.spin_to_position(1260, DEGREES)

def main():
    # Lower the Catapult when the Intake Optical Sensor no longer detects an object
    intake_optical.object_lost(lower_catapult)

# VR threads — Do not delete
vr_thread(main)