BBC Micro:bit ο αισθητήρας φωτός.
Η οθόνη από 5x5 led που έχει το micro:bit είναι επίσης και ένας αισθητήρας φωτός που μπορεί να ανιχνεύσει 256 διαφορετικά επίπεδα φωτισμού από 0 (λιγότερο φως) έως 255 (περισσότερο φως).
Για να δούμε καλύτερα την λειτουργία του αισθητήρα φωτός ως πηγή εισόδου δεδομένων για το micro:bit θα δημιουργήσουμε ένα απλό πρόγραμμα με μια μεταβλητή που θα λέγεται light1 και θα δέχεται την τιμή του αισθητήρα φωτός. Στη συνέχεια θα συγκρίνει την τιμή αυτή με τις τιμές 50, 100, 150 και αναλόγως θα φωτίζει περισσότερα ή λιγότερα LED, ώστε να φαίνεται σαν ήλιος που μεγαλώνει ή μικραίνει.
Δραστηριότητα B1 – Εμφάνιση επιπέδου φωτός οθόνη του micro:bit.
- Ανοίξτε το περιβάλλον προγραμματισμού MakeCode.
Θα χρειαστούμε επίσης και μια μεταβλητή. Μια μεταβλητή είναι ένα κομμάτι μνήμης στο οποίο δίνουμε ένα όνομα και μπορούμε να αποθηκεύσουμε μέσα σε αυτό αριθμούς ή κείμενο. Στην εργασία μας θα ονομάσουμε μια θέση της μνήμης με το όνομα "light1" και σε αυτήν θα βάζουμε τις μετρήσεις από τoν αισθητήρα φωτός.
- Επειδή ο αισθητήρας θα μετρά συνέχεια την ένταση του φωτός και θα την συγκρίνει με τις τιμές 50, 100, 150 θα βάλουμε όλες τις εντολές μέσα στο μπλοκ "Για Πάντα".
- Στη συνέχεια βάζουμε στην μεταβλητή light1 τις μετρήσεις από τον αισθητήρα φωτός δημιουργώντας την εντολή που φαίνεται στις παρακάτω δυο εικόνες:
1
2
- Στη συνέχεια για να συγκρίνουμε την μεταβλητή light1 με τις τιμές 150, 100 και 50 θα χρησιμοποιήσουμε την εντολή "Εάν" δημιουργώντας δύο επιπλέον υποπεριπτώσεις "Αλλιώς εάν". Ακολουθήστε τα βήματα στην επόμενη εικόνα:
- Στο επόμενο βήμα δημιουργούμε την λογική συνθήκη σύγκρισης του light1 που έχει την τιμή του φωτός με την πρώτη τιμή ελέγχου που είναι το 150 και την τοποθετούμε στην πρώτη περίπτωση της Εάν. Ακολουθήστε τα βήματα στην επόμενη εικόνα:
- Στη συνέχεια δημιουργούμε την εικόνα που θα εμφανίζεται στην οθόνη LED με την εντολή Showled και την τοποθετούμε μέσα στις εντολές που εκτελούνται στην πρώτη περίπτωση της "Εάν".
Στην περίπτωση αυτή η τιμή του φωτός θα είναι μεγαλύτερη από 150 άρα σχεδόν όλα τα LED θα φωτίζουν. Στις επόμενες περιπτώσεις δηλαδή 100 και 50 η τιμή του φωτός θα είναι μικρότερη, επομένως η εικόνα που θα δημιουργήσουμε θα έχει κάθε φορά λιγότερα LED φωτισμένα μέχρι την περίπτωση Αλλιώς όπου η τιμή του φωτός θα είναι πολύ μικρή και θα είναι μόνο ένα LED φωτισμένο. - Τέλος επαναλαμβάνουμε τα δυο τελευταία βήματα για να δημιουργήσουμε τις υπόλοιπες συγκρίσεις της μεταβλητής light1 με τις άλλες δυο τιμές ελέγχου (100 και 50) και δημιουργούμε τις αντίστοιχες εικόνες που θα εμφανίζονται την οθόνη LED. Δείτε το παράδειγμα της εργασίας πιο κάτω, ολοκληρωμένο:
Παράδειγμα – Εμφάνιση επιπέδου φωτός οθόνη LED του micro:bit.
Επέκταση της Δραστηριότητας (Αυτόματο σύστημα ανοίγματος προβολέων αυτοκινήτων)
- Σκεφτείτε τι θα κάνετε για να μετατρέψετε το πρόγραμμα που δημιουργήσατε ώστε όταν σκοτεινιάζει να φωτίζουν τα LED, ενώ όταν ο φωτισμός είναι επαρκής, τα LED να μην φωτίζουν.
Με τον τρόπο αυτόν λειτουργούν τα σύγχρονα αυτοκίνητα στα οποία τα φώτα ανοίγουν αυτόματα όταν νυχτώσει ή όταν περνούν μέσα από κάποιο τούνελ.