Μάθημα 2: Οδηγήστε μέχρι τον αριθμό '5'
Σε αυτό το μάθημα, το ρομπότ εικονικής πραγματικότητας θα οδηγήσει μέχρι τον αριθμό '5' και πίσω στον αριθμό '1' στον χάρτη πλέγματος αριθμών Playground!

Παρατηρήστε ότι το ρομπότ εικονικής πραγματικότητας θα κινείται κατά μήκος του άξονα Χ με τις τιμές Χ να αυξάνονται για να μετακινηθεί στον αριθμό '5' στον χάρτη πλέγματος αριθμών Playground.

Το ρομπότ εικονικής πραγματικότητας θα οδηγήσει στην τοποθεσία του αριθμού «5» στον χάρτη πλέγματος αριθμών Playground. Ωστόσο, προτού το ρομπότ εικονικής πραγματικότητας μπορέσει να πλοηγηθεί σε αυτόν τον αριθμό, πρέπει να ενημερωθεί για την τοποθεσία αυτού του αριθμού. Ξεκινώντας από το κέντρο της Παιδικής Χαράς, οι συντεταγμένες του αριθμού '5' είναι (-100, -900).

- Για να ξεκινήσει, το ρομπότ εικονικής πραγματικότητας πρέπει να είναι στραμμένο προς τον αριθμό «5». Σύρετε ή πληκτρολογήστε μια εντολή turn_for.
# Προσθήκη κώδικα έργου στο "main"
def main():
drivetrain.turn_for(RIGHT, 90, DEGREES)- Σύρετε έναν βρόχο while κάτω από την εντολή turn_for. Το έργο σας θα πρέπει να μοιάζει με αυτό:
# Προσθήκη κώδικα έργου στο "main"
def main():
drivetrain.turn_for(RIGHT, 90, DEGREES)
while condition:
wait(5, MSEC)- Όπως ακριβώς και η Μονάδα Αισθητήρα Απόστασης, έτσι και αυτό το έργο θα χρησιμοποιήσει την κατάσταση της θέσης του Αισθητήρα Τοποθεσίας με έναν τελεστή σύγκρισης για την πλοήγηση στον Χάρτη Πλέγματος Αριθμών - Παιδική Χαρά. Ορίστε τη συνθήκη για τον βρόχο while στην εντολή θέση στον άξονα Χ σε τιμή μικρότερη από -100 σε χιλιοστά (mm). Το έργο σας θα πρέπει να μοιάζει με αυτό:
# Προσθήκη κώδικα έργου στο "main"
def main():
drivetrain.turn_for(RIGHT, 90, DEGREES)
while location.position(X, MM) < -100:
wait(5, MSEC)- Σύρετε ή πληκτρολογήστε την εντολή μη αναμονής drive μέσα στον βρόχο while. Το έργο σας θα πρέπει να μοιάζει με αυτό:
# Προσθήκη κώδικα έργου στο "main"
def main():
drivetrain.turn_for(RIGHT, 90, DEGREES)
while location.position(X, MM) < -100:
drivetrain.drive(FORWARD)
wait(5, MSEC)- Σημειώστε ότι χρησιμοποιείται ο τελεστής «λιγότερο από» αντί για τον τελεστή «μεγαλύτερο από», επειδή το ρομπότ εικονικής πραγματικότητας (VR) οδηγεί προς τα δεξιά από την αριστερή πλευρά της παιδικής χαράς. Το ρομπότ εικονικής πραγματικότητας (VR) ξεκινά από μια τιμή X -900 χιλιοστών (mm). Καθώς το ρομπότ εικονικής πραγματικότητας κινείται προς τα εμπρός, οι τιμές X αυξάνονται και έτσι το ρομπότ θα συνεχίσει να κινείται προς τα εμπρός ενώ η τιμή X είναι μικρότερη από -100.

Για την ενημέρωσή σας
Θα χρειαστεί να επιλέξετε ποιον τελεστή σύγκρισης θα χρησιμοποιήσετε στο έργο σας, ανάλογα με την κατεύθυνση που θέλετε να κινηθεί το ρομπότ εικονικής πραγματικότητας κατά μήκος του άξονα Χ ή Υ. Όταν το ρομπότ εικονικής πραγματικότητας (VR) κινείται προς μια μεγαλύτερη τιμή, ο τελεστής μικρότερος από (<) θα χρησιμοποιηθεί με έναν βρόχοενώ Και όταν το ρομπότ εικονικής πραγματικότητας κινείται προς μια μικρότερη τιμή, ο τελεστής μεγαλύτερος από (>) θα χρησιμοποιηθεί με έναν βρόχοενώ .
Αυτό ευθυγραμμίζεται με τις κινήσεις αριστερά και δεξιά όταν κοιτάμε την Παιδική Χαρά. Εάν το ρομπότ εικονικής πραγματικότητας κινείται από αριστερά προς τα δεξιά ή από κάτω προς τα πάνω (μεγαλύτερες τιμές), ο χειριστής "λιγότερο από" χρησιμοποιείται για την οδήγηση, ενώ η θέση είναι μείον από την τιμή-στόχο.
Εάν το ρομπότ εικονικής πραγματικότητας κινείται από δεξιά προς τα αριστερά ή από πάνω προς τα κάτω (μικρότερες τιμές), ο τελεστής «μεγαλύτερο από» χρησιμοποιείται για την οδήγηση, ενώ η θέση είναι μεγαλύτερη κατά από την τιμή-στόχο.
Χρησιμοποιώντας τους τελεστές σύγκρισης, το ρομπότ εικονικής πραγματικότητας θα ταξιδεύει ενώ η τιμή που αναφέρεται από τον αισθητήρα τοποθεσίας είναι μεγαλύτερη από (>) ή μικρότερη από (<) την τιμή κατωφλίου. Σε αυτό το παράδειγμα, το ρομπότ εικονικής πραγματικότητας θα πλοηγηθεί στα θετικά 500 χιλιοστά (mm) στον άξονα Χ. Το ρομπότ εικονικής πραγματικότητας θα οδηγεί ενώ η θέση στον άξονα Χ είναι από 0 έως θετικό 499. Όταν ο Αισθητήρας Τοποθεσίας αναφέρει ότι η θέση είναι 501 ή υψηλότερη, το Ρομπότ Εικονικής Πραγματικότητας θα σταματήσει να οδηγεί.
# Προσθήκη κώδικα έργου στο "main"
def main():
monitor_sensor(location.position)
drivetrain.turn_for(RIGHT, 90, DEGREES)
while location.position(X, MM) < 500:
drivetrain.drive(FORWARD)
wait(5, MSEC)
drivetrain.stop()Παρατηρήστε ότι η τιμή που αναφέρεται από τον αισθητήρα τοποθεσίας δεν είναιακριβώς 500 χιλιοστά (mm). Όπως και με τον Αισθητήρα Απόστασης, οι τελεστές σύγκρισης χρησιμοποιούνται λόγω του χρόνου που χρειάζεται το Ρομπότ Εικονικής Πραγματικότητας (VR) για να επαναλάβει το έργο και να αναφέρει τιμές.
- Σύρετε ή πληκτρολογήστε μια εντολή stop εκτός του βρόχου while. Το έργο σας θα πρέπει να μοιάζει με αυτό:
# Προσθήκη κώδικα έργου στο "main"
def main():
drivetrain.turn_for(RIGHT, 90, DEGREES)
while location.position(X, MM) < -100:
drivetrain.drive(FORWARD)
wait(5, MSEC)
drivetrain.stop()- Ανοίξτε το Παράθυρο Παιδικής Χαράςεάν δεν είναι ήδη ανοιχτό. Βεβαιωθείτε ότι ανοίγει ο Χάρτης Πλέγματος ΑριθμώνPlaygroundκαι εκτελέστε το έργο.
- Παρακολουθήστε το ρομπότ εικονικής πραγματικότητας να οδηγεί προς τον αριθμό '5' στην παιδική χαρά του χάρτη πλέγματος αριθμών .

- Σε αυτό το έργο, το ρομπότ εικονικής πραγματικότητας οδηγεί προς τον αριθμό «5» στον χάρτη πλέγματος αριθμών στην παιδική χαρά. Ο βρόχος ενώ χρησιμοποιείται έτσι ώστε το ρομπότ εικονικής πραγματικότητας να συνεχίσει να κινείται προς τα εμπρός ενώ η τιμή X είναι μείον από την τιμή X της συντεταγμένης στην οποία βρίσκεται ο υποδεικνυόμενος αριθμός.
- Μόλις η τιμή X γίνει μεγαλύτερη από -100, το έργο μετακινείται στην επόμενη εντολή εκτός του βρόχου, η οποία είναι μια εντολή stop. Δεδομένου ότι η τιμή X του αριθμού '5' είναι -100, το ρομπότ εικονικής πραγματικότητας θα σταματήσει να οδηγεί μόλις η τιμή X γίνει μεγαλύτερη από -100.

Για την ενημέρωσή σας
Σημειώστε ότι η τιμή που αναφέρεται από τον αισθητήρα τοποθεσίας ενδέχεται να μην είναι ακριβώς-100 χιλιοστά (mm). Όπως και με τον Αισθητήρα Απόστασης, οι τελεστές σύγκρισης χρησιμοποιούνται λόγω του χρόνου που χρειάζεται το Ρομπότ Εικονικής Πραγματικότητας (VR) για να επαναλάβει το έργο και να αναφέρει τιμές.
Στο VEXcode VR Python, μπορείτε να χρησιμοποιήσετε έναν τελεστή σύγκρισης μεγαλύτερο απόή ίσο με(>=) ή μικρότερο από ή ίσο με(<=) στο έργο σας για να έχετε επιπλέον ακρίβεια στις κινήσεις σας.
# Προσθήκη κώδικα έργου στο "main"
def main():
drivetrain.turn_for(RIGHT, 90, DEGREES)
while location.position(X, MM) <= -100:
drivetrain.drive(FORWARD)
wait(5, MSEC)
drivetrain.stop()Ανάλογα με την ταχύτητα του ρομπότ VR και την ταχύτητα με την οποία το έργο επαναλαμβάνεται στον βρόχο, μπορεί να δείτε ότι το ρομπότ VR είναι σε θέση να σταματήσει πιο κοντά στην τιμή κατωφλίου όταν στον τελεστή προστεθεί το ή ίσο με (<= ή >=).
Επιλέξτε το κουμπί Επόμενο για να συνεχίσετε με το υπόλοιπο μάθημα.