8ο Δημοτικό Σχολείο Χανίων
Ομάδα: Μιχελάκης Νίκος, Πουλάκης Οδυσσέας, Ζερβουδάκης Μιχάλης, Ορφανός Βαγγέλης
Εκπαιδευτικός: Νικόλαος Δόβρος
Σκοπός της εργασίας μας είναι η κατασκευή μιας έξυπνης σκούπας ρομπότ που θα κινείται αυτόνομα μέσα στο χώρο και θα απορροφά σκουπίδια. Βάση του ρομποτικού συστήματος αποτελεί ένα αυτόνομα όχημα που αποφεύγει εμπόδια σε συνδυασμό με μια αντλία αέρα για την απορρόφηση των σκουπιδιών. Με τη χρήση αισθητήρα απόσταση υπερήχων θα αναγνωρίζονται τα εμπόδια (τοίχο, έπιπλα κλπ) ενώ η κατασκευή θα αλλάζει κατεύθυνση ανάλογα με την κατεύθυνση που ο χώρος θα είναι ελεύθερος. Η κίνηση του ρομπότ θα επιτυγχάνεται με δύο μοτέρ και ένα module L298Ν ενώ η απορρόφηση των απορριμμάτων με μια αντλία αέρα.
Ο προγραμματισμός έγινε με το ardublock, που είναι δωρεάν προγραμματιστικό περιβάλλον το οποίο χρησιμοποιεί μπλοκ για να χτίσουμε το πρόγραμμά μας. Δημιουργήσαμε έξι μικρά υποπρογράμματα τα οποία χρησιμοποιούνται ανάλογα με την περίσταση.
Δηλαδή:
- το υποπρόγραμμα που ονομάζεται fwrd το οποίο προγραμματίζει τη σκούπα να προχωράει μπροστά
- το υποπρόγραμμα που ονομάζεται bck το οποίο προγραμματίζει τη σκούπα να προχωράει πίσω
- το υποπρόγραμμα που ονομάζεται stop το οποίο προγραμματίζει τη σκούπα να σταματάει
- το υποπρόγραμμα που ονομάζεται left το οποίο προγραμματίζει τη σκούπα να στρίβει αριστερά
- το υποπρόγραμμα που ονομάζεται right το οποίο προγραμματίζει τη σκούπα να στρίβει δεξιά
- το υποπρόγραμμα που ονομάζεται Search_clear το οποίο ελέγχει την απόσταση δεξιά και αριστερά και επιλέγει να στρίψει προς την μεγαλύτερη απόσταση
Στο κεντρικό πρόγραμμα το ρομποτάκι ελέγχει αν η μπροστινή απόσταση από εμπόδιο είναι μικρότερη από 20 εκατοστά. Εάν δεν είναι προχωράει μπροστά. Εάν συναντήσει εμπόδιο σε απόσταση μικρότερη από 20 εκατοστά ελέγχει ποια είναι η πιο απομακρυσμένη απόσταση δεξιά και αριστερά και κινείται προς την μεγαλύτερη απόσταση.
Βλέπουμε τη λειτουργία της σκούπας μας, η οποία προχωράει μέχρι να συναντήσει εμπόδιο σε απόσταση μικρότερη των 20 εκατοστών. Όταν ανιχνεύσει κάτι τέτοιο κινείται ανάλογα. Παρατηρούμε ότι δεν κινείται ομαλά γιατί κάποιος κινητήρας έχει μικρότερη δύναμη ή έχει κάποιο τζόγο. Στην αρχή η ανωμαλία αυτή ήταν μεγαλύτερη αλλά προσπαθήσαμε να την εξομαλύνουμε όσο μπορούσαμε.