Ομάδα έργου
- Γιώργος Σιάλτσης
- Νίκος Κερτσάνης
- Cristian-Stefanelu Miculete
- Χρυσοβαλάντου Συγγάρη
- Στάθης Πουγαρίδης
Δυστυχώς το έργο μας δεν είναι ολοκληρωμένο. Δεν προλάβαμε να προχωρήσουμε στην 3Δ εκτύπωση και τον προγραμματισμό του. Στην σελίδα θα βρείτε την μέχρι τώρα πορεία μας, την έρευνα, τον σχεδιασμό και τις δοκιμές με τα ηλεκτρονικά εξαρτήματα.
Περιγραφή ιδέας
Η ιδέα μας είναι να δημιουργήσουμε ένα λούτρινο αρκουδάκι που θα είναι ο ήρωας των παιδιών σε περίπτωση σεισμού, βοηθώντας τα να παραμείνουν ψύχραιμα και δίνοντας τους οδηγίες για να βγουν με ασφάλεια από το σπίτι.
Το σύστημα που έχουμε σχεδιάσει θα έχει την μορφή από λούτρινο αρκουδάκι που θα βρίσκεται στο δωμάτιο των παιδιών και το οποίο θα έχει ως κεντρική μονάδα ένα Microbit. Σε περίπτωση που γίνει σεισμός θα αντιλαμβάνεται την δόνηση με το επιταχυνσιόμετρο που έχει και θα ενεργοποιείται.
Όταν ενεργοποιηθεί θα μας δίνει αρχικά οδηγίες για να προστατευτούμε την ώρα του σεισμού χρησιμοποιώντας την οθόνη του Microbit και τα ηχεία (π.χ. να μπούμε κάτω από το τραπέζι).
Όταν τελειώσει ο σεισμός το αρκουδάκι θα μας δίνει οδηγίες για να βγούμε με ασφάλεια έξω από το σπίτι αξιοποιώντας την κάμερα τεχνητής νοημοσύνης HuskyLens που θα διαθέτει (αναγνώριση αντικειμένων), αποφεύγοντας περιοχές που μπορεί να έχουν καπνό ή άλλα επικίνδυνα αέρια που έχουν διαρρεύσει (αισθητήρας αερίων). Παράλληλα αξιοποιεί την κάμερα τεχνητής νοημοσύνης για να ανιχνεύσει αν φοβόμαστε για να μας ενθαρρύνει να ξεπεράσουμε με ασφάλεια τις δύσκολες αυτές στιγμές.
Για την επιλογή του συγκεκριμένου θέματος αφιερώσαμε τρεις συναντήσεις στις οποίες διεξάχθηκαν συνεδρίες σχεδιαστικής σκέψεις και αξιοποιήσαμε τεχνικές, μεθοδολογίες και card-based εργαλεία Design Thinking τα οποία αναπτύχθηκαν για τον όμιλο ρομποτικής του σχολείου μας.
Επίσης αξιοποιήσαμε άλλες 3 συναντήσεις για να δημιουργήσουμε μια εικονική μαθητική επιχείρηση η οποία θα σχεδίαζε και θα υλοποιούσε τα συστήματα μας, μοιράζοντας ρόλους στους μαθητές και τις μαθήτριες μας. Επειδή εκείνο το διάστημα τα σχολεία ήταν κλειστά λόγω της πανδημίας covid-19 εργαζόμασταν διαδικτυακά μέσω της πλατφόρμας Mural και εκεί έχουμε συγκεντρώσει όλο το αποτέλεσμα της έρευνάς μας.
Κόστος παραγωγής
- Microbit V2 – κόστος 19 ευρώ
- HuskyLens AI Camera for Microbit AI Camera for Microbit – κόστος 70 ευρώ
- Edge Breakout for BBC micro:bit – κόστος 11 ευρώ
- MQ135 MQ-135 Air Quality Sensor – κόστος 3 ευρώ
- Μπαταριοθήκη 2xAAA – με JST PH no Cover – κόστος 1 ευρώ
- Κινητήρες servo για την κίνηση των χεριών (έχουμε στο εργαστήριο)
- Παλιά ηχεία υπολογιστή (έχουμε στο εργαστήριο)
- Ύφασμα
- Βαμβάκι
Συνολικό κόστος: 104 ευρώ
Ποια είναι τα θετικά στοιχεία της ιδέας μας
- Είναι όμορφο και κάθε παιδί μπορεί να το έχει στο δωμάτιο του
- θα είναι ο καλύτερος φίλος μας και η συντροφιά μας σε περίπτωση κινδύνου
- θα είναι ο εξυπνότερος φίλος μας
- Αναγνώριση φωνής και άμεση έκφραση συναισθημάτων
- Είναι χαριτωμένο και σου κρατάει συντροφιά.
- Το εξωτερικό κάλυμμα να βγαίνει για να μπορούμε να το πλένουμε.
Ποια είναι τα μειονεκτήματα της ιδέας μας;
- Για να μας βοηθήσει σε περίπτωση κινδύνου θα πρέπει να είναι δίπλα μας.
- Υπάρχει περίπτωση να χαλάσει αν πέσει κάτω ή αν βραχεί.
Σχεδιασμός και 3D εκτύπωση
Αρχικά ξεκινήσουμε να φτιάξουμε ένα πρωτότυπο της κατασκευής μας από μακετόχαρτο. Χρειαστήκαμε μακετόχαρτο, κοπίδι, ξύλο κοπής (προσοχή δεν κόβουμε πάνω στο τραπέζι!), μολύβι, χαράκι, το microbit, και 2 servo κινητήρες. Θέλουμε με το μακετόχαρτο να φτιάξουμε ένα πρόσωπο, ένα σώμα και δυο χέρια όπως φαίνονται στις παρακάτω εικόνες.
Στη συνέχεια αποφασίσαμε να σχεδιάσουμε στο TinkerCAD μια θήκη η οποία θα περιλαμβάνει τα ηλεκτρονικά μέρη του συστήματος μας και η οποία θα προσαρμόζεται σε λούτρινα αρκουδάκια που είναι διαθέσιμα στην αγορά. Παρακάτω μπορείτε να δείτε το σχέδιο μας το οποίο δυστυχώς δεν έχουμε προλάβει να το εκτυπώσουμε ακόμα.
Προγραμματισμός
Δεν καταφέραμε να προχωρήσουμε πολύ στην δημιουργία του λογισμικού της εφαρμογής. Ολοκληρώσαμε τα στάδια δοκιμών των διάφορων εξαρτημάτων που έχουμε και δυστυχώς δεν έχουμε βρει ακόμα τον χρόνο να προχωρήσουμε στην υλοποίηση του τελικού προγράμματος.
Δοκιμές κινητήρων servo για τα χέρια
Για να δοκιμάσουμε προγραμματίσαμε το ρομποτάκι έτσι ώστε όταν πατάμε το λογότυπο του microbit να κουνάει τα χέρια. Πηγαίνουμε στην σελίδα https://makecode.microbit.org και ξεκινάμε ένα νέο πρόγραμμα. Από τις επεκτάσεις προσθέτουμε το servo και φτιάχνουμε το παρακάτω πρόγραμμα.
Ελέγχουμε να δούμε αν δουλεύει. Αν τα καταφέρουμε μέχρι εδώ προχωράμε να βάλουμε και τον 2ο κινητήρα σύμφωνα με τις φωτογραφίες παρακάτω.
Ρύθμιση AI κάμερας
Η κάμερα HuskyLens που χρησιμοποιούμε στο σύστημα μας έχει αρκετά αναλυτικές οδηγίες στα Αγγλικά για την χρήση της. Έχει δυνατότητες ανανγώρισης προσώπων, αντικειμένων, χρωμάτων, γραμμών και QR κωδικών, ενώ παράλληλα μπορεί να επικοινωνεί με το Microbit που είναι η καρδιά του συστήματος μας και να ανταλλάσει μαζί του πληροφορίες.
Για να ρυθμίσουμε την κάμερα χρησιμοποιούμε το πλήκτρο λειτουργιών που είναι ταυτόχρονα και ρόδα επιλογής (Function button), καθώς και το πλήκτρο μάθησης (Learning button).
Ρύθμιση αναγνώρισης προσώπων
Αρχικά θα πρέπει να ρυθμίσουμε την κάμερα ώστε να μπορεί να μαθαίνει και να αποθηκεύει πολλά πρόσωπα:
- Γυρνάμε την ρόδα επιλογής μέχρι να εμφανιστεί στην οθόνη η λειτουργία Face Recognition
- Πατάμε το πλήκτρο επιλογής πατημένο μέχρι να εμφανιστεί στο κάτω μέρος της οθόνης οι παράμετροι για την λειτουργία Face Recognition
- Γυρνάμε τον δίσκο επιλογής μέχρι να βρούμε το Learn Multiple και πατάμε μια φορά το πλήκτρο επιλογής
- Εμφανίζεται ένας διακόπτης τον οποίο τον ενεργοποιούμε (γίνεται μπλε)
- Γυρνάμε τον διακόπτη μέχρι να βρούμε την επιλογή save and return και πατάμε το πλήκτρο επιλογής. Στην ερώτηση Do you want to save data, πατάμε yes.
Τώρα μπορούμε να μάθουμε στην κάμερα τα πρόσωπα που θέλουμε να θυμάται:
- Ενώ είμαστε ακόμα στην κατάσταση Face recognition πατάμε μια φορά το πλήκτρο μάθησης για να ξεχάσει η κάμερα τα παλιά πρόσωπα. Στην οθόνη θα μας βγάλει το μήνυμα Click again to forget στο οποίο θα πρέπει να πατήσουμε άλλη μια φορά το πλήκτρο μάθησης πριν τελειώσει ο σύντομος χρόνος.
- Τώρα μπορούμε να ξεκινήσουμε να μαθαίνουμε στην κάμερα πρόσωπα. Στοχεύουμε στο πρώτο πρόσωπο και πατάμε το πλήκτρο μάθησης. Η κάμερα το μαθαίνει και μας βγάζει ένα μήνυμα Click again to continue! Click other button to finish. Αν θέλουμε να συνεχίσουμε με νέο πρόσωπο πατάμε μέσα σε 3 δευτερόλεπτα ξανά το πλήκτρο μάθησης.
- Στοχεύουμε στο νέο πρόσωπο που θέλουμε να μάθει και πατάμε πάλι το πλήκτρο μάθησης. Η κάμερα το μαθαίνει και πάλι μας βγάζει το ίδιο μήνυμα με πριν. Αν θέλουμε να συνεχίσουμε πατάμε πάλι το πλήκτρο μάθησης μέσα σε 3 δευτερόλεπτα, αλλιώς αν έχουμε τελειώσει με όλα τα πρόσωπα αφήνουμε να τελειώσει ο χρόνος.
- Τώρα πλέον η κάμερα μας έχει μάθει τα πρόσωπα που θέλουμε και τους έχει δώσει ένα ID στο καθένα. Κάθε φορά που αναγνωρίζει ένα πρόσωπο βγάζει γύρω του ένα τετράγωνο στην οθόνη και αν αυτό το πρόσωπο ανήκει στα γνωστά, τότε εμφανίζει δίπλα του και το ID που έχει πάρει.
Ρύθμιση αναγνώρισης αντικειμένων
Η HuskyLens μπορεί να αναγνωρίσει 20 διαφορετικά είδη αντικειμένων όπως: αεροπλάνο, ποδήλατο, πουλί, βάρκα, μπουκάλι, λεωφορείο, αυτοκίνητο, γάτα, καρκέκλα, αγελάδα, τραπέζι, σκύλος, άλογο, μηχανή, άνθρωπος, τρένο κλπ. Για την δική μας περίπτωση ειδικά τα αυτοκίνητα, λεωφορεία και ποδήλατα που κινούνται στους δρόμους με ταχύτητα είναι ιδιάιτερα χρήσιμα να αναγνωρίζονται από το μπαστούνι μας.
Αρχικά θα ρυθμίσουμε την κάμερα να μπορεί να αποθηκεύει πολλά αντικείμενα:
- Γυρνάμε την ρόδα επιλογής μέχρι να εμφανιστεί στην οθόνη η λειτουργία Object Recognition
- Πατάμε το πλήκτρο επιλογής πατημένο μέχρι να εμφανιστεί στο κάτω μέρος της οθόνης οι παράμετροι για την λειτουργία Object Recognition
- Γυρνάμε τον δίσκο επιλογής μέχρι να βρούμε το Learn Multiple και πατάμε μια φορά το πλήκτρο επιλογής
- Εμφανίζεται ένας διακόπτης τον οποίο τον ενεργοποιούμε (γίνεται μπλε)Γυρνάμε τον διακόπτη μέχρι να βρούμε την επιλογή save and return και πατάμε το πλήκτρο επιλογής. Στην ερώτηση Do you want to save data, πατάμε yes.
Τώρα πάμε να του μάθουμε τα αντικείμενα:
- Τώρα μπορούμε να ξεκινήσουμε να μαθαίνουμε στην κάμερα αντικείμενα. Στοχεύουμε στο πρώτο αντικείμενο (πχ ένα αυτοκίνητο) και πατάμε το πλήκτρο μάθησης. Η κάμερα το μαθαίνει και μας βγάζει ένα μήνυμα Click again to continue! Click other button to finish. Αν θέλουμε να συνεχίσουμε με νέο αντικείμενο πατάμε μέσα σε 3 δευτερόλεπτα ξανά το πλήκτρο μάθησης.
- Στοχεύουμε στο νέο αντικείμενο που θέλουμε να μάθει και πατάμε πάλι το πλήκτρο μάθησης. Η κάμερα το μαθαίνει και πάλι μας βγάζει το ίδιο μήνυμα με πριν. Αν θέλουμε να συνεχίσουμε πατάμε πάλι το πλήκτρο μάθησης μέσα σε 3 δευτερόλεπτα, αλλιώς αν έχουμε τελειώσει με όλα τα αντικείμενα αφήνουμε να τελειώσει ο χρόνος.
- Τώρα πλέον η κάμερα μας έχει μάθει τα αντικείμενα που θέλουμε και τους έχει δώσει ένα ID στο καθένα. Κάθε φορά που αναγνωρίζει ένα αντικείμενο βγάζει γύρω του ένα τετράγωνο στην οθόνη, τον τύπο του αντικειμένου και αν αυτό ανήκει στα γνωστά, τότε εμφανίζει δίπλα του και το ID που έχει πάρει.
Σύνδεση μονάδων
Για την επικοινωνία του Microbit με την κάμερα AI και τους αισθητήρες αερίων θα χρησιμοποιήσουμε την μονάδα Edge Breakout for BBC micro:bit στην οποία συνδέουμε το Microbit συρταρωτά όπως φαίνεται στην παρακάτω εικόνα.
Για την σύνδεση της HuskyLens με το Microbit μέσω της μονάδας Edge Breakout θα χρησιμοποιήσουμε το πρωτόκολο I2C το οποίο απαιτεί 4 καλώδια:
- Το μαύρο καλώδιο είναι η γείωση (GND)
- Το κόκκινο καλώδιο είναι το θετικό (3.3V)
- Το μπλε καλώδιο είναι το SCL (clock) – θέση 19
- Το πράσινο καλώδιο είναι το SDA (data) – θέση 20
Προγραμματισμός Microbit
Από την στιγμή που το μπαστούνι μας απευθύνεται σε ανθρώπους με σοβαρά προβλήματα όρασης η βασική επικοινωνία μαζί τους θα πρέπει να γίνεται με ήχους. Έτσι η κάμερα θα αναγνωρίζει πρόσωπα και αντικείμενα και το Microbit θα εκπέμπει ένα ξεχωριστό ηχητικό σήμα για το καθένα.
Προετοιμασία
Αρχικά θα ετοιμάσουμε το περιβάλλον προγραμματισμού μας. Ανοίγουμε την σελίδα https://makecode.microbit.org και ξεκινάμε ένα νέο πρόγραμμα. Εκεί θα πρέπει να προσθέσουμε την επέκταση για την κάμερα HuskyLens.