Ελεγκτής: Εξερεύνηση κίνησης δεξαμενών - C++
Εργαλειοθήκη Εκπαιδευτικού
-
Ο Σκοπός αυτής της Δραστηριότητας
Χρησιμοποιώντας το παράδειγμα έργου Tank Control, οι μαθητές μπορούν να ελέγχουν το Clawbot χρησιμοποιώντας τον Ελεγκτή. Οι μαθητές θα πρέπει να προσαρμόσουν τις παραμέτρους στις οδηγίεςLeftMotor.setVelocity(), RightMotor.setVelocity(), LeftMotor.spin(), RightMotor.spin(), leftMotorSpeed = Controller1.Axis3.position(),καιrightMotorSpeed = Controller1.Axis2.position()για να ελέγχουν την ταχύτητα για κάθε έναν από τους κινητήρες του Clawbot και να επιτρέπουν στον Ελεγκτή να ελέγχει τις λειτουργίες του κινητήρα.
Για περισσότερες πληροφορίες σχετικά με οποιαδήποτε από τις οδηγίες, επισκεφθείτε τη βοήθεια στην ενότηταC++στο VEXcode V5.
Ακολουθεί μια περίληψη των όσων θα κάνουν οι μαθητές σε αυτή τη δραστηριότητα:
-
Εξερευνήστε το παράδειγμα έργου ελέγχου δεξαμενών.
-
Κατανοήστε τη χρήση της δομήςενώ Trueάπειρου βρόχου.
-
Ολοκλήρωσε την πρόκληση Robo-Slalom!
Συμβουλές για τους Δασκάλους
Αν αυτή είναι η πρώτη φορά που ο μαθητής χρησιμοποιεί το VEXcode V5, μπορεί να έχει πρόσβαση σε πολλά χρήσιμαστηΓνώσεων VEX.
| Ποσότητα | Απαιτούμενα υλικά |
|---|---|
| 1 |
Κιτ εκκίνησης για την τάξη VEX V5 (με ενημερωμένο υλικολογισμικό) |
| 1 |
VEXcode V5 (τελευταία έκδοση, Windows, macOS) |
| 1 |
Σημειωματάριο Μηχανικής |
| 1 |
Παράδειγμα έργου ελέγχου δεξαμενών |
| 2 ή περισσότερα |
Αντικείμενα τάξης που θα χρησιμοποιηθούν ως εμπόδια |
Συμβουλές για Δασκάλους
-
Χρήση της Αυτόματης Συμπλήρωσης
Η αυτόματη συμπλήρωση είναι μια λειτουργία στο VEXcode V5 που προβλέπει την υπόλοιπη εντολή που πληκτρολογείτε. Καθώς οι μαθητές εργάζονται στον κώδικα VEX V5, ενθαρρύνετέ τους να χρησιμοποιήσουν τη λειτουργία Αυτόματης συμπλήρωσης για να τους βοηθήσει με τη σύνταξη. Το άρθροΑυτόματη συμπλήρωσηκαλύπτει τον τρόπο χρήσης της λειτουργίας Αυτόματης συμπλήρωσης.

Αυτή η δραστηριότητα θα σας δώσει τα εργαλεία για να προγραμματίσετε τον ελεγκτή σας.
Βήμα 1: Ας ξεκινήσουμε τον προγραμματισμό του ελεγκτή.
- Ανοίξτε το παράδειγμα έργου Tank Control.
-

Κάντε τα εξής στο σημειωματάριό σας μηχανικής:
Προβλέψτε τι θα κάνει το Clawbot σε αυτό το έργο. Εξηγήστε περισσότερα από το γεγονός ότι το έργο χρησιμοποιεί τον Ελεγκτή.
Πώς κινούν τα χειριστήρια το ρομπότ; Τι κάνει το Clawbot;int main() { // Αρχικοποίηση διαμόρφωσης ρομπότ. ΜΗΝ ΤΟ ΑΦΑΙΡΕΙΤΕ! vexcodeInit(); // Έναρξη κώδικα έργου. // Βρόχος κύριου ελεγκτή για τον ορισμό των κινητήρων στις θέσεις του άξονα του ελεγκτή while (true) { LeftMotor.setVelocity(Controller1.Axis3.position(), percent); RightMotor.setVelocity(Controller1.Axis2.position(), percent); LeftMotor.spin(forward); RightMotor.spin(forward); wait(5, msec); } return 0; }
Εργαλειοθήκη Δασκάλου
-
Απαντήσεις
- Αυτό το έργο θα χρησιμοποιήσει τη δομή ατέρμονου βρόχου ενώ True για να ελέγχει συνεχώς τη θέση του αριστερού και του δεξιού Joystick. Όταν το αριστερό (ή δεξί) Joystick πιέζεται προς τα πάνω, η ταχύτητα ορίζεται για το πόσο μπροστά πιέζεται το Joystick.
- Έτσι, όσο πιο μπροστά πιέζεται το Joystick, τόσο πιο γρήγορα θα ρυθμίζεται η ταχύτητα και τόσο πιο γρήγορα θα κινούνται οι κινητήρες. Η ίδια ιδέα ισχύει και για το σπρώξιμο του Joystick προς τα πίσω. Όσο πιο πίσω πιέζεται το Joystick, τόσο πιο γρήγορα θα κινούνται οι κινητήρες προς τα πίσω.
- Αποθηκεύστε, κατεβάστε και εκτελέστε (C++) το παράδειγμα έργου Tank Control.
-
Για βοήθεια, ανατρέξτε στις ενότητες της Βιβλιοθήκης VEX στοC++ή δείτε το σεμινάριο στο VEXcode V5 που εξηγεί πώς να κατεβάσετε και να εκτελέσετε ένα έργο.

- Ελέγξτε τις εξηγήσεις του έργου στο σημειωματάριο μηχανικής σας και προσθέστε σημειώσεις για να τις διορθώσετε όπως απαιτείται.
Βήμα 2: Ελεγκτής: Έλεγχος δεξαμενής
Εργαλειοθήκη Εκπαιδευτικού
-
Οι Δομές Άπειρου Βρόχου του While
Αυτό το βήμα συζητά τη σημασία της δομής άπειρου βρόχου ενώ True . Θα πρέπει να εξετάσετε τις πληροφορίες ως τάξη. Μπορείτε να μοντελοποιήσετε τη συμπεριφορά με το Clawbot και τον Ελεγκτή σας ή, εάν το επιτρέπει ο χρόνος, να ζητήσετε από τους μαθητές να εκτελέσουν το πρόγραμμα χωρίς τη δομή άπειρου βρόχου while True .
Ποια είναι τα οφέλη από τη χρήση της δομής ατέρμονου βρόχου ενώ True;
Εδώ είναι το έργο μας χωρίς τη δομή άπειρου βρόχου ενώ True:
int main() {
// Αρχικοποίηση διαμόρφωσης ρομπότ. ΜΗΝ ΤΟ ΑΦΑΙΡΕΙΤΕ!
vexcodeInit();
// Έναρξη κώδικα έργου.
// Βρόχος κύριου ελεγκτή για τον ορισμό των κινητήρων στις θέσεις του άξονα του ελεγκτή
LeftMotor.setVelocity(Controller1.Axis3.position(), percent);
RightMotor.setVelocity(Controller1.Axis2.position(), percent);
LeftMotor.spin(forward);
RightMotor.spin(forward);
}Τι πιστεύετε ότι θα συνέβαινε αν υλοποιούνταν αυτό το πρόγραμμα; Συζητήστε ως ομάδα. Καταγράψτε την πρόβλεψή σας στο τετράδιο μηχανικής.
Εργαλειοθήκη Εκπαιδευτικού
-
Κατανόηση της Δομής
Χωρίς τον άπειρο βρόχο ενώ True , η τιμή της ταχύτητας για κάθε κινητήρα ορίζεται μόλις εκτελεστεί το έργο και αυτή η τιμή παραμένει σταθερή μέχρι να σταματήσει το έργο. Με άλλα λόγια, εάν εκτελέσετε το έργο χωρίς να μετακινήσετε κανένα από τα δύο Joystick, επειδή η προεπιλεγμένη θέση του Joystick στον άξονά του είναι 0, η ταχύτητα και των δύο κινητήρων θα παραμείνει στο 0, ακόμα κι αν μετακινήσετε το Joystick.
Ομοίως, ας υποθέσουμε ότι μετακινείτε το αριστερό Joystick προς τα πάνω όσο περισσότερο γίνεται κατά μήκος του άξονα 3 και το κρατάτε εκεί. Αν εκτελέσετε το παραπάνω έργο, ο αριστερός κινητήρας θα κινείται με πλήρη ταχύτητα και θα παραμείνει σε αυτήν την ταχύτητα ακόμα κι αν μετακινήσετε το Joystick προς τα κάτω κατά μήκος του άξονα 3. Αυτό συμβαίνει επειδή το Clawbot λαμβάνει την αρχική του εντολή από τον Ελεγκτή μόλις εκτελεστεί το έργο. Ωστόσο, χωρίς βρόχο, αυτή η αρχική τιμή δεν μπορεί να ενημερωθεί.
Ο άπειρος βρόχος ενώ True λέει στο Clawbot να ενημερώνει συνεχώς την ταχύτητα και να εκτελείται για όλη τη διάρκεια του έργου. Με άλλα λόγια, ο άπειρος βρόχος ενώ True , σε αυτό το έργο, σας επιτρέπει να αλλάζετε την ταχύτητα κάθε κινητήρα μετακινώντας είτε το Joystick κατά μήκος του άξονα 2 είτε του άξονα 3, και το Clawbot θα ανταποκριθεί ανάλογα μέχρι να σταματήσετε το έργο ή να το απενεργοποιήσετε.
Βήμα 3: Πλοηγηθείτε σε μια διαδρομή σλάλομ!
Εργαλειοθήκη Εκπαιδευτικού
-
Ρύθμιση της Δραστηριότητας
Οργανώστε τους μαθητές σε μικρές ομάδες των 2 ή 4 μαθητών. Ένας μαθητής θα πρέπει να οριστεί ως Οδηγός - το άτομο που θα χρησιμοποιεί τον Ελεγκτή για να χειρίζεται το Clawbot.
Ζητήστε από τους μαθητές να ολοκληρώσουν αυτό το σλάλομ χρησιμοποιώντας το Χειριστήριο για να μετακινήσουν το Clawbot κατά μήκος του εξωτερικού κάθε «σημαίας». Η διαδρομή του Clawbot πρέπει να το εμποδίζει να αγγίξει οποιαδήποτε σημαία και να του επιτρέπει να διασχίσει τη γραμμή τερματισμού. Οι σημαίες μπορούν να είναι οποιοδήποτε υλικό/αντικείμενο στην τάξη που έχετε πρόχειρο (γόμα, ρολό ταινίας, κουτί χαρτομάντιλων) και μπορούν να τοποθετηθούν στη θέση τους πριν από τη λειτουργία του Clawbot.
Αν ο χρόνος το επιτρέπει, ζητήστε από τους μαθητές να αλλάξουν ρόλους για να δώσουν και σε άλλους την ευκαιρία να οδηγήσουν το Clawbot. Θα μπορούσατε ακόμη και να το μετατρέψετε σε διαγωνισμό εντός ομάδων ή μεταξύ ομάδων, βλέποντας πόσο γρήγορα μπορεί κάθε οδηγός να πλοηγηθεί στο σλάλομ.

Τα σλάλομ είναι διαδρομές στις οποίες ο συμμετέχων πρέπει να πλοηγηθεί γύρω από τις καθορισμένες σημαίες ή τους δείκτες. Τα σκι σλάλομ είναι ένα δημοφιλές χειμερινό άθλημα και περιλαμβάνονται στους Χειμερινούς Ολυμπιακούς Αγώνες.
Τώρα που ο Ελεγκτήςέχει αντιστοιχιστεί μεκαι έχει ληφθεί το έργοC++, είστε έτοιμοι να μετακινήσετε το Clawbot σας χρησιμοποιώντας τον Ελεγκτή!
- Συγκεντρώστε από τον δάσκαλο τα τέσσερα αντικείμενα της τάξης που θα χρησιμοποιήσετε ως σημαίες στο σλάλομ σας.
- Συνεργαστείτε για να τοποθετήσετε τις σημαίες στη θέση τους, ώστε ο Οδηγός να μπορεί να πλοηγείται με το Clawbot, σύμφωνα με το διάγραμμα σλάλομ.
- Κατεβάστε το έργο Παράδειγμα Ελέγχου Δεξαμενής. Εάν έχετε ερωτήσεις σχετικά με τον τρόπο λήψης ενός έργου, ανατρέξτε στο σεμινάριο Λήψη και εκτέλεση ενός έργου.
Βήμα 4: Ρομποτικό Σλάλομ

Χρησιμοποιήστε το Χειριστήριο για να μετακινήσετε το Clawbot σας κατά μήκος του εξωτερικού κάθε «σημαίας». Η διαδρομή του ρομπότ πρέπει να το εμποδίζει να αγγίξει οποιαδήποτε σημαία και να του επιτρέπει να διασχίσει τη γραμμή τερματισμού.
- Εκτελέστε το έργο και οδηγήστε το Clawbot εμπρός και πίσω, και στρίψτε αριστερά και δεξιά χρησιμοποιώντας και τα δύο Joystick.
- Χρονομετρήστε πόσο χρόνο χρειάζεται το Clawbot για να ολοκληρώσει την πορεία. Καταγράψτε τους χρόνους στο τετράδιο μηχανικής.
- Πόσο γρήγορα μπορείς να περάσεις το Clawbot από την διαδρομή Slalom;
Κίνητρο για συζήτηση
-
Αναστοχασμός της δραστηριότητας
Ε:Απαντούσε το Clawbot στον Ελεγκτή όπως περιμένατε;
Α:Οι απαντήσεις θα ποικίλλουν. Ωστόσο, ο στόχος αυτής της ερώτησης είναι η προώθηση της γνωστικής σκέψης. Οι μαθητές ξεκίνησαν προβλέποντας συμπεριφορές πριν τις δοκιμάσουν, καταγράψουν τα αποτελέσματά τους και αναστοχαστούν.
Ε:Ποια είναι η μεγαλύτερη πρόκληση στην κίνηση του Clawbot προς τα εμπρός ή προς τα πίσω σε ευθεία γραμμή;
A:Ενώ οι απαντήσεις μπορεί να διαφέρουν, μια κοινή απάντηση θα πρέπει να είναι ότι και τα δύο Joystick πρέπει να κινούνται συγχρονισμένα μεταξύ τους για να διασφαλιστεί ότι οι κινητήρες του Clawbot κινούνται προς την ίδια κατεύθυνση και με την ίδια ταχύτητα
Ε:Πώς η χρήση του ατέρμονου βρόχουενώ είναι Trueσας επιτρέπει να χρησιμοποιείτε συνεχώς το Χειριστήριο για να μετακινείτε το Clawbot;
A:Χωρίς τον άπειρο βρόχοwhile True, το Clawbot θα εκτελούσε τις συμπεριφορές όπως καθορίζονται από τις οδηγίες στο έργο μόνο μία φορά. Ο άπειρος βρόχοςενώ Trueλέει στο Clawbot να ενημερώνει συνεχώς την ταχύτητα και να εκτελείται για όλη τη διάρκεια του έργου. Με άλλα λόγια, ο άπειρος βρόχοςενώ Trueσάς επιτρέπει να χρησιμοποιείτε το Χειριστήριο για να μετακινείτε το Clawbot επ' αόριστον ή μέχρι να εξαντληθεί η μπαταρία.