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

Μάθημα 2: Χρήση του αισθητήρα μπροστινού ματιού με βρόχους While

Σε αυτό το μάθημα, θα δημιουργήσετε ένα έργο χρησιμοποιώντας τον Αισθητήρα Εμπρός Ματιού με βρόχο while και συνθήκηnot για να πλοηγηθείτε στο Ρομπότ Εικονικής Πραγματικότητας (VR) μέσα από την Παιδική Χαρά Disk Maze. Το έργο σας θα δώσει εντολή στο ρομπότ εικονικής πραγματικότητας να στρίψει δεξιά όταν εντοπιστεί ένας πράσινος δίσκος από τον αισθητήρα μπροστινού ματιού και αριστερά όταν εντοπιστεί ένας μπλε δίσκος. Στη μίνι πρόκληση, θα εφαρμόσετε αυτές τις δεξιότητες για να οδηγήσετε το ρομπότ εικονικής πραγματικότητας (VR) σε κάθε δίσκο στην παιδική χαρά λαβύρινθου με δίσκους , και να τερματίσετε στον κόκκινο δίσκο.

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

Μαθησιακά Αποτελέσματα

  • Προσδιορίστε ότι ο βρόχος while μπορεί να χρησιμοποιηθεί με τους αισθητήρες ματιών.
  • Προσδιορίστε ότι για να χρησιμοποιήσετε τα δεδομένα του αισθητήρα ματιών για να κάνετε το ρομπότ εικονικής πραγματικότητας να λάβει μια απόφαση σε ένα έργο, πρέπει να χρησιμοποιηθεί μια συνθήκη.
  • Περιγράψτε πώς ο εντοπισμός ενός μοτίβου σε ένα έργο μπορεί να χρησιμοποιηθεί για την απλοποίηση του κώδικά σας.

Πλοήγηση στους πρώτους τέσσερις δίσκους

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

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

Για την ενημέρωσή σας

Η Παιδική Χαράμε Λαβύρινθο Δίσκουπεριέχει έγχρωμες σημάνσεις στο πάτωμα της Παιδικής Χαράς σε κάθε μία από τις υπερυψωμένες θέσεις έγχρωμων δίσκων.Πλάγια όψη του ρομπότ εικονικής πραγματικότητας στην παιδική χαρά Disk Maze με ένα μαύρο βέλος που υποδεικνύει ότι το ρομπότ θα οδηγήσει μέχρι τον πράσινο δίσκο και στη συνέχεια θα στρίψει δεξιά. 

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

Χρήση βρόχουWhileμε δεδομένα αισθητήρα ματιού

Σε προηγούμενες Ενότητες, ο βρόχοςενώχρησιμοποιούνταν για να κάνει το ρομπότ VR να κινείται ενώ πληρούνταν μια συνθήκη, ή ένας βρόχος ενώ με μια συνθήκηόχιγια να κινείται ενώ δεν πληρούνταν μια συνθήκη. Τα δεδομένα από τους αισθητήρες ματιών μπορούν να χρησιμοποιηθούν με τον ίδιο τρόπο. Ας δούμε το πρώτο βήμα στη διαδρομή του Δίσκου-Λαβύρινθου.

 Κάτοψη του ρομπότ εικονικής πραγματικότητας (VR) στην παιδική χαρά Disk Maze με ένα μαύρο βέλος που υποδεικνύει ότι το ρομπότ θα οδηγήσει μέχρι τον πράσινο δίσκο ακριβώς απέναντι από την τοποθεσία εκκίνησης και στη συνέχεια θα στρίψει δεξιά.

Το ρομπότ εικονικής πραγματικότηταςVR θα πρέπει να κινείται προς τα εμπρός ενώ ο αισθητήρας μπροστινού ματιούδεν ανιχνεύει πράσινο. Όταν ο μπροστινός αισθητήρας ματιού ανιχνεύσει πράσινο, το ρομπότ εικονικής πραγματικότητας θα πρέπει να στρίψει δεξιά 90 μοίρες για να αντιμετωπίσει τον επόμενο δίσκο στον λαβύρινθο.

Ονομάστε και αποθηκεύστε το έργο

Ας ξεκινήσουμε την κατασκευή του έργου για να χρησιμοποιήσουμε τον βρόχο whileγια να δώσουμε εντολή στο ρομπότ εικονικής πραγματικότητας να γυρίσει όταν ο αισθητήρας μπροστινού ματιού ανιχνεύσει τον πρώτο (πράσινο) δίσκο στην παιδική χαρά δίσκων Maze.

  • Ξεκινήστε ένα νέο έργο και επιλέξτε τοDisk Maze Playgroundόταν σας ζητηθεί. Επιλογή πλακιδίου παιδικής χαράς Disk Maze από το VEXcode VR.
  • Ονομάστε το έργο Ενότητα 7 ΜάθημαΓραμμή εργαλείων VEXcode VR με εμφανές το πλαίσιο ονόματος έργου. Το όνομα του έργου είναι Ενότητα 7 Μάθημα 2.

     

  • Για να ξεκινήσετε, προσθέστε ένα σχόλιο για να περιγράψετε τη συμπεριφορά του ρομπότ εικονικής πραγματικότητας. Αυτό το έργο θα χρησιμοποιήσει σχόλια για να υπενθυμίσει στον χρήστη ποια είναι η πρόθεση για τις συμπεριφορές του ρομπότ εικονικής πραγματικότητας κατά την επόμενη ενότητα του έργου. Να θυμάστε ότι τα σχόλια στο VEXcode VR Python ξεκινούν με το σύμβολο # (λίβρα). 
def main():
    # Οδηγήστε στον 1ο δίσκο (πράσινο), στρίψτε δεξιά
  • Το Ρομπότ Εικονικής Πραγματικότητας θα πρέπει να οδηγήσει προς τον πρώτο δίσκο στην Παιδική Χαρά Disk Maze. Σύρετε ή πληκτρολογήστε έναν βρόχο whileμε συνθήκη not στον χώρο εργασίας. Θυμηθείτε να συμπεριλάβετε την εντολήwaitως μέρος του βρόχουwhile, για να διασφαλίσετε ότι το ρομπότ εικονικής πραγματικότητας εκτελεί το έργο σωστά.
def main():
    # Οδήγηση στον 1ο δίσκο (πράσινο), στρίψτε δεξιά
    ενώ δεν είναι συνθήκη:
        αναμονή(5, MSEC)
  • Ορίστε την κατάσταση του βρόχου στην εντολήdetectτου αισθητήρα μπροστινού ματιού και ορίστε την παράμετρο σε "GREEN".
def main():
    # Οδηγήστε στον 1ο δίσκο (πράσινο), στρίψτε δεξιά
    ενώ δεν είναι ενεργοποιημένο front_eye.detect(ΠΡΑΣΙΝΟ):
        wait(5, MSEC)
  • Μέσα στον βρόχο while , σύρετε ή πληκτρολογήστε την εντολή non-waiting drive ώστε το έργο σας να μοιάζει με αυτό:
def main():
    # Οδηγήστε στον 1ο δίσκο (πράσινο), στρίψτε δεξιά
    ενώ δεν είναι ενεργοποιημένο front_eye.detect(ΠΡΑΣΙΝΟ):
        drivetrain.drive(ΜΠΡΟΣΤΑ)
        wait(5, MSEC)
  • Έξω από τον βρόχο while , σύρετε ή πληκτρολογήστε την εντολή turn_forγια να δώσετε εντολή στο ρομπότ εικονικής πραγματικότητας να στρίψει δεξιά 90 μοίρες όταν ανιχνεύσει έναν πράσινο δίσκο. Το έργο σας θα πρέπει να μοιάζει με αυτό:
def main():
    # Οδηγήστε στον 1ο δίσκο (πράσινο), στρίψτε δεξιά
    ενώ δεν είναι ενεργοποιημένο front_eye.detect(ΠΡΑΣΙΝΟ):
        drivetrain.drive(ΜΠΡΟΣΤΑ)
        wait(5, MSEC)

    drivetrain.turn_for(ΔΕΞΙΑ, 90, ΜΟΙΡΕΣ)
  • Ανοίξτε το Παράθυρο Παιδικής Χαράςεάν δεν είναι ήδη ανοιχτό. Βεβαιωθείτε ότι τοDisk Maze Playground ανοίγεικαι εκτελέστε το έργο.
  • Παρακολουθήστε το ρομπότ εικονικής πραγματικότητας να προχωρά προς τον πρώτο πράσινο δίσκο και μετά να στρίβει δεξιά.

    Πλάγια όψη του ρομπότ εικονικής πραγματικότητας στην παιδική χαρά Disk Maze με ένα μαύρο βέλος που υποδεικνύει ότι το ρομπότ θα οδηγήσει μέχρι τον πράσινο δίσκο και στη συνέχεια θα στρίψει δεξιά.
  • Παρατηρήστε ότι το ρομπότ εικονικής πραγματικότητας (VR) κινείται προς τα εμπρός ενώ η κατάσταση του χρώματος του αισθητήρα μπροστινού ματιού αναφέρει ψευδές. Μόλις ανιχνευθεί ο πράσινος δίσκος, το χρώμα του αισθητήρα μπροστινού ματιού αναφέρει True και τερματίζει τον βρόχο. Στη συνέχεια, εκτελεί την επόμενη εντολή, η οποία είναι να στρίψει δεξιά κατά 90 μοίρες.

Επιλέξτε το κουμπί Επόμενο για να συνεχίσετε με το υπόλοιπο μάθημα.