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

Μάθημα 3: Χρήση αισθητήρων και ηλεκτρομαγνήτη για την ανίχνευση ενός δίσκου

Χρήση του αισθητήρα Down Eye με τον ηλεκτρομαγνήτη

Αυτό το μάθημα θα χρησιμοποιήσει την αναφερόμενη ανατροφοδότηση αισθητήρων για να λύσει την ίδια πρόκληση με το Μάθημα 2. Το ρομπότ εικονικής πραγματικότητας θα σηκώσει και θα μετακινήσει τον πρώτο μπλε δίσκο μέσα στον μπλε στόχο.

  • Ξεκινήστε ένα νέο έργο και επιλέξτε το Disk Mover Playground όταν σας ζητηθεί. Πλακίδιο επιλογής Παιδικής Χαράς Μετακίνησης Δίσκου, γράφει Μετακίνηση Δίσκου στο κάτω μέρος.
  • Ονομάστε το έργο Μονάδα8Μάθημα3.Γραμμή εργαλείων VEXcode VR με επισημασμένο το πλαίσιο ονόματος έργου. Το όνομα του έργου είναι Ενότητα 8 Μάθημα 3.

     

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

    def main():
        # 1. Οδηγήστε στον πρώτο δίσκο
    
        # 2. Πάρτε τον πρώτο δίσκο
    
        # 3. Οδηγήστε προς τον στόχο
    
        # 4. Ρίξτε τον δίσκο στο τέρμα

     

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

    def main():
        #1. Οδήγηση στον πρώτο δίσκο
        ενώ δεν είναι συνθήκη:
            αναμονή(5, MSEC)
    
        # 2. Πάρτε τον πρώτο δίσκο
    
        # 3. Οδηγήστε προς τον στόχο
    
        # 4. Ρίξτε τον δίσκο στο τέρμα
  • Η εντολή down_eye.near_objectαναφέρει True όταν ο αισθητήρας Down Eye στο ρομπότ VR ανιχνεύσει έναν έγχρωμο δίσκο στην παιδική χαρά Disk Mover. Οι δίσκοι βρίσκονται στο πάτωμα της παιδικής χαράς και δεν μπορούν να ανιχνευθούν από τον μπροστινό αισθητήρα ματιού, επομένως ο αισθητήρας κάτω ματιού θα ανιχνεύσει τους δίσκους. Σύρετε ή πληκτρολογήστε την εντολή down_eye.near_object ως συνθήκη του βρόχου while , έτσι ώστε το πρώτο τμήμα του έργου σας να μοιάζει με αυτό:

    def main():
        #1. Οδήγηση στον πρώτο δίσκο
        ενώ δεν είναι down_eye.near_object():
            wait(5, MSEC)
  • Οι εντολές εντός του βρόχου whileθα εκτελούνται όταν το ρομπότ εικονικής πραγματικότητας ΔΕΝ ανιχνεύσει κάποιο αντικείμενο. Για να φτάσει σε έναν από τους δίσκους, το ρομπότ εικονικής πραγματικότητας θα πρέπει να προχωρήσει προς τα εμπρός μέχρι να ανιχνευθεί ο δίσκος.

    Πίσω όψη της Παιδικής Χαράς Μετακίνησης Δίσκων, που δείχνει το Ρομπότ Εικονικής Πραγματικότητας (VR) στην τοποθεσία εκκίνησης, και τους τρεις μπλε δίσκους στη σειρά που τέντωναν το μήκος της Παιδικής Χαράς μπροστά από το ρομπότ.
  • Σύρετε ή πληκτρολογήστε μια εντολή drive μέσα στον βρόχο while , έτσι ώστε η πρώτη ενότητα σχολίων του έργου να μοιάζει με αυτό:

    	#1. Οδήγηση στον πρώτο δίσκο
        ενώ δεν είναι down_eye.near_object():
            drivetrain.drive(FORWARD)
            wait(5, MSEC)
  • Όταν εντοπιστεί ένας δίσκος, το ρομπότ εικονικής πραγματικότητας θα πρέπει να σταματήσει να οδηγεί για να τον πιάσει. Σύρετε ή πληκτρολογήστε μια εντολή stop εκτός του βρόχου while, έτσι ώστε η πρώτη ενότητα σχολίων του έργου να μοιάζει με αυτό:

    	#1. Οδήγηση στον πρώτο δίσκο
        ενώ δεν είναι down_eye.near_object():
            drivetrain.drive(FORWARD)
            wait(5, MSEC)
        drivetrain.stop()
  • Παρατηρήστε ότι οι εντολές drive και wait βρίσκονται σε εσοχή κάτω από την κεφαλίδα βρόχου while, που σημαίνει ότι οι εντολές βρίσκονται μέσα στον βρόχο. Η γκρι γραμμή μπορεί επίσης να βοηθήσει στην υπόδειξη ποιες εντολές έχουν σωστή εσοχή και βρίσκονται μέσα σε έναν βρόχο. Η εντολή stop είναι σε ευθυγράμμιση με την κεφαλίδα του βρόχου, που σημαίνει ότι η εντολή stop βρίσκεται εκτός του βρόχου. Βεβαιωθείτε ότι οι εντολές έχουν σωστή εσοχή, διαφορετικά το έργο ενδέχεται να μην εκτελεστεί όπως αναμένεται. 
  • Τώρα, δώστε εντολή στο ρομπότ εικονικής πραγματικότητας να σηκώσει τον δίσκο με τον ηλεκτρομαγνήτη σύροντας ή πληκτρολογώντας μια εντολή energizeμετά το δεύτερο σχόλιο, έτσι ώστε το δεύτερο τμήμα του έργου να μοιάζει με αυτό:

    	# 2. Σηκώστε τον πρώτο δίσκο
        μαγνήτη.ενεργοποίηση(ΕΝΙΣΧΥΣΗ)
  • Ανοίξτε το παράθυρο της παιδικής χαράς εάν δεν είναι ήδη ανοιχτό. Βεβαιωθείτε ότι ανοίγει τοDisk Mover Playgroundκαι εκτελέστε το έργο.
  • Το ρομπότ εικονικής πραγματικότητας (VR) κινείται προς τα εμπρός μέχρι να ανιχνευθεί ο πρώτος μπλε δίσκος από τον αισθητήρα Down Eye, να σταματήσει να κινείται και να ενεργοποιήσει τον ηλεκτρομαγνήτη για να τον σηκώσει.

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

Ροή έργου για την παραλαβή του πρώτου δίσκου

Παρατηρήστε πώς ο βρόχος while με συνθήκη not χρησιμοποιεί ανατροφοδότηση αισθητήρα για να πάρει με επιτυχία τον πρώτο δίσκο:

  • Το ρομπότ εικονικής πραγματικότητας κινείται προς τα εμπρός ενώ ο αισθητήρας ματιού προςανιχνεύει ένα αντικείμενοόχι.
  • Μόλις ο αισθητήρας Down Eye στο ρομπότ VR ανιχνεύσει ένα αντικείμενο, το έργο μετακινείται στην επόμενη εντολή εκτός του βρόχου whileκαι σταματά την οδήγηση.
  • Το έργο συνεχίζεται, οπότε το Ρομπότ Εικονικής Πραγματικότητας ενεργοποιείτον Ηλεκτρομαγνήτη για να σηκώσει τον δίσκο.
Ένα διάγραμμα ροής του παραπάνω έργου, που απεικονίζει τη ροή με τον βρόχο while. Τα δύο πρώτα τμήματα του έργου εμφανίζονται στα αριστερά, και στα δεξιά, το πρώτο τμήμα έχει ένα κόκκινο κυκλικό βέλος που υποδεικνύει ότι ενώ το κάτω μάτι δεν ανιχνεύει αντικείμενο, το ρομπότ θα κινηθεί προς τα εμπρός, καθώς η συνθήκη αναφέρεται ως ψευδής. Στη συνέχεια, ένα πράσινο βέλος προς τα κάτω δίπλα στην εντολή διακοπής υποδεικνύει ότι όταν το κάτω μάτι ανιχνεύσει ένα αντικείμενο, το έργο θα τερματίσει τον βρόχο και το ρομπότ θα σταματήσει. Στη συνέχεια, ένα δεύτερο πράσινο βέλος προς τα κάτω ευθυγραμμίζεται με το δεύτερο τμήμα του έργου, υποδεικνύοντας ότι ο ηλεκτρομαγνήτης θα ενεργοποιηθεί στη συνέχεια.

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