Προγραμματίζοντας ένα carousel με τρεις προσεγγίσεις (τηλεκοντρόλ – κουμπιά αφής – οριζόντιοι αισθητήρες) με βάση το Thymio (5η Δραστηριότητα)

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

Το carousel (καρουζέλ) το γνώριζα μόνο μέσα από προβλήματα Φυσικής αναφορικά με την κυκλική κίνηση και την κεντρομόλα δύναμη αλλά ποτέ δεν τα χρησιμοποίησα ο ίδιος σε χώρο πανηγυριού όπως το Λούνα-Παρκ. Βλέποντας προσεκτικά τις παρακάτω εικόνες (ένα clipart και μια φωτογραφία) παρατηρούμε ότι οι κούνιες μπορεί να έχουν διαφορετικά μήκη και  να κρέμονται από διάφορα σημεία του περιστρεφόμενου μηχανισμού.

thymio5_1

Σχετικά πρόσφατα, μέσα από την ερασιτεχνική μου ενασχόληση με την εκπαιδευτική ρομποτική , γνώρισα το μηχανισμό καρουζέλ μέσα από projects και video κυρίως με το πακέτο WeDo της LEGO.

(https://www.youtube.com/watch?v=RAyiJAgWRAk carousel – LEGO WeDo).

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

α) ένας κινητήρας

β) ένας αισθητήρας απόστασης ώστε να έχουμε τη δυνατότητα ελεγχόμενης μεταβολής της ταχύτητας περιστροφής του κινητήρα

γ) έναν άξονα περιστροφής και

δ) ελεύθερα «κρεμαστές» κούνιες

Στην προσπάθεια μου να χρησιμοποιήσω τα γνωστά κομμάτια της LEGO τόσο με το ίδιο το πακέτο της Lego WeDo όσο και με την ενσωμάτωσή τους στις κατάλληλες υποδοχές που διαθέτει το ρομποτάκι Thymio, κατάληξα στο συμπέρασμα ότι μπορούμε να ακολουθήσουμε δύο δρόμους στην οικοδόμηση ενός καρουζέλ.

Ο πρώτος δρόμος δίνει ιδιαίτερη έμφαση στο «χτίσιμο» του ίδιου του καρουζέλ, όπως βλέπουμε και στο video: από μας εξαρτάται το υπερβολικό ή όχι «φόρτωμα» της κατασκευής.

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

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

Προτού συνεχίσετε  με τις δικές μου προσεγγίσεις του καρουζέλ χρησιμοποιώντας το κινητό ρομποτάκι Thymio, αξίζει να παρακολουθήσετε προσεκτικά, σε σύντομο βίντεο, την κατασκευή του καρουζέλ από το Γιάννη Σαλονικίδη στο facebook

thymio5_4

 

Παρακάτω παρουσιάζονται τέσσερεις «Εναλλακτικές προγραμματιστικές προσεγγίσεις» του καρουζέλ.  Και στις τέσσερις θα χρησιμοποιήσω τον ίδιο «μεταβλητό μηχανισμό του καρουζέλ» όπως φαίνετε στις φωτογραφίες σε τρία διαφορετικά στιγμιότυπα.

thymio5_5

Πρώτη Προγραμματιστική Προσέγγιση

Πώς να προγραμματίσω στο περιβάλλον του BLOCKLY το καρουζέλ χρησιμοποιώντας το τηλεκοντρόλ έτσι ώστε: thymio4

α) να αυξάνω τη γωνιακή ταχύτητα περιστροφής με το κουμπί «μπροστά»;

β) να ελαττώνω τη γωνιακή ταχύτητα με το κουμπί «πίσω»

γ) να σταματάω το καρουζέλ με το κουμπί του τηλεκοντρόλ «STOP»

 (Βλέπε την 1η Δραστηριότητα στην «Ελληνική Πύλη Παιδείας» (eduportal) αναφορικά με τον προγραμματισμό με το τηλεκοντρόλ  που διαθέτει το κινητό-ρομποτάκι Thymio ή συμβατό Universal τηλεκοντρόλ)

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

Αν πατήσω το κουμπί «μπροστά» του τηλεκοντρόλ

ΤΟΤΕ

η ταχύτητα του δεξιού κινητήρα αυξάνεται κατά 20 μονάδες

διαφορετικά ΑΝ

πατήσω το κουμπί «»πίσω» του τηλεκοντρόλ

 ΤΟΤΕ

η ταχύτητα του ίδιου κινητήρα ελαττώνεται κατά 20 μονάδες

διαφορετικά ΑΝ

πατήσω το κουμπί «»STOP» του τηλεκοντρόλ

 ΤΟΤΕ

σταματάει η περιστροφή του καρουζέλ.

Σημείωση: το < turning left > σημαίνει ότι η αριστερή ρόδα-κινητήρας είναι ακίνητη ενώ η δεξιά περιστρέφεται. Μπορείτε να το δοκιμάσετε οι ίδιοι στο BLOCKLY του Thymio.

thymio5_6

Το κλειδί στον προγραμματισμό βρίσκεται στον ορισμό μιας νέας μεταβλητής με όνομα

< speed >.  Στο πρώτο if………do στο BLOCKLY εύκολα αναγνωρίζουμε την απόδοση νέας τιμής της μεταβλητής < speed >. Το ίδιο συμβαίνει και με τα υπόλοιπα elseif ….. do. Μια σύγκριση των δύο προγραμμάτων (BLOCKLY και Text Programming) μας δείχνει απλά την ισοδυναμία των δύο παρακάτω εκφράσεων:

thymio5_7

Με το πάτημα του πλήκτρου «μπροστά», μια φορά, η τιμή της μεταβλητής < speed > αυξάνεται κατά 20 μονάδες. Παρόμοια σκεφτόμαστε για τα άλλα πλήκτρα….

Δεύτερη Προγραμματιστική Προσέγγιση

thymio5_8Πώς να προγραμματίσω στο περιβάλλον του BLOCKLY το καρουζέλ χρησιμοποιώντας τα πλήκτρα αφής που διαθέτει το ρομποτάκι Thymio έτσι ώστε:

α) να αυξάνω τη γωνιακή ταχύτητα περιστροφής καρουζέλ με το πλήκτρο «μπροστά»;

β) να ελαττώνω τη γωνιακή ταχύτητα με το πλήκτρο «πίσω»;

γ) να σταματάω το καρουζέλ με το κεντρικό πλήκτρο του Thymio ;

 (Βλέπε τη 2η Δραστηριότητα στην «Ελληνική Πύλη Παιδείας» (eduportal)  αναφορικά με τον προγραμματισμό των κουμπιών αφής που διαθέτει το κινητό-ρομποτάκι Thymio)

Ο προγραμματισμός των πλήκτρων αφής του Thymio στο περιβάλλον BLOCKLY μπορεί να γίνει εύκολα μια και μοιάζει με τον προγραμματισμό στην «Πρώτη προσέγγιση» που μόλις γνωρίσαμε παραπάνω.

thymio5_9

Σημείωση 1: Για τον αρχάριο, κυρίως, αξίζει τον κόπο να αντιπαραβάλλει τους δύο κώδικες προγραμματισμού (σε BLOCKLY και σε «Text programming») ώστε να εξοικειωθεί με τη λογική προγραμματισμού του Thymio.

Σημείωση 2 : Χρησιμοποιήσαμε δύο «εντολές» για την περιστροφή του κινητήρα

α) την start < turning right > with speed <value > (βλέπε «πρώτη προσέγγιση»)

β) και την set <right > motor speed < value >  στη «δεύτερη περίπτωση»

thymio5_10

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

Τρίτη Προγραμματιστική Προσέγγιση (για πειραματισμό των αρχάριων)

Πώς να προγραμματίσω το καρουζέλ στο περιβάλλον «Οπτικού Προγραμματισμού» VPL χρησιμοποιώντας τους οριζόντιους αισθητήρες απόστασης που διαθέτει το ρομποτάκι Thymio έτσι ώστε:

α) να αυξάνω διαδοχικά τη γωνιακή ταχύτητα περιστροφής του καρουζέλ πλησιάζοντας το δάχτυλό μου στους οριζόντιους μπροστινούς αισθητήρες ;

β) να αλλάζω την κατεύθυνση περιστροφής με τους δύο οριζόντιους αισθητήρες στο πίσω μέρος του Thymio ;

Μετά από μερικές δοκιμαστικές προσπάθειες κατέληξα σe μια ακολουθία ζευγών του τύπου: EVENT (Γεγονός) —— ACTIONS (Δράσεις)

Απάντηση στο α) δίνονται με τα τέσσερα πρώτα ζεύγη και στο β) τα δύο τελευταία.

thymio5_11

Τέταρτη Προγραμματιστική Προσέγγιση

Πώς να προγραμματίσω το καρουζέλ στο περιβάλλον BLOCKLY  χρησιμοποιώντας τους οριζόντιους αισθητήρες απόστασης που διαθέτει το ρομποτάκι Thymio έτσι ώστε:

α) να αυξάνω τη γωνιακή ταχύτητα περιστροφής καρουζέλ πλησιάζοντας το δάχτυλο μου στο δεξιό μπροστινό αισθητήρα (front right sensor) [4];

β) να ελαττώνω τη γωνιακή ταχύτητα πλησιάζοντας το δάχτυλό μου στο δεξιό μπροστινό αισθητήρα (front right/middle sensor) [3];

γ) να σταματάω το καρουζέλ πλησιάζοντας το δάχτυλό μου στον κεντρικό μπροστινό αισθητήρα (front middle sensor) [2];

 Μετά από όσα προηγήθηκαν ο προγραμματισμός στο BLOCKLY είναι πολύ εύκολος. Και εδώ, αξίζει μια αντιπαραβολή των προγραμμάτων …..

thymio5_12

Τι εξυπηρετεί μια ρομποτική δραστηριότητα με θέμα το καρουζέλ ;

  1. Για άλλη μια φορά επαναλαμβάνω ότι επιβεβαιώνεται η διαισθητική πρότασή μου:
    thymio5_13
    Υπενθυμίζω ότι το «Text Programming» εμφανίζεται αυτόματα εφόσον χρησιμοποιώ το περιβάλλον VPL ή το BLOCKLY.
  2. Ο «Οπτικός Προγραμματισμός» (VPL) του Thymio προσφέρει ένα ευνοϊκό περιβάλλον για μια επιπλέον γνωριμία με τους οριζόντιους αισθητήρες όπως αποδεικνύεται από το παράδειγμα επίδειξης που παραθέσαμε παραπάνω.
  3. Για την περιστροφή του κινητήρα χρησιμοποιήσαμε δύο «εντολές»
    α) την start < turning right > with speed <value > (βλέπε «πρώτη προσέγγιση»)β) και την set <right > motor speed < value >  στη «δεύτερη περίπτωση»

    thymio5_10

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

  4. Η προσέγγισή μας να οικοδομήσουμε το μηχανισμό καρουζέλ μόνο με τα εντελώς αναγκαία κομμάτια  LEGO, αλλά με αρκετές προβλέψεις για ποικίλες αλλαγές, επιτρέπει τη δημιουργία «Φύλλων Εργασίας» για πειραματικές δραστηριότητες που ταιριάζουν στις γνώσεις, στις ικανότητες και τα ενδιαφέροντα των μαθητών.

Ενδιαφέρουσες συνδέσεις