Ελεγκτής: Εξερεύνηση κίνησης δεξαμενών - Python
Εργαλειοθήκη Εκπαιδευτικού
-
Ο Σκοπός αυτής της Ενότητας
Χρησιμοποιώντας το παράδειγμα έργου Tank Control, οι μαθητές μπορούν να ελέγχουν το Clawbot χρησιμοποιώντας τον Ελεγκτή. Οι μαθητές θα πρέπει να προσαρμόσουν τις παραμέτρους στις οδηγίες left_motor.set_velocity(), right_motor.set_velocity(), left_motor.spin(), right_motor.spin(), left_motor_speed = controller_1.axis3.position(), και right_motor_speed = controller_1.axis2.position() για να ελέγξουν την ταχύτητα για κάθε έναν από τους κινητήρες του Clawbot και να επιτρέψουν στον Ελεγκτή να ελέγχει τις λειτουργίες του κινητήρα.
Για περισσότερες πληροφορίες σχετικά με οποιαδήποτε από τις οδηγίες, επισκεφθείτε την ενότητα βοήθειας Pythonστο VEXcode V5.
Ακολουθεί μια περίληψη των όσων θα κάνουν οι μαθητές σε αυτή τη δραστηριότητα:
- Εξερευνήστε το παράδειγμα έργου ελέγχου δεξαμενών.
- Κατανοήστε τη χρήση της δομής ενώ True άπειρου βρόχου.
- Ολοκλήρωσε την πρόκληση Robo-Slalom!
Συμβουλές για τους Δασκάλους
Αν αυτή είναι η πρώτη φορά που ο μαθητής χρησιμοποιεί το VEXcode V5, μπορεί να έχει πρόσβαση σε πολλά χρήσιμαστη Βιβλιοθήκη.
| Ποσότητα | Απαιτούμενα υλικά |
|---|---|
| 1 |
Κιτ εκκίνησης για την τάξη VEX V5 (με ενημερωμένο υλικολογισμικό) |
| 1 |
VEXcode V5 (τελευταία έκδοση, Windows, macOS) |
| 1 |
Σημειωματάριο Μηχανικής |
| 1 |
Παράδειγμα Έργου Ελέγχου Δεξαμενής |
| 2 ή περισσότερα |
Αντικείμενα τάξης που θα χρησιμοποιηθούν ως εμπόδια |
Συμβουλές για Δασκάλους
-
Χρήση της Αυτόματης Συμπλήρωσης
Η αυτόματη συμπλήρωση είναι μια λειτουργία στο VEXcode V5 που προβλέπει την υπόλοιπη εντολή που πληκτρολογείτε. Καθώς οι μαθητές εργάζονται στο VEXcode V5, ενθαρρύνετέ τους να χρησιμοποιήσουν τη λειτουργία Αυτόματης συμπλήρωσης για να τους βοηθήσει με τη σύνταξη της Python. Ενδέχεται να παρατηρήσετε μια συνάρτηση αυτόματης συμπλήρωσης καθώς αρχίζετε να πληκτρολογείτε την εντολή. Χρησιμοποιήστε τα πλήκτρα "Πάνω" και "Κάτω" για να επιλέξετε το όνομα που θέλετε και, στη συνέχεια, πατήστε "Tab" ή (Enter/Return) στο πληκτρολόγιό σας για να κάνετε την επιλογή. Για περισσότερες πληροφορίες σχετικά με αυτήν τη λειτουργία Python.

Αυτή η δραστηριότητα θα σας δώσει τα εργαλεία για να προγραμματίσετε τον ελεγκτή σας.
- Οδηγίες Python VEXcode V5 που θα χρησιμοποιηθούν σε αυτήν την εξερεύνηση:
- left_motor.set_velocity()
- right_motor.set_velocity()
- left_motor.spin()
- right_motor.spin()
- controller_1.axis2.position()
- controller_1.axis3.position()
- ενώ Αληθές:
- αναμονή (5, ΔΕΥΤΕΡΟΛΕΠΤΑ)
Για περισσότερες πληροφορίες σχετικά με οποιαδήποτε από τις οδηγίες, επισκεφθείτε τις ενότητες βοήθειας Python στο VEXcode V5.

Βήμα 1: Ας ξεκινήσουμε τον προγραμματισμό του ελεγκτή.
- Επιλέξτε Αρχείο και ανοίξτε Παραδείγματα.

- Κάντε κύλιση στα διάφορα έργα Παράδειγμα. Επιλέξτε το παράδειγμα έργου Tank Control.
- Ανοίξτε το παράδειγμα έργου Tank Control. Το παράδειγμα έργου διαμορφώνει το σύστημα μετάδοσης κίνησης και τον ελεγκτή. Ο κώδικας θα μοιάζει με το ακόλουθο απόσπασμα:
# Εισαγωγές βιβλιοθήκης
από vex import *
# Έναρξη κώδικα έργου
# Κύριος βρόχος ελεγκτή για τον ορισμό των κινητήρων στις θέσεις του άξονα του ελεγκτή
ενώ True:
left_motor.set_velocity(controller_1.axis3.position(), PERCENT)
right_motor.set_velocity(controller_1.axis2.position(), PERCENT)
left_motor.spin(FORWARD)
right_motor.spin(FORWARD)
wait(5, MSEC)Κάντε τα εξής στο σημειωματάριο μηχανικής σας:
- Προβλέψτε τι θα κάνει το Clawbot στο πλαίσιο του έργου. Εξηγήστε περισσότερα από το γεγονός ότι το έργο χρησιμοποιεί τον Ελεγκτή.
- Πώς κινούν τα joystick το ρομπότ; Τι κάνει το Clawbot;
Εργαλειοθήκη Δασκάλου
-
Απαντήσεις
- Αυτό το έργο θα χρησιμοποιήσει τη δομή ατέρμονου βρόχου ενώ True για να ελέγχει συνεχώς τη θέση του αριστερού και του δεξιού Joystick. Όταν το αριστερό (ή δεξί) Joystick πιέζεται προς τα πάνω, η ταχύτητα ορίζεται για το πόσο μπροστά πιέζεται το Joystick.
- Έτσι, όσο πιο μπροστά πιέζεται το Joystick, τόσο πιο γρήγορα θα ρυθμίζεται η ταχύτητα και τόσο πιο γρήγορα θα κινούνται οι κινητήρες. Η ίδια ιδέα ισχύει και για το σπρώξιμο του Joystick προς τα πίσω. Όσο πιο πίσω πιέζεται το Joystick, τόσο πιο γρήγορα θα κινούνται οι κινητήρες προς τα πίσω.
- Ονομάστε το έργο TankControl. Αποθηκεύστε, κατεβάστε και εκτελέστε το έργο Python TankControl.
- Για περισσότερες πληροφορίες βοήθειας, παρακολουθήστε το εκπαιδευτικό βίντεο στο VEXcode V5 που εξηγεί πώς να κατεβάσετε και να εκτελέσετε ένα έργο.
- Ελέγξτε τις εξηγήσεις του έργου στο σημειωματάριο μηχανικής σας και προσθέστε σημειώσεις για να τις διορθώσετε όπως απαιτείται.
Βήμα 2: Ελεγκτής: Έλεγχος δεξαμενής
Εργαλειοθήκη Εκπαιδευτικού
-
Οι Δομές Άπειρου Βρόχου του While
Αυτό το βήμα συζητά τη σημασία της δομής άπειρου βρόχου ενώ True . Θα πρέπει να εξετάσετε τις πληροφορίες ως τάξη. Μπορείτε να μοντελοποιήσετε τη συμπεριφορά με το Clawbot και τον Ελεγκτή σας ή, εάν το επιτρέπει ο χρόνος, να ζητήσετε από τους μαθητές να εκτελέσουν το πρόγραμμα χωρίς τη δομή άπειρου βρόχου while True .
Αν οι μαθητές χρειάζονται περαιτέρω βοήθεια για την κατανόηση του while True άπειρου βρόχου, κάντε κλικ εδώ.
Ποια είναι τα οφέλη από τη χρήση της δομής ατέρμονου βρόχου ενώ True;
Εδώ είναι το έργο μας χωρίς τη δομή άπειρου βρόχου ενώ True:
# Εισαγωγές βιβλιοθήκης
από vex import *
# Έναρξη κώδικα έργου
# Κύριος βρόχος ελεγκτή για τον ορισμό των κινητήρων στις θέσεις του άξονα του ελεγκτή
left_motor.set_velocity(controller_1.axis3.position(), PERCENT)
right_motor.set_velocity(controller_1.axis2.position(), PERCENT)
left_motor.spin(FORWARD)
right_motor.spin(FORWARD)
Τι πιστεύετε ότι θα συνέβαινε αν υλοποιούνταν αυτό το πρόγραμμα; Συζητήστε ως ομάδα. Καταγράψτε την πρόβλεψή σας στο τετράδιο μηχανικής.
Εργαλειοθήκη Εκπαιδευτικού
-
Κατανόηση της Δομής
Χωρίς τον άπειρο βρόχο ενώ True , η τιμή της ταχύτητας για κάθε κινητήρα ορίζεται μόλις εκτελεστεί το έργο και αυτή η τιμή παραμένει σταθερή μέχρι να σταματήσει το έργο. Με άλλα λόγια, εάν εκτελέσετε το έργο χωρίς να μετακινήσετε κανένα από τα δύο Joystick, επειδή η προεπιλεγμένη θέση του Joystick στον άξονά του είναι 0, η ταχύτητα και των δύο κινητήρων θα παραμείνει στο 0, ακόμα κι αν μετακινήσετε το Joystick.
Ομοίως, ας υποθέσουμε ότι μετακινείτε το αριστερό Joystick προς τα πάνω όσο περισσότερο γίνεται κατά μήκος του άξονα 3 και το κρατάτε εκεί. Αν εκτελέσετε το παραπάνω έργο, ο αριστερός κινητήρας θα κινείται με πλήρη ταχύτητα και θα παραμείνει σε αυτήν την ταχύτητα ακόμα κι αν μετακινήσετε το Joystick προς τα κάτω κατά μήκος του άξονα 3. Αυτό συμβαίνει επειδή το Clawbot λαμβάνει την αρχική του εντολή από τον Ελεγκτή μόλις εκτελεστεί το έργο. Ωστόσο, χωρίς βρόχο, αυτή η αρχική τιμή δεν μπορεί να ενημερωθεί.
Ο άπειρος βρόχος ενώ True λέει στο Clawbot να ενημερώνει συνεχώς την ταχύτητα και να εκτελείται για όλη τη διάρκεια του έργου. Με άλλα λόγια, ο άπειρος βρόχος ενώ True , σε αυτό το έργο, σας επιτρέπει να αλλάζετε την ταχύτητα κάθε κινητήρα μετακινώντας είτε το Joystick κατά μήκος του άξονα 2 είτε του άξονα 3, και το Clawbot θα ανταποκριθεί ανάλογα μέχρι να σταματήσετε το έργο ή να το απενεργοποιήσετε.
# Εισαγωγές βιβλιοθήκης
από vex import *
# Έναρξη κώδικα έργου
# Κύριος βρόχος ελεγκτή για τον ορισμό των κινητήρων στις θέσεις του άξονα του ελεγκτή
ενώ True:
left_motor.set_velocity(controller_1.axis3.position(), PERCENT)
right_motor.set_velocity(controller_1.axis2.position(), PERCENT)
left_motor.spin(FORWARD)
right_motor.spin(FORWARD)
wait(5, MSEC)
Πλοηγηθείτε σε μια διαδρομή σλάλομ!
Εργαλειοθήκη Εκπαιδευτικού
-
Ρύθμιση της Δραστηριότητας
Οργανώστε τους μαθητές σε μικρές ομάδες των 2 ή 4 μαθητών. Ένας μαθητής θα πρέπει να οριστεί ως Οδηγός - το άτομο που θα χρησιμοποιεί τον Ελεγκτή για να χειρίζεται το Clawbot.
Ζητήστε από τους μαθητές να ολοκληρώσουν αυτό το σλάλομ χρησιμοποιώντας το Χειριστήριο για να μετακινήσουν το Clawbot κατά μήκος του εξωτερικού κάθε «σημαίας». Η διαδρομή του Clawbot πρέπει να το εμποδίζει να αγγίξει οποιαδήποτε σημαία και να του επιτρέπει να διασχίσει τη γραμμή τερματισμού. Οι σημαίες μπορούν να είναι οποιοδήποτε υλικό/αντικείμενο στην τάξη που έχετε πρόχειρο (γόμα, ρολό ταινίας, κουτί χαρτομάντιλων) και μπορούν να τοποθετηθούν στη θέση τους πριν από τη λειτουργία του Clawbot.
Αν ο χρόνος το επιτρέπει, ζητήστε από τους μαθητές να αλλάξουν ρόλους για να δώσουν και σε άλλους την ευκαιρία να οδηγήσουν το Clawbot. Θα μπορούσατε ακόμη και να το μετατρέψετε σε διαγωνισμό εντός ομάδων ή μεταξύ ομάδων, βλέποντας πόσο γρήγορα μπορεί κάθε οδηγός να πλοηγηθεί στο σλάλομ.
Τα σλάλομ είναι διαδρομές στις οποίες ο συμμετέχων πρέπει να πλοηγηθεί γύρω από τις καθορισμένες σημαίες ή τους δείκτες. Τα σλάλομ σκι είναι ένα δημοφιλές χειμερινό άθλημα και περιλαμβάνονται στους Χειμερινούς Ολυμπιακούς Αγώνες.
Τώρα που το χειριστήριο έχει αντιστοιχιστεί και το έργο έχει ληφθεί, είστε έτοιμοι να μετακινήσετε το Clawbot σας χρησιμοποιώντας το χειριστήριο!
- Συγκεντρώστε από τον δάσκαλο τα τέσσερα αντικείμενα της τάξης που θα χρησιμοποιήσετε ως σημαίες στο σλάλομ σας.
- Συνεργαστείτε για να τοποθετήσετε τις σημαίες στη θέση τους, ώστε ο Οδηγός να μπορεί να πλοηγείται με το Clawbot, σύμφωνα με το διάγραμμα σλάλομ.
- Κατεβάστε το έργο Παράδειγμα Ελέγχου Δεξαμενής. Εάν έχετε ερωτήσεις σχετικά με τον τρόπο λήψης ενός έργου, ανατρέξτε στο σεμινάριο Λήψη και εκτέλεση ενός έργου.
Χρησιμοποιήστε το Χειριστήριο για να μετακινήσετε το Clawbot σας κατά μήκος του εξωτερικού κάθε «σημαίας». Η διαδρομή του ρομπότ πρέπει να το εμποδίζει να αγγίξει οποιαδήποτε σημαία και να του επιτρέπει να διασχίσει τη γραμμή τερματισμού.
- Εκτελέστε το έργο και οδηγήστε το Clawbot εμπρός και πίσω, και στρίψτε αριστερά και δεξιά χρησιμοποιώντας και τα δύο Joystick.
- Χρονομετρήστε πόσο χρόνο χρειάζεται το Clawbot για να ολοκληρώσει την πορεία. Καταγράψτε τους χρόνους στο τετράδιο μηχανικής.
- Πόσο γρήγορα μπορείς να περάσεις το Clawbot από την διαδρομή Slalom;
Κίνητρο για συζήτηση
-
Αναστοχασμός της δραστηριότητας
Ε: Απαντούσε το Clawbot στον Ελεγκτή όπως περιμένατε;
Α: Οι απαντήσεις θα ποικίλλουν. Ωστόσο, ο στόχος αυτής της ερώτησης είναι η προώθηση της γνωστικής σκέψης. Οι μαθητές ξεκίνησαν προβλέποντας συμπεριφορές πριν τις δοκιμάσουν, καταγράψουν τα αποτελέσματά τους και αναστοχαστούν.
Ε: Ποια είναι η μεγαλύτερη πρόκληση στην κίνηση του Clawbot προς τα εμπρός ή προς τα πίσω σε ευθεία γραμμή;
A: Ενώ οι απαντήσεις μπορεί να διαφέρουν, μια κοινή απάντηση θα πρέπει να είναι ότι και τα δύο Joystick πρέπει να κινούνται συγχρονισμένα μεταξύ τους για να διασφαλιστεί ότι οι κινητήρες του Clawbot κινούνται προς την ίδια κατεύθυνση και με την ίδια ταχύτητα
Ε: Πώς η χρήση του ατέρμονου βρόχου ενώ είναι True σας επιτρέπει να χρησιμοποιείτε συνεχώς το Χειριστήριο για να μετακινείτε το Clawbot;
A: Χωρίς τον άπειρο βρόχο while True , το Clawbot θα εκτελούσε τις συμπεριφορές όπως καθορίζονται από τις οδηγίες στο έργο μόνο μία φορά. Ο άπειρος βρόχος ενώ True λέει στο Clawbot να ενημερώνει συνεχώς την ταχύτητα και να εκτελείται για όλη τη διάρκεια του έργου. Με άλλα λόγια, ο άπειρος βρόχος ενώ True σάς επιτρέπει να χρησιμοποιείτε το Χειριστήριο για να μετακινείτε το Clawbot επ' αόριστον ή μέχρι να εξαντληθεί η μπαταρία.