Οι Βασικοί Αισθητήρες
Οι Αισθητήρες όπως έχουμε αναφέρει σε προηγούμενο μάθημα, είναι κάποια εξαρτήματα που συνδέονται με καλώδια στις υποδοχές της Κεντρικής Μονάδας του Robot και στέλνουν σε αυτό διάφορες πληροφορίες από το περιβάλλον. Για παράδειγμα ο Αισθητήρας φωτός και χρωμάτων στέλνει πληροφορίες για την ένταση του φωτός και το χρώμα διαφόρων αντικειμένων, ο Αισθητήρας της πίεσης δίνει στην Κεντρική Μονάδα πληροφορίες για την επαφή με διάφορα αντικείμενα, ο Αισθητήρας των υπέρυθρων δίνει πληροφορίες στην Κεντρική Μονάδα για την απόσταση των αντικειμένων γύρω από αυτήν κλπ.
Στροφές ακριβείας με Γυροσκόπιο.
Οι οδηγίες για την κατασκευή του Robot που χρησιμοποιούμε είναι εδώ.
Στο μάθημα "Βασικές κινήσεις - Στροφές" προγραμματίσαμε το robot να στρίβει δίνοντας κίνηση μόνο στον ένα κινητήρα. Έτσι με την εντολή ορίσαμε πόσο πρέπει να περιστραφεί η μία ρόδα για να στρίψει το ρομπότ εκεί που θέλουμε. Το πρόβλημα που έχουμε με αυτόν τον τρόπο είναι ότι το robot δεν έχει εικόνα από το περιβάλλον γύρο του και το στρίψιμο εξαρτάται μόνο από την διάρκεια περιστροφής του κινητήρα. Μπορεί δηλαδή η σκόνη που μαζεύεται στις λαστιχένιες ρόδες να τις κάνει να γλιστρούν (σπινιάρουν) κι έτσι η στροφή να μην ολοκληρωθεί, παρά το γεγονός ότι ο κινητήρας τελείωσε την προγραμματισμένη κίνησή του.
Για μεγαλύτερη ακρίβεια και για να μην σταματά να περιστρέφεται ο κινητήρας εάν δεν ολοκληρωθεί η στροφή του robot θα χρησιμοποιήσουμε έναν πολύ βασικό αισθητήρα που λέγεται Γυροσκόπιο και βρίσκεται ενσωματωμένος στην Κεντρική Μονάδα.
BBC Micro:bit
Το BBC Miccrobit είναι ένας μίκρο-υπολογιστής ή καλύτερα ένας μικρο-ελεγκτής (micro-controller), ο οποίος μπορεί να προγραμματιστεί "εύκολα", να συνδεθεί και να ελέγξει άλλα εξαρτήματα όπως αισθητήρες και κινητήρες. Για το λόγο αυτό είναι η πιο βασική μονάδα για την κατασκευή ενός ρομπότ ή ενός συστήματος αυτοματισμού.
Φτιάχτηκε για εκπαιδευτικούς σκοπούς από μια ομάδα εταιριών κάτω από την επίβλεψη του Αγγλικού BBC.
Πιο συγκεκριμένα, είναι μια μικρή πλακέτα (όχι μεγαλύτερη από μια πιστωτική κάρτα) που περιλαμβάνει:
BBC Micro:bit πρόγραμμα που βασίζεται σε γεγονότα.
Το micro:bit έχει μια οθόνη 5x5 εικονοστοιχείων (pixels). Κάθε εικονοστοιχείο είναι στην ουσία μια φωτοδίοδος (Light Emmiting Diode ή LED). Η οθόνη μπορεί να απεικονίσει κείμενο και απλά γραφικά. Αν το κείμενο που θέλουμε να απεικονίσουμε είναι μεγαλύτερο από ένα χαρακτήρα, το κείμενο «κυλάει» από τα δεξιά προς τα αριστερά μέχρι να απεικονιστούν όλοι οι χαρακτήρες.
Το micro:bit έχει 2 φυσικά πλήκτρα που ονομάζονται A και B. Μπορούμε να χρησιμοποιήσουμε μπλοκ που ενεργοποιούνται από κάποια ενέργεια (μπλοκ ενεργειών) για να προσδιορίσουμε αν ο χρήστης πάτησε το πλήκτρο Α, το πλήκτρο Β ή και τα δύο πλήκτρα ταυτόχρονα και να εκτελέσουμε διαφορετικές λειτουργίες βασισμένοι σε αυτό.
Ένα πρόγραμμα που αντιδρά σε κάτι που κάνει ο χρήστης, όπως το να πιέσει ένα κουμπί, να κάνει κλικ στην οθόνη κλπ. είναι ένα πρόγραμμα που βασίζεται σε γεγονότα (event driven program). Αυτού του είδος ο προγραμματισμός κυριαρχεί στις διαδραστικές εφαρμογές στις οποίες ο χρήστης αλληλεπιδρά με το πρόγραμμα (παιχνίδια, μέσα κοινωνικής δικτύωσης, ιστοσελίδες κλπ.) και το συναντάμε στους επιτραπέζιους υπολογιστές, τα κινητά τηλέφωνα και τις ταμπλέτες. |
BBC Micro:bit ο αισθητήρας φωτός.
Η οθόνη από 5x5 led που έχει το micro:bit είναι επίσης και ένας αισθητήρας φωτός που μπορεί να ανιχνεύσει 256 διαφορετικά επίπεδα φωτισμού από 0 (λιγότερο φως) έως 255 (περισσότερο φως).
Για να δούμε καλύτερα την λειτουργία του αισθητήρα φωτός ως πηγή εισόδου δεδομένων για το micro:bit θα δημιουργήσουμε ένα απλό πρόγραμμα με μια μεταβλητή που θα λέγεται light1 και θα δέχεται την τιμή του αισθητήρα φωτός. Στη συνέχεια θα συγκρίνει την τιμή αυτή με τις τιμές 50, 100, 150 και αναλόγως θα φωτίζει περισσότερα ή λιγότερα LED, ώστε να φαίνεται σαν ήλιος που μεγαλώνει ή μικραίνει.