Πώς μπορώ να παρακολουθώ τις τιμές αισθητήρων online στην οθόνη του υπολογιστή μου με το ρομποτάκι Thymio; (10η Δραστηριότητα)

του Νίκου Δαπόντε

Όσο δουλεύεις και πειραματίζεσαι ο ίδιος με το κινητό ρομποτάκι Thymio τόσο πιο πολλές δυνατότητες σου αποκαλύπτονται. Κι αυτό, βέβαια, σημαίνει ότι διευρύνονται τα όρια των δραστηριοτήτων «Εκπαιδευτικής Ρομποτικής» στο πλαίσιο πάντα της προσέγγισης STEAM (Science, Technology, Engineering, Art, Mathematics) και της αναγκαίας πειραματικής πρακτικής σε σχολική αίθουσα. stem

Αφορμή για τη παραπάνω «ρήση» περί STEAM στάθηκε τόσο η μέχρι σήμερα ενασχόλησή μου με το Thymio όσο και ο πειραματισμός μου με την εξαιρετική δυνατότητα να παρακολουθώ online μια γραφική παράσταση της χρονικής εξέλιξης των τιμών αισθητήρων ή μεταβλητών που είναι αποθηκευμένα στο Thymio και θα αποτελέσει θέμα μιας επόμενης δραστηριότητας.

Πριν από αυτό, όμως, θα χρειαστεί να υπενθυμίσουμε, μέσα από το παρακάτω διάγραμμα, το σύνολο των αισθητήρων (όπως κουμπιών αφής, απόστασης, εδάφους κλπ.) και άλλων εξαρτημάτων του Thymio.  Επιπλέον, θα δούμε πιο αναλυτικά τον τρόπο που μπορούμε να παρακολουθούμε τις τιμές μεγεθών που αναφέρονται στο ρομποτάκι Thymio (όπως οι τιμές των αισθητήρων απόστασης ή η τιμή της έντασης του ήχου για το μικρόφωνο που αυτό διαθέτει κλπ.).

Αυτή η διαδικασία, αν γίνει προσεκτικά, μπορεί να μας βοηθήσει όχι μόνο να προγραμματίζουμε με μεγαλύτερη άνεση το ρομποτάκι αλλά και να επινοούμε καινούριες δραστηριότητες ρομποτικής σε ποικίλες καταστάσεις.

thymio-10-1

Βήμα 1ο : Συνδέω το Thymio με τον υπολογιστή μου, ανοίγω το ASEBA studio και κάνω τη σύνδεση (κουμπί connect).

Βήμα 2ο : Στη στήλη αριστερά και κάτω από το όνομα Variables (μεταβλητές) βλέπουμε τα ονόματα διαφόρων μεταβλητών όπως για παράδειγμα τα 5 κουμπιά αφής, οι 2 αισθητήρες εδάφους, οι 7 αισθητήρες απόστασης, η ένταση του ήχου, οι τιμές των κουμπιών ενός τηλεχειριστηρίου  κ.α.

Επιλέγοντας <auto > έχω στη διάθεση μου έναν πίνακα με ονόματα μεταβλητών και τις αντίστοιχες τιμές τους.

Τώρα είμαστε έτοιμοι να πειραματιστούμε με τους βασικούς αισθητήρες του Thymio σε διαφορετικές περιπτώσεις μέσα από συγκεκριμένα παραδείγματα.

Παρακάτω δίνονται τα βασικά blocks αναφορικά με τους αισθητήρες του Thymio. Μερικά, προσφέρονται για πειραματισμό στο περιβάλλον του BLOCKLY:

thymio-10-2

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

thymio-10-3

Ας ξεκινήσουμε με τα πέντε κουμπιά αφής τα οποία εμφανίζονται αν κάνω κλικ στο σύμβολο αριστερά του buttons. _ raw .  Στον πίνακα που ακολουθεί διαπιστώνουμε ότι αν δεν αγγίζουμε κανένα κουμπί όλες οι τιμές είναι μηδέν (0), ενώ αν αγγίξουμε οποιοδήποτε από αυτά βλέπω ότι τιμή του γίνεται ένα (1).

Επομένως,  καθένα από τα 5 κουμπιά αφής μπορεί να είναι στην κατάσταση (0) ή (1) ή να  λέμε ότι η αντίστοιχη μεταβλητή παίρνει μόνο δύο διακριτές τιμές (0 , 1).

thymio-10-4

Η δεύτερη περίπτωση αναφέρετε στους 7 αισθητήρες απόστασης.  Βλέποντας το ρομποτάκι από το πίσω μέρος, ο μπροστινός αριστερός αισθητήρας ονομάζεται [prox.horizontal (0) ] και έχει τιμή μηδέν όταν δεν ανιχνεύει αντικείμενο κοντά του. Με τον ίδιο τρόπο δίνονται τα ονόματα [prox.horizontal (1) ], [prox.horizontal (2) ]….. [prox.horizontal (4) ] για τους μπροστινούς και [prox.horizontal (5) ], [prox.horizontal (6) ] για τους αντίστοιχους στο πίσω μέρος του ρομπότ.

thymio-10-5

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

Τέλος, με τον ίδιο τρόπο μπορούμε να πειραματιστούμε με τους 2 αισθητήρες εδάφους  τριών κατηγοριών (prox.ground.ambiant, prox.ground.reflected, prox.ground.delta) όπως μας δείχνει ο πίνακας:

thymio-10-6

Σημείωση: Με τους αισθητήρες εδάφους ασχοληθήκαμε και στην 3η Δραστηριότητα που ανάρτησα στο Eduportal

«Από το επίσημο site του Thymio http://thymio.org αντλούμε την πληροφορία ότι η τιμή της prox.ground.delta που εμφανίζεται στους κώδικες «Text Programming» υπολογίζεται από τη διαφορά μεταξύ της ποσότητας ανακλώμενης ακτινοβολίας prox.ground.reflected  (τιμή 0 – καθόλου ανάκλαση και 1023 μέγιστη ) και της ακτινοβολίας περιβάλλοντος prox.ground.ambiant (τιμή 0 – καθόλου φως και 1023 μέγιστο»).

thymio-10-7

Πρώτα, ας εξετάσουμε τις τιμές της θερμοκρασίας του κινητού ρομπότ Thymio μέσα από ένα απλό παράδειγμα.thymio-10-8

Παρακολουθώντας τον πίνακα η θερμοκρασία του Thymio, για μια στιγμή μπορεί να έχει τιμή 309 (δηλαδή 30.9ο Κελσίου) αλλά αλλάζει σύμφωνα με το περιβάλλον. Πλησιάζω το ρομπότ κοντά στη λάμπα του πορτατίφ και βλέπω τις τιμές της θερμοκρασίας να αυξάνουν σχετικά γρήγορα.  Το αφήνω πάνω στο τραπέζι και η θερμοκρασία σιγά – σιγά πέφτει μέχρι μια τιμή κ.λ.π.

Σκέφτηκα, να φτιάξω ένα μικρό προγραμματάκι στο BLOCKLY σύμφωνα με το οποίο

αν η θερμοκρασία του ρομπότ γίνει μεγαλύτερη από τους 32ο Κελσίου

 να κινείται μπροστά με ταχύτητα 66 και

να οπισθοχωρεί αν η θερμοκρασία γίνει μικρότερη από 31.9ο Κελσίου.

thymio-10-9

Στη συνέχεια σκέφτηκα να φτιάξω κάτι που να σχετίζεται με ήχο και όχι με κίνηση του ρομπότ.

Αν η θερμοκρασία γίνει μεγαλύτερη από 27ο Κελσίου να ακούγεται συνεχώς ο ήχος ίδιος μ’ αυτόν που ξεκινάει το Thymio (startup) ενώ αν γίνει μεγαλύτερη από 29ο Κελσίου  ακούγεται μια μουσική νότα (440 Hz).

thymio-10-10

Ενδιαφέρον παρουσιάζει η παρακολούθηση της τιμής της έντασης του ήχου (mic.intensity)

μέσα από την εκτέλεση του απλού προγράμματος που ακολουθεί και περιλαμβάνει τρεις διαφορετικές εντολές του τύπου { IF ….. Then} με τρόπο ώστε να ικανοποιούνται οι παρακάτω συνθήκες:

thymio-10-11

thymio-10-12

Σημείωση: Για την επικοινωνία του με ένα τηλεχειριστήριο  το κινητό ρομποτάκι Thymio είναι εφοδιασμένο με ένα δέκτη υπέρυθρης ακτινοβολίας με όνομα “Infrared remote central receiver”.  Με απλά προγράμματα σε BLOCKLY ασχοληθήκαμε σε προηγούμενες δραστηριότητες , εδώ στο Eduportal (βλέπε 5η , 8η και 9η Δραστηριότητα).