Skip to main content
Completion requirements

Αισθητήρες

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

Αισθητήρας υπέρυθρης ακτινοβολίας


Θα ξεκινήσουμε με τον αισθητήρα υπέρυθρης ακτινοβολίας. Στο παρακάτω σχήμα μπορείτε να δείτε τη θέση που βρίσκεται ο αισθητήρας που μας ενδιαφέρει αλλά και οι δύο πομποί υπέρυθρης ακτινοβολίας που υπάρχουν στο Edison.


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

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


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

Η ενεργοποίηση πραγματοποιείται από την κατηγορία "Sensors". Εκεί θα βρούμε blocks ενεργοποίησης και απενεργοποίησης του κάθε αισθητήρα. 

Σε αυτήν την ενότητα θα ασχοληθούμε με τον αισθητήρα απόστασης και θα χρησιμοποιήσουμε το :


ενώ αντίστοιχα όταν δε χρειαζόμαστε πλέον την αναγνώριση μπορούμε να κλείσουμε την εκπομπή με παραμετροποίηση:


Αυτό που υποχρεωτικά πρέπει να κάνουμε κάθε φορά που χρησιμοποιούμε έναν αισθητήρα είναι καταρχήν να μηδενίσουμε την προηγούμενη μέτρηση του αισθητήρα. Στην προκειμένη περίπτωση θα πρέπει να χρησιμοποιήσουμε παραμετροποιημένο το 

      ->        

Κρατήστε λοιπόν ότι εφόσον θέλουμε την ενεργοποίηση της μέτρησης απόστασης θα πρέπει να ξεκινάμε με το ζευγάρι :


Αυτό το "καθάρισμα" θα πρέπει να συμβαίνει κάθε φορά που θέλουμε καινούρια μέτρηση. Αν για παράδειγμα θα θέλαμε να δημιουργήσουμε το ίδιο πρόγραμμα με το κυκλικό κουμπί που είχαμε νωρίτερα αλλά με ενεργοποίηση από εμπόδιο, θα είχαμε:


  1. Έχοντας την πρόθεση της ανίχνευσης εμποδίου από την αρχή του κύριου προγράμματος ενεργοποιούμε την εκπομπή υπέρυθρου φωτός, και μηδενίζουμε τον αισθητήρα
  2. Όταν ο αισθητήρας καταγράψει μέτρηση, διακόπτεται το κύριο πρόγραμμα και εκκινείται η υπορουτίνα.
  3. Πριν επιστρέψουμε στο κύριο πρόγραμμα, μηδενίζουμε εκ νέου τον αισθητήρα υπέρυθρου φωτός ώστε να επιτρέψουμε την επόμενη ανίχνευση.


Last modified: Monday, 21 February 2022, 1:34 AM