Μετάβαση στο κύριο περιεχόμενο

Ελεγκτές και Βρόχοι - C++

Ελεγκτές και βρόχοι

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

Ακολουθεί το παράδειγμα έργου Tank Drive από το VEXcode V5. Ο βρόχοςγια πάντασε αυτό το έργο ελέγχει τις θέσεις των αξόνων 2 και 3 για πάντα προκειμένου να ορίσει την ταχύτητα των κινητήρων.

// Συμπερίληψη της Βιβλιοθήκης V5
#include "vex.h"

// Επιτρέπει την ευκολότερη χρήση της Βιβλιοθήκης VEX
χρησιμοποιώντας τον χώρο ονομάτων vex;

int main() {
  // Αρχικοποίηση διαμόρφωσης ρομπότ. ΜΗΝ ΤΟ ΑΦΑΙΡΕΙΤΕ!
  vexcodeInit();
  // Έναρξη κώδικα έργου.
  // Βρόχος κύριου ελεγκτή για τον ορισμό των κινητήρων στις θέσεις του άξονα του ελεγκτή
  ενώ (true) {
    LeftMotor.setVelocity(Controller1.Axis3.position(), percent);
    RightMotor.setVelocity(Controller1.Axis2.position(), percent);
    LeftMotor.spin(forward);
    RightMotor.spin(forward);

    wait(5, msec);
  }

  return 0;
}

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

Εικονίδιο "Επεκτείνετε τη Μάθησή σας" Επεκτείνετε τη Μάθησή σας

Για να επεκτείνετε αυτήν τη δραστηριότητα, ζητήστε από τους μαθητές σας να εξερευνήσουν τις διαφορές μεταξύ του ελέγχου arcade και του ελέγχου tank. Οι μαθητές μπορούν να ακολουθήσουν τα παραδείγματα έργων που βρίσκονται στο VEXcode V5.

Υπάρχουν τέσσερα ενδεικτικά έργα: Left Arcade, Right Arcade, Split Arcade και Tank Drive.

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

Για να συσχετίσετε αυτήν τη δραστηριότητα με τα μαθηματικά, χρησιμοποιήστε τα παραπάνω έργα αριστερού/δεξιού arcade (ένα joystick) και διαιρεμένου arcade/tank drive (και τα δύο joystick) για να συζητήσετε τους ρόλους των αξόνων X και Y στο έργο.