Αυτός ο αισθητήρας είναι ένας διακόπτης. Ενημερώνει το ρομπότ εάν ο προφυλακτήρας του είναι πατημένος (τιμή αισθητήρα 1) ή απελευθερωμένος (τιμή αισθητήρα 0).
Πώς λειτουργεί ο διακόπτης προφυλακτήρα: Ολοκλήρωση του κυκλώματος
Ο διακόπτης προφυλακτήρα VEX IQ βασίζεται ίσως στην πιο συχνά χρησιμοποιούμενη ηλεκτρική συσκευή: τον διακόπτη. Ένας διακόπτης αποτελείται από δύο ακροδέκτες (θέσεις για τη σύνδεση ενός καλωδίου) και μια γέφυρα καλωδίων για να «δημιουργεί» τη σύνδεση όταν πατηθεί ο διακόπτης. Όπως φαίνεται σε αυτήν την κινούμενη εικόνα, όταν πατάτε το καλώδιο σύνδεσης «ολοκληρώνετε» το κύκλωμα και ο Ρομποτικός Εγκέφαλος το καταγράφει αυτό στο πρόγραμμά σας!
Βασικά, ο διακόπτης προφυλακτήρα είναι ένα μέρος ενός κυκλώματος που δεν είναι συνδεδεμένο ή έχει σπάσει. Όταν πατήσετε τον διακόπτη προφυλακτήρα, η σύνδεση γίνεται και επιτρέπεται η ροή ηλεκτρικού ρεύματος.
Κοινές χρήσεις του διακόπτη προφυλακτήρα
- Αυτός ο αισθητήρας μπορεί να ενεργοποιήσει μια ρομποτική ενέργεια όταν πατηθεί ή απελευθερωθεί.
- Αυτός ο αισθητήρας μπορεί να χρησιμοποιηθεί ως διακόπτης για την ενεργοποίηση και απενεργοποίηση των κινητήρων όταν πατηθεί, όπως φαίνεται στην παρακάτω κινούμενη εικόνα.
- Αυτός ο αισθητήρας μπορεί να ανιχνεύσει τοίχους ή αντικείμενα όταν ο προφυλακτήρας χτυπήσει πάνω τους, όπως φαίνεται στην παρακάτω κινούμενη εικόνα.
- Ο αισθητήρας μπορεί να ανιχνεύσει άλλα μέρη του ρομπότ, όπως ένα βραχίονα, όταν πιέζει τον προφυλακτήρα.
Χρήσεις του διακόπτη προφυλακτήρα σε ένα ρομπότ αγώνων
- Ενώ βρίσκεστε σε αυτόνομη λειτουργία, μπορεί να χρησιμοποιηθεί ένας διακόπτης προφυλακτήρα, έτσι ώστε το ρομπότ σας να περιμένει να εκτελέσει μια συγκεκριμένη ενέργεια μέχρι να πατηθεί από κάποιο είδος αντικειμένου.
- Ο διακόπτης προφυλακτήρα μπορεί να ανιχνεύσει πότε έρχεται σε επαφή με μια επιφάνεια όπως έναν περιμετρικό τοίχο ή ένα αντικείμενο όπως ένα πιόνι παιχνιδιού.
- Μπορούν να χρησιμοποιηθούν δύο διακόπτες προφυλακτήρα, για παράδειγμα στο μπροστινό και στο πλάι του ρομπότ, έτσι ώστε το ρομπότ να μπορεί να τοποθετηθεί σε μια γωνία. Στη συνέχεια, το ρομπότ μπορεί να πλοηγηθεί με μεγαλύτερη ακρίβεια από αυτήν τη γωνία σε άλλες θέσεις στο αγωνιστικό πεδίο.
- Μπορείτε να χρησιμοποιήσετε έναν διακόπτη προφυλακτήρα για να εντοπίσει το ρομπότ σας πότε ένα μέρος του, όπως ο βραχίονάς του, έρχεται σε επαφή με ένα άλλο μέρος του, όπως το σασί του.
Χρήση του διακόπτη προφυλακτήρα στο VEXcode IQ
Προσθήκη του διακόπτη προφυλακτήρα ως συσκευής στο VEXcode IQ
Για να κωδικοποιήσετε τον διακόπτη προφυλακτήρα σε ένα VEXcode IQ, πρέπει πρώτα να διαμορφώσετε τον διακόπτη προφυλακτήρα. Δείτε αυτό το άρθρο για να μάθετε περισσότερα σχετικά με τη διαμόρφωση ενός αισθητήρα στο VEXcode IQ.
Μόλις ρυθμιστεί ο διακόπτης Bumper, θα εμφανιστούν εντολές στην εργαλειοθήκη που μπορείτε να χρησιμοποιήσετε στο έργο σας.
Κωδικοποίηση του διακόπτη προφυλακτήρα σε μπλοκ
Το μπλοκ <Pressing bumper> είναι ένα μπλοκ αναφοράς Boolean που αναφέρει μια συνθήκη ως αληθή ή ψευδή. Τα λογικά μπλοκ, όπως το μπλοκ <Pressing bumper> , χωράνε μέσα σε μπλοκ με εξαγωνικές (εξάπλευρες) εισόδους για άλλα μπλοκ.
Το μπλοκ Boolean <Pressing bumper> αναφέρει την τιμή 'true' εάν ο προφυλακτήρας είναι πατημένος και 'false' εάν ο προφυλακτήρας είναι απελευθερωμένος ή δεν είναι πατημένος. Για να μάθετε περισσότερα σχετικά με τα Boolean μπλοκ, επισκεφθείτε τη Βοήθεια ή το άρθρο Σχήματα και Σημασία Μπλοκ.
Σε αυτό το παράδειγμα, το μπλοκ <Pressing bumper> χρησιμοποιείται με ένα μπλοκ [Περιμένετε μέχρι] για να κάνει το ρομπότ να κινηθεί προς τα εμπρός μέχρι να πατηθεί ο διακόπτης προφυλακτήρα, όπως φαίνεται στα παραπάνω βίντεο.
Κωδικοποίηση του διακόπτη Bumper σε Python
Σημείωση:Για να κωδικοποιήσετε έναν διακόπτη Bumper VEX IQ (1ης γενιάς) σε Python, πρέπει να είναι συνδεδεμένος σε έναν εγκέφαλο VEX IQ (2ης γενιάς). Το VEX IQ (1ης γενιάς) Brain δεν υποστηρίζει Python.
bumper_1.pressing()
Η εντολή bumper.pressingαναφέρει μια λογική τιμή είτε true είτε false σχετικά με τον διακόπτη Bumper.
Η εντολή bumper.pressing αναφέρει 'true' εάν πατηθεί ο προφυλακτήρας και 'false' εάν απελευθερωθεί ή δεν πατηθεί ο προφυλακτήρας.
Σημείωση:Το όνομα του διακόπτη προφυλακτήρα που εμφανίζεται στην εντολή αντιστοιχεί στο όνομα που του δίνεται στη διαμόρφωση.
drivetrain.drive(FORWARD)
ενώ δεν είναι bumper_1.pressing():
wait(20, MSEC)
drivetrain.stop()
Σε αυτό το παράδειγμα, χρησιμοποιείται ένας βρόχοςΕνώ με συνθήκη όχι με την εντολή προφυλακτήρα. Πατώντας, το ρομπότ κινείται προς τα εμπρός μέχρι να πατηθεί ο διακόπτης προφυλακτήρα, όπως φαίνεται στα παραπάνω βίντεο.