Η ομάδα ρομποτικής του 3ου Γυμνασίου Αμαλιάδας στα πλαίσια του προγράμματος «Λύνοντας Προβλήματα με την βοήθεια της Εκπαιδευτικής Ρομποτικής: Ανάπτυξη της ικανότητας λύσης προβλημάτων μέσα από ασκήσεις και εργασίες με την εκπαιδευτική πλατφόρμα EV3 της Lego» και σε συνεργασία με το Γυμνάσιο Λάλα συμμετέχει στο 8ο Φεστιβάλ Ψηφιακής Δημιουργίας  με το project Robot Football.

Η ιδέα ήταν να φτιάξουμε ένα γήπεδο ποδοσφαίρου σε πίστα παρόμοια σε μέγεθος με αυτή των διαγωνισμών του WRO σχεδιασμένη ειδικά για ποδόσφαιρο, πάνω στο οποίο θα βάζαμε κάποια τηλεκατευθυνόμενα ρομπότ, με τα οποία θα έπαιζαν τα παιδιά. Αποφασίσαμε να κατασκευάσουμε δύο ρομπότ ένα με το πακέτο GIGO S4A που χρησιμοποιούμε για την συμμετοχή μας στο E-tweening πρόγραμμα Make it Stem With S4A και ένα με το LEGO EV3.

 

Όσον το πρώτο αφού πρώτα φανταστήκαμε και στην συνέχεια κατασκευάσαμε το ρομποτάκι μας, σκεφτήκαμε να το υλοποιήσουμε με ενσύρματη σύνδεση και το καταφέραμε χωρίς μεγάλες δυσκολίες. Το συγκεκριμένο Arduino φορώντας του το firmware που παρέχει το Scratch for Arduino (s4a.cat) και το οποίο μπορείτε να κατεβάσετε από εδώ, έχει την δυνατότητα να προγραμματιστεί με Scratch. Για να γίνει αυτό βέβαια πρέπει να κατεβάσετε και να εγκαταστήσετε μια ειδική έκδοση του Scratch που θα βρείτε στο ίδιο site (s4a.cat).

Με events (γεγονότα) κουμπιών και τις εντολές κίνησης των κινητήρων που μας παρέχει το S4A καταφέραμε να μπορούμε να χειριζόμαστε το ρομπότ μας από το πληκτρολόγιο του υπολογιστή μας.

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

Για αυτό τον λόγο αγοράσαμε το HC-05 Bluetooth Module for Arduino και το συνδέσαμε με το Arduino Leonardo που περιέχει το πακέτο μας.

Η βασική δυσκολία στην κατασκευή του συγκεκριμένου project ήταν η σύνδεση της πλακέτας Arduino Leonardo που περιέχει το GIGO S4A μέσω Bluetooth με οποιαδήποτε συσκευή. Η σύνδεση μέσω Bluetooth με τον υπολογιστή ή οποιαδήποτε άλλη συσκευή πραγματοποιόταν με επιτυχία, αλλά η εφαρμογή του s4a scratch δεν μπορούσε να εντοπίσει την πλακέτα.

Τότε στο τραπέζι έπεσε η ιδέα να φτιάξουμε μια εφαρμογή σε app inventor, με την οποία θα χειριζόμαστε το ρομπότ. Διαπιστώσαμε ότι το HC-05 Module συνδεόταν με οποιοδήποτε android κινητό, οπότε γιατί όχι να φτιάχναμε μια παρόμοια εφαρμογή με αυτή που είχαμε ήδη φτιάξει για το ρομπότ της LEGO. Η πρόκληση αφορούσε το γεγονός ότι το app inventor διαθέτει έτοιμα blocks για τον χειρισμό των κινητήρων και των αισθητήρων του LEGO EV3, αλλά στην δική μας περίπτωση θα έπρεπε να βρούμε άλλους τρόπους επικοινωνίας της εφαρμογής με το ρομπότ μας.

Για αυτό τον λόγο θα έπρεπε να προγραμματίσουμε από την αρχή το Arduino. Πρώτη κίνηση που έπρεπε να κάνουμε ήταν να εδραιώσουμε μια Bluetooth σύνδεση, την οποία θα χρησιμοποιούσαμε για να επικοινωνεί το κινητό τηλέφωνο με το ρομπότ μας. Στην συνέχεια και αφού είχαμε δοκιμάσει την Bluetooth σύνδεση μιμηθήκαμε τον τρόπο λειτουργίας του firmware του Scratch For Arduino και χρησιμοποιήσαμε κάποιες από τις συναρτήσεις που χρησιμοποιούσε προκειμένου να ελέγξει τους κινητήρες και τους αισθητήρες.

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

Έτσι εκπαιδεύσαμε το ρομπότ μας όταν λαμβάνει το μήνυμα F1 τότε οι δύο κινητήρες να κινούνται προς τα εμπρός με ίδια δύναμη, όταν λαμβάνει το μήνυμα Β1  οι δύο κινητήρες να κινούνται προς τα πίσω με ίδια δύναμη, ενώ όταν δέχεται το μήνυμα L1 και R1 οι δύο κινητήρες να κινούνται προς αντίθετες φορές, έτσι ώστε το ρομπότ να στρίβει αριστερά και δεξιά αντίστοιχα. Επιπλέον όταν δέχεται το μήνυμα Κ1 να απλώνει  τον μπροστινό βραχίονα και όταν δέχεται το μήνυμα Κ2 να μαζεύει τον μπροστινό βραχίονα. Τέλος όταν το ρομπότ δέχεται το μήνυμα 0 τότε θα πρέπει να σταματάει. Η λογική με την οποία λειτουργεί ο προγραμματισμός του Arduino είναι ότι φορτώνουμε σε κάθε Σύνδεση (pin) την τιμή που θέλουμε και μέσω μια συνάρτησης που εκτελείται συνεχώς ελέγχει τις τιμές και ανάλογα κινεί τους κινητήρες. Για παράδειγμα αν φορτώσουμε στο pin4 την τιμή 100 τότε ο κινητήρας που είναι συνδεδεμένος στο pin4 θα περιστραφεί  κατά 100 μοίρες στην μονάδα του χρόνου ενώ αν του θέσουμε τιμή -100 τότς θα περιστραφεί αντίστροφα 100 μοιρες. Τέλος αν θέσουμε την τιμή 255 τότε οι κινητήρες σταματούν.

Ο τελικός κώδικας που έχει φορτωθεί στο ρομπότ μπορείτε να τον δείτε στο αναλυτικό άρθρο στο blog της ομάδας μας στο site του σχολείου μας.

Και ερχόμαστε τώρα στην εφαρμογή για κινητά (εδώ τα πράγματα είναι πιο απλά), όπου χρησιμοποιήσαμε την εκπαιδευτική πλατφόρμα του App Inventor.

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

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

Στο παρακάτω βίντεο φαίνεται επιτυχημένη προσπάθεια εκτέλεσης πέναλτι!

Όσον αφορά το LEGO EV3 αφού κατασκευάσαμε το ρομπότ ξεκινήσαμε να δημιουργήσουμε την εφαρμογή για κινητές συσκευές σε App inventor, το οποίο διαθέτει εργαλειοθήκη με έτοιμα blocks  μέσω των οποίων μπορείς να ελέγχεις τους κινητήρες και τους αισθητήρες του.
Αρχικά δημιουργήσαμε το γραφικό περιβάλλον της εφαρμογής, όπου προσθέσαμε τα κουμπιά των τεσσάρων κατευθύνσεων (εμπρός, πίσω, αριστερά, δεξιά), ένα κουμπί για να κλοτσάει, μία λίστα επιλογής συνδεδεμένων Bluetooth συσκευών και τέλος ένα κουμπί αποσύνδεσης. Επίσης μας χρειάστηκε ένας Bluetoothclient και ένα slider για ρύθμιση της ταχύτητας του ρομπότ.

Αφού διαμορφώσαμε κατάλληλα την εμφάνιση των αντικειμένων που θα χρησιμοποιούσαμε στην συνέχεια ασχοληθήκαμε με τον προγραμματισμό τους. Έτσι μέσω του BlutoothClient ανιχνεύουμε αρχικά όλες τις συσκευές Bluetooth που βρίσκονται κοντά μας και επιλέγοντας κάποια από τις συσκευές εδραιώνεται σύνδεση μεταξύ τους. Στην συνέχεια ορίσαμε για κάθε κουμπί το μήνυμα (σε μορφή κειμένου) που θα στέλνει στο ρομπότ μας έτσι ώστε, σύμφωνα με όσα αναφέρονται παραπάνω, το ρομπότ να αντιδρά κατάλληλα.
Παρακάτω μπορείτε να δείτε εκτέλεση πέναλτι και πανηγυρισμό του ρομπότ!!

Παρουσίαση στο Φεστιβάλ Ψηφιακής Δημιουργίας

Αφήστε μια απάντηση

Η ηλ. διεύθυνση σας δεν δημοσιεύεται. Τα υποχρεωτικά πεδία σημειώνονται με *