Συλλογή & Επεξεργασία Δεδομένων Εξαμηνιαία Σχεδίαση Συστήματος Πραγματικής Εφαρμογής (Prototyping).

Σχετικά έγγραφα
Συλλογή & Επεξεργασία Δεδομένων Εξαμηνιαία ΡομποΚαθαριστής Μέρος Β : Το Πρόγραμμα. Σχεδίαση Συστήματος Πραγματικής Εφαρμογής (Prototyping).

Πτυχιακή Εργασία Οδηγώντας ένα Ρομποτικό Αυτοκίνητο με το WiFi. Η Ασύρματη Επικοινωνία, χρησιμοποιώντας

Συλλογή & Επεξεργασία Δεδομένων Εργαστήριο 5. Ρυθμίζοντας τη Φορά Περιστροφής. Σύστημα Συλλογής & Επεξεργασίας Μετρήσεων

Συλλογή & Επεξεργασία Δεδομένων Εργαστήριο 3 Μέτρηση Θερμοκρασίας Σύστημα Ελέγχου Θερμοκρασίας. Σύστημα Συλλογής & Επεξεργασίας Μετρήσεων

Ψηφιακά Αντικείμενα Μάθημα 1 Δραστηριότητα 2. Προγραμματισμός Φυσικών Συστημάτων. Συστήματα Πραγματικών Εφαρμογών. Νέα Ψηφιακά Αντικείμενα

Αθήνα 29 ΝΟΕ, 2016 ΘΕΜΑ: ΑΙΤΗΜΑ ΑΓΟΡΑΣ ΥΛΙΚΩΝ ΓΙΑ ΤΟ ΕΡΓΑΣΤΗΡΙΟ ΣΥΛΛΟΓΗΣ & ΕΠΕΞΕΡΓΑΣΙΑΣ ΔΕΔΟΜΕΝΩΝ

Συλλογή & Επεξεργασία Δεδομένων Εργαστήριο 4. Οδηγώντας έναν DC Κινητήρα. Το κύκλωμα της Λειτουργίας DC Κινητήρα

Συλλογή & Επεξεργασία Δεδομένων Εργαστήριο 2 USB και Σειριακή Επικοι- νωνία Σ Σειριακή Επικοινωνία

Συλλογή & Επεξεργασία Δεδομένων Εργαστήριο 1. Arduino + LabVIEW: Μέτρηση Έντασης Φωτός με Φωτοαντίσταση. Σύστημα Συλλογής & Επεξεργασίας Μετρήσεων

Συλλογή & Επεξεργασία Δεδομένων Εργαστήριο 8. Μετρώντας Επιτάχυνση με το Accelerόμετρο (ADXL 335) Σύστημα Συλλογής & Επεξεργασίας Μετρήσεων

Εγκατάσταση του Arduino IDE

Αυτοματισμοί και Συστήματα Αυτομάτου Ελέγχου. Ενότητα 2

Φύλλο εργασίας 9 - Αυτόνομο ρομποτικό όχημα αποφυγής εμποδίων

Μέτρηση Θερμοκρασίας με τον αισθητήρα TMP36. Σύστημα Συλλογής & Επεξεργασίας Μετρήσεων. Βασική δομή ενός προγράμματος στο LabVIEW.

Εξαμηνιαία Εργασία 2013 Προγραμματίζοντας τον Arduino στη C Μέρος Α : Υλικά

ΕΡΓΑΣΤΗΡΙΑΚΗ ΕΦΑΡΜΟΓΗ 1 ΤO ΡΟΜΠΟΤ INTELLITEK ER-2u

Σκοπός. Προγραμματίζοντας τον Arduino ΙΙ Εντολή Εκχώρησης & Εντολές. Συλλογή & Επεξεργασία Δεδομένων. Πρόγραμμα. Εντολές Επεξεργασίας Δεδομένων

Εισαγωγή στη Ρομποτική (για αρχάριους) Δημήτρης Πιπερίδης Διαδραστική Έκθεση Επιστήμης & Τεχνολογίας Ίδρυμα Ευγενίδου

Μάθημα 1 ΑΙΣΘΗΤΗΡΕΣ Ο Αισθητήρας Δύναμης. Επανεξέταση των βασικών εννοιών της C και του προγραμματισμού.

ΡΟΜΠΟΤΙΚΗ ΜΕ ΧΡΗΣΗ ΤΟΥ ΠΑΚΕΤΟΥ LEGO MINDSTORMS NXT. ΚΕΦΑΛΑΙΟ 7ο. Δραστηριότητες για το ΝΧΤ-G και το Robolab

Β1.1 Δημιουργία Εφαρμογής στο Περιβάλλον Προγραμματισμού EdScratch του Edison ρομπότ

Συλλογή & Επεξεργασία Δεδομένων Εργαστήριο 7 Ακούγοντας Πρώτη Ματιά στην Ανάλυση Fourier. Σύστημα Συλλογής & Επεξεργασίας Μετρήσεων

Μέρος Α Γνωριμία με το περιβάλλον προγραμματισμού του ρομπότ OTTO

ΔΗΜΙΟΥΡΓΙΑ ΕΝΟΣ ΡΟΜΠΟΤ ΑΠΟ ΗΛΕΚΤΡΟΝΙΚΑ ΣΚΟΥΠΙΔΙΑ

Πακέτο Lego Mindstorms

ΕΝΟΤΗΤΑ 10: ΟΔΗΓΗΣΗ ΚΙΝΗΤΗΡΩΝ

1. Ηλεκτρικοί κινητήρες- σερβοκινητήρας 2. Ελεγκτές. ΜΠΔ, 9 Ο Εξάμηνο Σάββας Πιπερίδης

Μάθημα 5 Ο ΕΛΟΤ στη σχεδίαση μίας Οικιακής Εγκατάστασης

Μάθημα 11 Αναλυτικότερα, η Σχεδίαση των Εγκαταστάσεων

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΜΕ ΤΟ ΚΙΤ ΡΟΜΠΟΤΙΚΗΣ LEGO MINDSTORMS EV3

ΔΙΔΑΣΚΑΛΙΑ ΤΟΥ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ ΜΕ ΧΡΗΣΗ ΤΟΥ ΠΑΚΕΤΟΥ ΡΟΜΠΟΤΙΚΗΣ LEGO MINDSTORMS NXT

ΑΥΤΟΜΑΤΟ ΣΥΣΤΗΜΑ ΕΝΑΛΛΑΓΗΣ ΤΑΧΥΤΗΤΩΝ ΣΕ ΠΟΔΗΛΑΤΟ

ΡΟΜΠΟΤΙΚΗ ΚΑΙ ΑΥΤΟΜΑΤΙΣΜΟΣ

STEM μέσα από το Εργαστήριο και τη Σχεδίαση Συστημάτων

ΜΙΚΡΟΕΛΕΓΚΤΗΣ PICAXE 18M2

Επιμέλεια παρουσίασης: Αριστείδης Παλιούρας ΤΙ ΕΊΝΑΙ ΈΝΑ ΡΟΜΠΟΤ (ROBOT)?

GSM INTD Εγχειρίδιο χρήσης GSM INTD0909

Ψηφιακά Αντικείμενα Μάθημα 1 Δραστηριότητα 1. Προγραμματισμός Φυσικών Συστημάτων. Νέα Ψηφιακά Αντικείμενα

Μάθημα 9 Η Σχεδίαση Εγκαταστάσεων για Καταστήματα

ΠΑΡΑΡΤΗΜΑ IV. ΔΙΔΑΚΤΙΚΗ ΤΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΠΑΡΑΡΤΗΜΑ IV Ασκήσεις για το Robolab

Τα ηλεκτρονικά μέρη του ρομπότ Επιλογή των μονάδων εισόδου εξόδου ανάλογα το μοντέλο που θέλουμε να κατασκευάσουμε

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΜΕ ΤΟ ΚΙΤ ΡΟΜΠΟΤΙΚΗΣ LEGO MINDSTORMS EV3

ΑΝΩΤΑΤΟ ΤΕΧΝΟΛΟΓΙΚΟ ΕΚΠΑΙΔΕΥΤΙΚΟ ΙΔΡΥΜΑ ΘΕΣΣΑΛΟΝΙΚΗΣ

ΔΙΔΑΣΚΑΛΙΑ ΤΟΥ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ ΜΕ ΧΡΗΣΗ ΤΟΥ ΠΑΚΕΤΟΥ ΡΟΜΠΟΤΙΚΗΣ LEGO MINDSTORMS NXT

Ασύρματος αυτοματισμός σε συρόμενη καγκελόπορτα που ελέγχεται από PLC.

ΠΕΡΙΕΧΟΜΕΝΟ. ΜΑΘΗΜΑ: ΡΟΜΠΟΤΙΚΗ (3Ε) Γ τάξη Ημερήσιου ΕΠΑ.Λ. και Γ τάξη Εσπερινού ΕΠΑ.Λ.

Εργαστήριο 9 Συναρτήσεις στη PASCAL. Η έννοια του κατακερματισμού. Συναρτήσεις. Σκοπός

Ταυτότητα εκπαιδευτικού σεναρίου. Γνώσεις και πρότερες ιδέες των μαθητών. Σκοπός και στόχοι

Μάθημα 1 Πρώτα Βήματα στη Σχεδίαση μίας Εγκατάστασης: Απαιτούμενες Ηλεκτρικές Γραμμές και Υπολογισμοί

Φυσική για Μηχανικούς

Μάθημα 4.2 Η μητρική πλακέτα

ΔΙΔΑΣΚΑΛΙΑ ΤΟΥ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ ΜΕ ΧΡΗΣΗ ΤΟΥ ΠΑΚΕΤΟΥ ΡΟΜΠΟΤΙΚΗΣ LEGO MINDSTORMS NXT

Μπαταρία Α 1. Θερμική. 2. Ακτινοβολία. Γεννήτρια Β. Θερμοστοιχείο Δ. 4. Χημική

Εισαγωγή στη ρομποτική Γίνε κατασκευαστής

Οδηγίες Χρήσεως. Κάτοψη Συσκευής. SOS 100 Elderly Care System. Κύρια χαρακτηριστικά SOS 100

ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2015

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

1. Σέρβο (R/C Servo) 2. Βηματικοί κινητήρες 3. Χαρακτηριστικά κινητήρων. ΜΠΔ, 9 Ο Εξάμηνο Σάββας Πιπερίδης

Ομάδα εργασίας Ιονίου Πανεπιστημίου στο Πρόγραμμα ΛΑΕΡΤΗΣ. Εργαστήριο Υπολογιστικής Μοντελοποίησης (CMODLAB)

Φύλλο εργασίας 1 Εισαγωγή στη Ρομποτική

Προγραμματισμο ς σε Arduino

Lab 1: Experimenting on Arduino & AI Sense

Πειραματικός σχεδιασμός της χαρακτηριστικής καμπύλης παθητικής διπολικής συσκευής ηλεκτρικού κυκλώματος. Σκοπός και κεντρική ιδέα της άσκησης

Σχεδιαστικές προδιαγραφές

ΠΑΝΕΛΛΗΝΙΟΣ ΔΙΑΓΩΝΙΣΜΟΣ ΦΥΣΙΚΗΣ "ΑΡΙΣΤΟΤΕΛΗΣ" Γ Λυκείου Β Φάση: Πειραματικό μέρος : 14/04/2018 Q E-2

Σημειώσεις στο μάθημα «Συντήρηση Η/Υ»

ΑΣΚΗΣΗ 8 Tutorial by TeSLa Συνδεσμολογία κυκλώματος Διαδικασία Προγραμματισμού

ΘΕΜΑ : ΨΗΦΙΑΚΑ ΗΛΕΚΤΡΟΝΙΚΑ DIGITAL ELECTRONICS

Περιγραφή της 3 ης εργαστηριακής εφαρμογής: ρομποτικό σύστημα LEGO NXT

ΕΡΓΑΣΤΗΡΙΑΚΗ ΕΦΑΡΜΟΓΗ 4 TΟ ΡΟΜΠΟΤΙΚΟ ΟΧΗΜΑ ROGUE BLUE

ΑΣΚΗΣΗ 0. Κύκλωμα - Όργανα

Σας προτείνουμε να εγκαταστήσετε στο κινητό σας τηλέφωνο την εφαρμογή Senior Helper"

Εξοικείωση με το NXT-G

Σχεδιασμός και Υλοποίηση οχήματος ελεγχόμενου μέσω Bluetooth

ΗΛΕΚΤΡΙΚΑ ΚΥΚΛΩΜΑΤΑ ΚΑΙ ΜΕΤΡΗΣΕΙΣ ΣΤΗΝ ΒΙΟΪΑΤΡΙΚΗ ΤΕΧΝΟΛΟΓΙΑ

Εισαγωγή στη Ρομποτική και τον Προγραμματισμό με τη χρήση του ρομπότ Thymio & του λογισμικού Aseba

ΣΥΣΤΗΜΑΤΑ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑ ΕΛΕΓΧΟΥ. Εγχειρίδιο χρήσης

ΚΕΦΑΛΑΙΟ. Βασικές αρχές λειτουργίας και χρήσης του υπολογιστή

Μετρήσεις και συλλογή δεδομένων (Data acquisition) με μικροελεγκτές. Εισαγωγή στο Arduino. Ηλεκτρομηχανολογικός εξοπλισμός διεργασιών

1. Από ποια μέρη αποτελείται η περιστροφική αντλία πετρελαίου ; Πώς διανέμεται το καύσιμο στους διάφορους κυλίνδρους ;

Γενικά Στοιχεία Ηλεκτρονικού Υπολογιστή

Σχεδιασμός και υλοποίηση κυκλώματος μέτρησης κατανάλωσης ισχύος

Κατασκευή Ρομπότ. Από τη θεωρία στην πράξη. Μάκης Χατζόπουλος

Μάθημα 10 Η Σχεδίαση Εγκαταστάσεων Κίνησης

ΕΝΟΤΗΤΑ ΤΗΛΕΦΩΝΙΑ ΕΙΣΑΓΩΓΗ

ΡΟΜΠΟΤΙΚΗ. ΕΡΓΑΣΙΑ ΠΑΝΩ ΣΤΗΝ ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΝΧΤ ΚΑΙ ΤΑ ΠΡΩΤΟΚΟΛΛΑ ΕΠΙΚΟΙΝΩΝΙΑΣ BLUETOOTH, I2C και serial communication

Μηχανοτρονική Μάθημα 2 ο ενεργοποιητές - συστήματα κίνησης

Πολυτεχνείο Κρήτης Τμήμα ΗΜΜΥ Χειμερινό Εξάμηνο Intelligence Lab. Αυτόνομοι Πράκτορες. Κουσανάκης Βασίλης

Φύλλο εργασίας 6. Αποφυγή εμποδίων. Χωριστείτε σε ομάδες 2-3 ατόμων και απαντήστε στις ερωτήσεις του φύλλου εργασίας.

Ενότητα Β1 κεφ.2 ο «Σο Εσωτερικό του Τπολογιστή»

Φύλλο Εργασίας 4 Συνθετική εργασία

Ηλεκτρικό Ρεύμα και Ηλεκτρικό Κύκλωμα

ΑΣΚΗΣΗ ΕΦΑΡΜΟΓΗ Νο : 7 ΤΙΤΛΟΣ : Αλλαγή φοράς περιστροφής τριφασικού κινητήρα

Εγκατάσταση του LabVIEW

Διατάξεις εκκίνησης κινητήρων ΣΡ

Μελέτη 1 Πρώτη Μελέτη Διαμερίσματος στο FINE. Εισαγωγή αρχιτεκτονικών σχεδίων σε μία μελέτη, στο FINE.

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ

ΜΕΤΡΗΣΗ ΤΑΣΗΣ ΣΦΑΛΜΑΤΑ

Γενικά Σχόλια Αξιολόγησης Εργασιών Α εξαμήνου Β κύκλου Σπουδών ΠΜΣ ΣΤΕΜ

ΚΕΝΤΡΙΚΗ ΜΟΝΑΔΑ ΣΥΣΤΗΜΑΤΟΣ ΣΥΝΑΓΕΡΜΟΥ

Transcript:

Σκοπός Συλλογή & Επεξεργασία Δεδομένων Εξαμηνιαία 2015 ΡομποΚαθαριστής. Σχεδίαση Συστήματος Πραγματικής Εφαρμογής (Prototyping). Μονάδες ενός Ρομποτικού Συστήματος Μονάδα Συλλογής Δεδομένων, Μονάδα Επεξεργασίας & Μηχανικό Σύστημα. Η Λειτουργία του Μικροελεγκτή, σ ένα Ρομποτικό Σύστημα. Σύστημα Οδήγησης Κινητήρα (Motor Control Unit). Η Έννοια της Πλακέτας Πρόσθετης Λειτουργίας (Shield) Πλακέτα Οδήγησης Κινητήρα (Motor Control Shield) Αισθητήρας Υπέρηχων () Δομές προγραμματισμού. 1

ΕΞ.1 ΕΠΙΔΙΩΞΗ ΤΗΣ ΕΞΑΜΗΝΙΑΙΑΣ Βασικός σκοπός της εξαμηνιαίας εργασίας, είναι μέσα από μία απλή εφαρμογή, να δούμε τη βασική μεθοδολογία της ΣΧΕΔΙΑΣΗΣ ΣΥΣΤΗΜΑΤΩΝ ΠΡΑΓΜΑΤΙ- ΚΩΝ ΕΦΑΡΜΟΓΩΝ. Η βασικότερη επιδίωξη του εργαστηρίου είναι να δούμε τις βασικές μονάδες των συστημάτων μέτρησης (Data Acquisition Systems), δηλαδή τους αισθητήρες, το αναλογικό κύκλωμα της σύνδεσης αισθητήρων και κινητήρων σ ένα μικροελεγκτή, το μικροελεγκτή και το πρόγραμμα που επεξεργάζεται τα δεδομένα από τους αισθητήρες και τη λειτουργεί τους κινητήρες και να μάθουμε να σχεδιάζουμε απλά συστήματα, για μετρήσεις και ρομποτικές εφαρμογές. Η σχεδίαση συστημάτων είναι βασική δεξιότητα ενός μηχανικού. Έτσι, στην εξαμηνιαία, επιχειρούμε να δούμε τη διαδικασία / τη μεθοδολογία που ακολουθούμε στη σχεδίαση ενός συστήματος πραγματικής εφαρμογής, συνδέοντας και συνδυάζοντας τα εργαστηριακά πειράματα σε αισθητήρες και συστήματα μέτρησης και ελέγχου, στη διάρκεια του εξαμήνου, στη σχεδίαση ενός συνθετότερου συστήματος, για μία πραγματική εφαρμογή. Το σύστημα που θα επιχειρήσουμε να σχεδιάσουμε, μέσα από την εξαμηνιαία εργασία, είναι μία απλή εκδοχή της ρομποτικής σκούπας (Εικόνα 1). Η επιλογή του συγκεκριμένου θέματος, είναι γιατί η ρομποτική σκούπα είναι μία πραγματική, εμπορική εφαρμογή της ρομποτικής που διατίθεται στην αγορά, σαν μία καταναλωτική συσκευή, για το σπίτι (Εικόνα 2). Φυσικά, το σύστημα που θα σχεδιάσουμε δεν θα είναι παρά η πολύ απλή εκδοχή του πραγματικής ρομποτική σκούπας, στο εμπόριο. Παρ όλα αυτά, σχεδιάζοντας αυτή την απλή εκδοχή, θα δούμε όλα τα στάδια στη σχεδίαση / υλοποίηση ενός πραγματικού συστήματος, πως δηλαδή: Δημιουργούμε το Σασί του Συστήματος. Προσθέτουμε το Μικροελεγκτή. Συνδέουμε τη Μονάδα Οδήγησης Κινητήρα (Motor Control Unit) στο Μικροελεγκτή. Συνδέουμε Αισθητήρες στο Μικροελεγκτή. Συνδέουμε τους Κινητήρες στη Μονάδα Οδήγησης. Συνδέουμε τα επιμέρους συστήματα σασί, αισθητήρες, μικροελεγκτή, σύστημα οδήγησης σ ένα ολοκληρωμένο Σύστημα. Γράφουμε το πρόγραμμα και εγκαθιστούμε αυτό το πρόγραμμα στο μικροελεγκτή, για τον έλεγχο της λειτουργίας όλου του Συστήματος. 2

Εικόνα 1: Η απλή εκδοχή της ρομποτικής σκούπας που επιχειρούμε να δημιουργήσουμε, για την εξαμηνιαία. ΕΞ.2 Εισαγωγή Η εξαμηνιαία είναι στη σχεδίαση / κατασκευή μίας απλής εκδοχής (Εικόνα 1) της ρομποτικής σκούπας. Η σχεδίαση μίας ρομποτικής σκούπας, για πραγματική χρήση, όπως η ρομποτική σκούπα στην Εικόνα 2, είναι ένα σύνθετο εγχείρημα που περιλαμβάνει προχωρημένους αλγόριθμούς τεχνητής νοημοσύνης και αρκετά σύνθετα ηλεκτρονικά. Όμως, μπορούμε να δούμε τη βασική ιδέα(ες) στη σχεδίαση της ρομποτικής σκούπας, δημιουργώντας μία απλή εκδοχή αυτού του συστήματος, από απλά υλικά που όμως, να έχει τη βασική λειτουργία του πραγματικού συστήματος. Λειτουργικά, το σύστημα που θα σχεδιάσουμε, αποτελείται από τρείς μονάδες (Εικόνα 3): 1. Το σύστημα των Αισθητήρων. Μέσα απ αυτό, η ρομποτική σκούπα αντιλαμβάνεται το εξωτερικό περιβάλλον. Όλα δηλαδή, τα ερεθίσματα αντικείμενα ή καταστάσεις στο εξωτερικό περιβάλλον που απαραίτητα, η ρομποτική σκούπα χρειάζεται να εντοπίζει και να αναγνωρίζει, για να μπορεί να εκτελεί τη λειτουργία της. 3

Εικόνα 2: Η εμπορική εκδοχή της σκούπας που σχεδιάζουμε είναι η Roomba της irobot που είναι η πιο εξελιγμένη ρομποτική σκούπα που κυκλοφορεί στην αγορά. Πηγαίνοντας στο site της irobot μπορούμε να δούμε πως η Roomba που στοιχίζει 700 $, όχι μόνον δεν υστερεί, απέναντι στις χειροκίνητες ηλεκτρικές σκούπες, αλλά αντίθετα, έχει πολύ πιο εξελιγμένη τεχνολογία και απόδοση, από αυτές. 2. Το μικροελεγκτή που είναι η μονάδα που ελέγχει / ρυθμίζει τη λειτουργία όλου του συστήματος. 3. Το μηχανικό σύστημα που αποτελείται από τους κινητήρες που κινούν τη σκούπα και τη μονάδα οδήγησης (motor controller) των κινητήρων. Οι αισθητήρες και ο μικροελεγκτής που μέσα από την εκτέλεση ενός προγράμματος, επεξεργάζεται τα δεδομένα από τους αισθητήρες, αποτελούν το σύστημα Συλλογής και Επεξεργασίας Δεδομένων (τη μονάδα Data Acquisition ή DAQ) της ρομποτικής συσκευής (Εικόνα 3). Το πρόγραμμα που εκτελείται στο μικροελεγκτή, ανάλογα με τα δεδομένα από τους αισθητήρες, λειτουργεί το μηχανικό σύστημα, καθορίζοντας τη κίνηση της ρομποτικής σκούπας, στο χώρο. ΕΞ.3 Μεθοδολογία Η σχεδίαση όλου του συστήματος διαιρείται σε τρία στάδια / τρείς επιμέρους δραστηριότητες: 4

Εικόνα 3: Οι βασικές μονάδες της ρομποτικής σκούπας: ο αισθητήρας υπέρηχων, ο μικροελεγκτής (Arduino) και το μηχανικό σύστημα, από δύο DC κινητήρες και τη πλακέτα οδήγησης κινητήρα (motor control shield). O αισθητήρας υπέρηχων και ο Arduino ή όποιος άλλος μικροελεγκτής, αντί του Arduino αποτελούν το σύστημα Συλλογής & Επεξεργασίας Δεδομένων της ρομποτικής σκούπας. 5

1. Πρώτα, συναρμολογούμε το σασί της ρομποτικής σκούπας που απλά, είναι το σασί που θα χρησιμοποιούσαμε, για ένα ρομποτικό αυτοκίνητο (Εικόνα 1). Επάνω, στο σασί, θα προσθέσουμε / τοποθετήσουμε όλα τα υλικά: το μικροελεγκτή (Arduino), τους αισθητήρες, τη πλακέτα οδήγησης των κινητήρων (motor controller), τους κινητήρες, τους τροχούς, τη μπαταρία, για τη τροφοδοσία των μονάδων του συστήματος και στο τέλος, ένα πανί Swiffer, για να σκουπίζει μ αυτό, το χώρο, η ρομποτική σκούπα. 2. Μετά, γράφουμε το πρόγραμμα που θα παίρνει και θα επεξεργάζεται τα δεδομένα από το μόνο αισθητήρα της σκούπας, τον αισθητήρα υπέρηχων και στη βάση αυτής της ανάλυσης, θα λειτουργεί το μηχανικό σύστημα της σκούπας, κινώντας την στη forward ή τη reverse κατεύθυνση και στρίβοντάς την, αριστερά ή δεξιά, για να αποφεύγει τα εμπόδια που συναντάει, όταν καθαρίζει ένα χώρο.. 3. Συνδυάζουμε το πρόγραμμα, το μικροελεγκτή, το σασί και το αναλογικό κύκλωμα, σ ένα ολοκληρωμένο σύστημα. ΕΞ.4 Κατάλογος Υλικών Arduino Σασί για ένα ρομποτικό αυτοκίνητο (Magician chassis ή άλλο σασί) Πλακέτα Οδήγησης (Γέφυρα SN754410 ή Adafruit Μotor Shield) Αισθητήρας υπέρηχων (HC-SR04) Μπαταρία 9-volt Καλώδια Βreadboard Πανί καθαρισμού, για παράδειγμα ένα πανί Swiffer ΕΞ.5 Συναρμολογώντας το Σασί Το σασί είναι ο σκελετός ενός ρομποτικού οχήματος και της σκούπας που σχεδιάζουμε, σ αυτή την εργασία. Επάνω σ αυτό, τοποθετούμε όλα τα υλικά το μικροελεγκτή, τους αισθητήρες, το σύστημα οδήγησης (motor controller) των κινητήρων, τους κινητήρες και σ αυτό, προσαρμόζουμε τους τροχούς που θα κινούν το ρομποτικό αυτοκίνητο ή τη σκούπα, σ αυτή την εφαρμογή. 6

Όταν δημιουργήσουμε το σασί μίας ρομποτικής συσκευής, έχουμε δύο επιλογές. Να προσπαθήσουμε να δημιουργήσουμε ένα σασί, δικής μας επινόησης, από τα πρωτογενή του υλικά, όπως αλουμίνιο, βίδες και παξιμάδια που μπορούμε να βρούμε σε διάφορα καταστήματα. Τότε, χρειάζεται να λύσουμε διάφορα άλλα σχεδιαστικά θέματα, όπως για παράδειγμα, το μέγεθος των τροχών, το είδος του κινητήρα που θα χρησιμοποιήσουμε, αν δηλαδή θα είναι DC κινητήρας, βηματικός ή σερβοκινητήρας ή ακόμα, ποια θα είναι η ισχύς του κινητήρα. Εναλλακτικά, μπορούμε να χρησιμοποιούμε ένα έτοιμο kit που περιέχει το σασί και όλα τα μηχανικά μέρη, δηλαδή τους κινητήρες και τους τροχούς του ρομποτικού αυτοκίνητου. Τότε απλά, χρειάζεται να συναρμολογήσουμε το σασί και επάνω σ αυτό, να εφαρμόσουμε τους κινητήρες και τους τροχούς. Αυτή είναι η πιο απλή και γρήγορη επιλογή και αυτή που ακολουθούμε, για τη ρομποτική κατασκευή αυτής της εργασίας, εκτός και αν κάποιοι από εσάς, ήδη έχετε ή θέλετε να κατασκευάσετε το δικό σας σασί. Υπάρχουν πολλά έτοιμα kits που μπορούμε να χρησιμοποιούμε, για να δημιουργούμε το σκελετό ενός ρομποτικού συστήματος και σε διάφορες τιμές, ανάλογα με τα χαρακτηριστικά, τη ποιότητα των υλικών και τις δυνατότητες του σασί. ΕΞ.6 Προσθέτοντας τον Arduino Αφού συναρμολογήσουμε το σασί, στο επόμενο βήμα, προσθέτουμε το μικροελεγκτή. Σ ένα σύστημα, ο μικροελεγκτής είναι ο εγκέφαλος αυτού του συστήματος, δηλαδή η μονάδα που εκτελώντας ένα πρόγραμμα, καθορίζει και ελέγχει όλη τη λειτουργία του συστήματος. Εδώ, πάλι, έχουμε πολλές επιλογές, για το μικροελεγκτή που θα χρησιμοποιήσουμε. Μπορούμε να χρησιμοποιήσουμε τον Arduino ή μία διαφορετική έκδοση / πλακέτα του Arduino, από αυτή που χρησιμοποιήσαμε στο εργαστήριο (τον UNO). Μπορούμε, για παράδειγμα να χρησιμοποιήσουμε τον Arduino με επεξεργαστή της Intel τον Galileo ή τον Edison που έχουν πολύ ταχύτερους μικροεπεξεργαστές, απ αυτόν που χρησιμοποιήσαμε, στο εργαστήριο. Μπορούμε ακόμα, να χρησιμοποιήσουμε ένα τελείως διαφορετικό μικροελεγ- Εικόνα 4: Αφού συναρμολογήσουμε το σασί, τοποθετούμε επάνω σ αυτό, το μικροελγκτή ;έναν Arduino και ένα breadboard, όπου θα τοποθετήσουμε όλα τα α- ναλογικά εξαρτήματα του συστήματος. 7

κτή, όπως για παράδειγμα, έναν ARM. Όμως, ο Arduino αρκεί, γι αυτή την εφαρμογή. Μπορούμε πολύ εύκολα να τοποθετήσουμε / εγκαταστήσουμε τη πλακέτα του Arduino στην επάνω πλευρά του σασί, όπως παριστάνεται στην Εικόνα 4. ΕΞ.7 Το Πρόβλημα με τη Τροφοδοσία του Συστήματος Όσο ο Arduino είναι συνδεμένος στον υπολογιστή, τροφοδοτείται με τάση από τον υπολογιστή, μέσα από το USB καλώδιο, της σύνδεσης του με τον υπολογιστή. Όταν όμως, τοποθετούμε τον Arduino, επάνω σ ένα ρομποτικό αυτοκίνητο που μπορεί να κινείται οπουδήποτε στο χώρο, τότε, ο Arduino δεν μπορεί να εξακολουθεί να είναι συνδεμένος στον υπολογιστή, με καλώδιο. Έτσι, σ ένα ρομπότ που θα πρέπει να κινείται ανεμπόδιστα, σ ένα οσοδήποτε μεγάλο χώρο, χρειάζεται να χρησιμοποιούμε μία άλλη πηγή τροφοδοσίας, εκτός από τον υπολογιστή, για να τροφοδοτούμε με τάση, το μικροελεγκτή και τους κινητήρες του ρομπότ. Συνήθως, χρησιμοποιούμε μία μπαταρία, για να τροφοδοτούμε με ρεύμα το μικροελεγκτή, το κύκλωμα και τους κινητήρες ενός ρομπότ που για μικρά ρομπότ, όπως η ρομποτική σκούπα αυτής της εργασίας, είναι μια 9 V μπαταρία. Όμως, οι απλές μπαταρίες 9 V, γρήγορα εξαντλούνται από τους κινητήρες του ρομπότ. Γι αυτό, συνήθως, χρησιμοποιούμε μακράς διάρκειας, επαναφορτιζόμενες μπαταρίες. ΕΞ.8 Η Έννοια και Λειτουργία της Μονάδας Οδήγησης Κινητήρα (Motor Control Unit) Η μονάδας οδήγησης κινητήρα (motor control unit), στη πιο απλή μορφή της, είναι το αναλογικό κύκλωμα που χρησιμοποιήσαμε στην Άσκηση 5, για να περιστρέφουμε ένα DC κινητήρα, από τον Arduino. Το αναλογικό κύκλωμα εκείνης της Άσκησης, αποτελείται κυρίως από ένα τρανζίστορ, αλλά και μία δίοδο και ένα πυκνωτή (Εικόνα 5). Όπως είδαμε σ εκείνη την άσκηση, ο Arduino δεν λειτουργεί το κινητήρα, απευθείας, αλλά μέσα από αυτό το κύκλωμα, δημιουργώντας τάση 5 V ή 0 V στη βάση του τρανζίστορ. Στη μία περίπτωση, το τρανζίστορ γίνεται αγωγός, επιτρέποντας το ρεύμα στο κύκλωμα του κινητήρα, ενώ στην άλλη γίνεται μονωτής, διακόπτοντας το ρεύμα, στο κύκλωμα του κινητήρα. Το κύκλωμα της Εικόνας 5, από ένα τρανζίστορ, μπορεί να περιστρέφει το κινητήρα, μόνον κατά τη μία φορά. Για να μπορούμε να περιστρέφουμε το DC κινητήρα και κατά την ανάστροφη φορά, χρησιμοποιήσαμε το ολοκληρωμένο της γέφυρας (Εικόνα 6), στην Άσκηση 6. Αυτό το ολοκληρωμένο αποτελείται από τέσσερα τρανζίστορ. Κλείνοντας δύο από 8

Εικόνα 5: Το πιο απλό κύκλωμα οδήγησης κινητήρα ο πιο απλός motor controller, από ένα τρανζίστορ που λειτουργεί ως διακόπτης, επιτρέποντας ή διακόπτοντας το ρεύμα, από τη πηγή, στο κύκλωμα του κινητήρα, ανάλογα με τη τάση στη βάση του τρανζίστορ, από τον Arduino. αυτά τα τρανζίστορ, δημιουργώντας δηλαδή τάση 5 V στη βάση των δύο από αυτά τα τρανζίστορ και ανοίγοντας τα άλλα δύο, επιτρέπουμε το ρεύμα από τη μπαταρία, στο κύκλωμα του κινητήρα. Αντιστρέφοντας τα κλειστά και ανοικτά τρανζίστορ στη γέφυρα, αντιστρέφουμε την ροή του ρεύματος στο κύκλωμα του κινητήρα, άρα και τη φορά περιστροφής του. Η γέφυρα της Εικόνας 6, αποτελεί και αυτή μία μονάδα οδήγησης κινητήρας (motor controller), όμως συνθετότερη από αυτή στην Εικόνα 5, γιατί επιτρέπει στον Arduino να περιστρέφει το κινητήρα, τόσο κατά τη μία την ορθή, όσο και κατά την ανάστροφη φορά. Φυσικά, μπορούμε να χρησιμοποιήσουμε τη γέφυρα της Εικόνας 6, για να κινούμε τη ρομποτική σκούπα. Αν και στην Άσκηση 6, συνδέσαμε ένα κινητήρα, στη γέφυρα, μπορούμε να συνδέουμε δύο κινητήρες, τους κινητήρες που δίνουν κίνηση στο δεξιό και τον αριστερό τροχό ενός ρομποτικού οχήματος. 9

Εικόνα 5: Το πιο απλό κύκλωμα οδήγησης κινητήρα ο πιο απλός motor controller, από ένα τρανζίστορ που λειτουργεί ως διακόπτης, επιτρέποντας ή διακόπτοντας το ρεύμα, από τη πηγή, στο κύκλωμα του κινητήρα, ανάλογα με τη τάση στη βάση του τρανζίστορ, από τον Arduino. ΕΞ.9 Μονάδα Οδήγησης Κινητήρα σε Πλακέτα Μία πιο απλή, αλλά ακριβότερη λύση, αντί της γέφυρας, είναι να χρησιμοποιήσουμε μία πλακέτα που περιέχει / περιλαμβάνει δύο γέφυρες, δηλαδή δύο chip, σ ένα ολοκληρωμένο κύκλωμα. Αυτή η μονάδα οδήγησης σε πλακέτα, παριστάνεται στην Εικόνα 7. Το πλεονέκτημα να χρησιμοποιήσουμε μία μονάδα οδήγησης σε πλακέτα, για τη ρομποτική σκούπα, αλλά και γενικά, σε ρομποτικές συσκευές, δεν είναι μόνον πως σε σύγκριση με την απλή γέφυρα, αυτή η πλακέτα περιέχει δύο γέφυρες, άρα 10

μπορούμε να λειτουργούμε τέσσερεις και όχι μόνο δύο κινητήρες. Ένα άλλο πλεονέκτημα αυτής της πλακέτας, είναι πως εκτός από DC κινητήρες, μπορούμε ακόμα να λειτουργούμε σερβοκινητήρες ή/και βηματικούς κινητήρες. Όμως, το βασικότερο πλεονέκτημα της πλακέτας, απέναντι στην απλή γέφυρα είναι πως πολύ εύκολα, μπορούμε να τη συνδέουμε στον Arduino. Αντί να χρησιμοποιούμε καλώδια, για να συνδέουμε τους ακροδέκτες της πλακέτας σε ακροδέκτες του Arduino, απλά βυσματώνουμε / κάνουμε σάντουιτς τη πλακέτα με τον Arduino (Εικόνα 7), χωρίς να χρησιμοποιήσουμε κανένα καλώδιο, παρά μόνον τα καλώδια, για να συνδέσουμε τους δύο κινητήρες, σε αντίστοιχους ακροδέκτες της πλακέτας. Εικόνα 7: Μία εναλλακτική μονάδα οδήγησης που μπορούμε να χρησιμοποιήσουμε, αντί της γέφυρας, για να ρυθμίζουμε τη λειτουργία των δύο DC κινητήρων της ρομποτική σκούπας, είναι η πλακέτα οδήγησης κινητήρων (motor shield), για τον Arduino. Έτσι, αφού τοποθετήσουμε τη πλακέτα οδήγησης στον Arduino, σαν να κάναμε ένα σάντουιτς, από τις δύο πλακέτες (Εικόνες 7 και 8), απλά, συνδέουμε τους δύο κινητήρες σε μία σειρά υποδοχέων της πλακέτας, για κινητήρες, όπως παριστάνεται στην Εικόνα 8. ΕΞ.10 Shields: Η Έννοια της Πλακέτας Πρόσθετης Λειτουργίας Πλακέτες σαν τη πλακέτα οδήγησης κινητήρα (Εικόνες 7 και 8) που μπορούμε να χρησιμοποιήσουμε, για τους κινητήρες της ρομποτική σκούπας, ονομάζονται shields, γιατί, πολύ απλά, βυσματώνουμε αυτές τις πλακέτες στον Arduino (Εικόνα 8), δίνοντας έτσι, πρόσθετες ή διευρυμένες λειτουργίες στον Arduino, μέσα από αυτές τις πλακέτες. Για παράδειγμα, η πλακέτα οδήγησης κινητήρων (motor shield), επιτρέπει στον Arduino, να λειτουργεί κινητήρες. Ο Arduino δεν μπορεί, απευθείας, να λειτουργεί 11

Εικόνα 8: Το βασικό πλεονέκτημα της πλακέτας οδήγησης κινητήρων (motor shield), σε σχέση με άλλους οδηγούς, όπως η γέφυρα SN754410, είναι πως πολύ εύκολα, μπορούμε να συνδέουμε τη πλακέτα (τη motor shield), στον Arduino, κάνοντάς την σάντουιτς με τον Arduino. κινητήρες. Είδαμε και νωρίτερα, στις εργαστηριακές ασκήσεις 5 και 6, πως ο Arduino, για να λειτουργήσει έναν ή περισσότερους κινητήρες, χρειάζεται ένα κύκλωμα που περιλαμβάνει ένα ή περισσότερα τρανζίστορ (Εικόνες 5 και 6). Η πλακέτα οδήγησης (motor shield) αντικαθιστά αυτό το κύκλωμα και επιτρέπει στον Arduino, να λειτουργεί ταυτόχρονα, έναν ή περισσότερους κινητήρες. ΕΞ.11 Η WiFi Shield και άλλες Πλακέτες Ασύρματης Επικοινωνίας Εκτός από τη motor shield, τη πλακέτα οδήγησης κινητήρα, υπάρχουν πολλές άλλες πλακέτες ή Shields που απευθείας, σαν τη motor shield, μπορεί να συνδέονται / να βυσματώνονται στον Arduino και να του επιτρέπουν πρόσθετες λειτουργίες. Τέτοιες πλακέτες, για παράδειγμα, είναι η Ethernet shield που χρησιμεύει, για να συνδέουμε τον Arduino στο διαδίκτυο, η SD shield, η WiFi shield, η GSM shield και πολλές άλλες, ακόμα. Η SD shield περιέχει μία SD κάρτα και όταν συνδέεται στον Arduino, του επιτρέπει να έχει πρόσβαση στην SD κάρτα και να αποθηκεύει μετρήσεις από αισθητήρες, σ αυτή. Η WiFi shield προσθέτει στον Arduino την ασύρματη επικοινωνία, δίνοντας στον Arduino τη δυνατότητα να επικοινωνεί ασύρματα με έναν υπολογιστή και με άλλες συσκευές, χρησιμοποιώντας το WiFi πρωτόκολλο. 12

ΕΞ.12 1 G, 2 G, 3 G & 4 G: Επικοινωνώντας Ασύρματα μέσα από τα Δίκτυα Κινητής Τηλεφωνίας Φυσικά, το WiFi δεν είναι το μοναδικό πρωτόκολλο ασύρματης επικοινωνίας. Ο Arduino μπορεί να επικοινωνεί ασύρματα με έναν υπολογιστή ή άλλες συσκευές, μέσα από ραδιοκύματα, χρησιμοποιώντας την XBee Shield. Μπορεί ακόμα να συνδέεται ασύρματα, σ άλλες συσκευές, μέσα από τα δίκτυα κινητής τηλεφωνίας, χρησιμοποιώντας τη GSM Shield που επιτρέπει στον Arduino τη πρόσβαση στα δίκτυα κινητής τηλεφωνίας και την επικοινωνία με άλλες συσκευές, μέσα από το Επίγειο Σύστημα Κινητής Τηλεφωνίας (Global System for Mobile Communication). Κάθε μέθοδος ασύρματης επικοινωνίας έχει τα δικά της πλεονεκτήματα και μειονεκτήματα. Η XBee shield είναι πολύ απλή στη χρήση της, όμως έχει πολύ μικρή εμβέλεια, μέχρι 1 Km, το πολύ. H WiFi έχει σχετικά μεγαλύτερη εμβέλεια. Όμως, επειδή αυτή η πλακέτα βασίζεται στη πρόσβαση σ ένα δίκτυο WiFi, η εμβέλεια της περιορίζεται στα όρια της περιοχής που μπορούμε να εντοπίζουμε και να συνδεόμαστε, στο συγκεκριμένο δίκτυο WiFi. Η ασύρματη επικοινωνία στη βάση της GSM shield έχει τη μεγαλύτερη εμβέλεια από τις άλλες δύο πλακέτες, γιατί χρησιμοποιεί τα δίκτυα κινητής τηλεφωνίας. Η GSM shield λειτουργεί με μία κάρτα SIM, ώστε να μπορεί ο Arduino να συνδέεται σ ένα από τα δίκτυα κινητής τηλεφωνίας και σα κινητό, να στέλνει δεδομένα σ έναν υπολογιστή, μέσα από αυτό το δίκτυο. Έτσι, για παράδειγμα, μπορούμε να χρησιμοποιούμε τη WiFi shield, για να ελέγχουμε ασύρματα ένα ρομποτικό αυτοκίνητο, όμως σε μία σχετικά μικρή ακτίνα. Γιατί, αν το ρομποτικό αυτοκίνητο έβγαινε έξω από τα όρια του δικτύου WiFi που έχουμε πρόσβαση, τότε θα χάνονταν και η επικοινωνία μαζί του. Αντίθετα, αν χρησιμοποιούσαμε τη GSM shield, για τον ασύρματο έλεγχο του αυτοκινήτου, τότε θα μπορούσαμε να το ελέγχουμε σε απεριόριστα μεγάλες αποστάσεις, γιατί, στη διαδρομή του, το αυτοκίνητο θα περνούσε από πολλά κύτταρα κινητής τηλεφωνίας που θα του επέτρεπαν να στέλνει και να λαμβάνει σήματα. Στην εξαμηνιαία, μπορούμε να χρησιμοποιήσουμε οποιαδήποτε από τις διαφορετικές μεθόδους ασύρματης επικοινωνίας, για να ελέγχουμε / οδηγούμε τη ρομποτική σκούπα, από τον υπολογιστή. Αν και η GSM shield είναι αυτή που έχει τη μεγαλύτερη εμβέλεια, θα χρησιμοποιήσουμε τη WiFi shield, για να εξετάσουμε τα βήματα της ασύρματης επικοινωνίας μικροελεγκτή υπολογιστή, τις δυνατότητες, αλλά και τα μειονεκτήματα αυτού του πρωτοκόλλου επικοινωνίας. ΕΞ.13 Προσθέτοντας τον Αισθητήρα Υπέρηχων Η ρομποτική σκούπα, αλλά και γενικά, κάθε ρομποτικό, αλλά και κάθε βιολογικό σύστημα, αποτελείται από δύο βασικά μέρη επιμέρους συστήματα: 13

Το Σύστημα Αίσθησης που μέσα από αυτό, το ρομποτικό ή βιολογικό σύστημα αντιλαμβάνεται και επεξεργάζεται δεδομένα, από το εξωτερικό περιβάλλον και Το Μηχανικό σύστημα, μέσα από το οποίο κινείται και αντιδρά στα ερεθίσματα του εξωτερικού περιβάλλοντος. Είδαμε παραπάνω πως το μηχανικό σύστημα της ρομποτικής σκούπας, αποτελείται από δύο DC κινητήρες και το σύστημα οδήγησης, από μία γέφυρα ή μία πλακέτα οδήγησης (motor controller), μέσα από την οποία ο Arduino ρυθμίζει τη λειτουργία των δύο κινητήρων. Έτσι, έχοντας δημιουργήσει το μηχανικό σύστημα της ρομποτικής σκούπας, απομένει να δημιουργήσουμε το άλλο βασικό κομμάτι μέρος της ρομποτικής σκούπας που είναι το σύστημα αίσθησης. Στην απλουστευμένη εκδοχή της ρομποτικής σκούπας που εξετάζουμε σ αυτή την εργασία, η σκούπα θα κινείται σε μία κατεύθυνση στο χώρο, σκουπίζοντας, σ αυτή τη κατεύθυνση, μέχρις ότου συναντήσει ένα εμπόδιο. Τότε, θα στρίβει αριστερά ή δεξιά, για να αποφύγει αυτό το εμπόδιο και θα αρχίσει να κινείται, σκουπίζοντας, σε μία νέα κατεύθυνση, μέχρις ότου πάλι, συναντήσει ένα εμπόδιο, οπότε πάλι θα στρίβει αριστερά ή δεξιά και θα συνεχίσει να σκουπίζει σε μία νέα κατεύθυνση, διαρκώς, επαναλαμβάνοντας αυτή τη λειτουργία. Σ αυτή τη απλουστευμένη λειτουργία, η σκούπα χρειάζεται μόνον να εντοπίζει φυσικά εμπόδια για να τα αποφεύγει, όταν τα συναντάει, αλλάζοντας κατεύθυνση και εξακολουθώντας να σκουπίζει, στη νέα της κατεύθυνση. Γι αυτό, ολόκληρο το σύστημα αίσθησης της ρομποτικής σκούπας αποτελείται από τον αισθητήρα υπέρηχων, για να εντοπίζει φυσικά εμπόδια και την απόσταση τους, από τη σκούπα, ώστε να μπορεί να τα αποφεύγει. Είδαμε πως ο αισθητήρας υπέρηχων έχει μία απλή αρχή λειτουργίας, εκπέμποντας ένα ηχητικό σήμα και υπολογίζοντας το χρόνο που κάνει αυτό το σήμα να επιστρέψει στον αισθητήρα, όταν ανακλάται από αντικείμενα ή φυσικά εμπόδια, εμπρός από τον αισθητήρα. Ο αισθητήρας πολλαπλασιάζει αυτό το χρόνο επί τη ταχύτητα του ήχου στον αέρα, για να υπολογίζει την απόσταση του πλησιέστερου αντικειμένου, από αυτόν, με μεγάλη αξιοπιστία. Για αυτό το λόγο, χρησιμοποιούμε τον αισθητήρα υπέρηχων στη ρομποτική σκούπα και γενικά, σε ρομποτικές συσκευές, για να τους επιτρέπει να αποφεύγουν τα διάφορα φυσικά εμπόδια, στη κίνησή τους, στο χώρο, αλλά και μερικές φορές, να προσεγγίζουν και να χειρίζονται διάφορα αντικείμενα, ό- πως ο robot drum που χρησιμοποιεί κάθε αντικείμενο που βρίσκει, σα drums (Εικόνα 9). Σε προηγούμενες εργαστηριακές ασκήσεις, είδαμε πως ο αισθητήρας υπέρηχων συνδέεται στον Arduino και πως μπορούμε να ρυθμίζουμε τη ταχύτητα και τη φορά περιστροφής δύο DC κινητήρων, από τον Arduino, χρησιμοποιώντας το ολοκληρωμένο της γέφυρας. 14

Εικόνα 9: Ο ντραμίστας που αντί να αποφεύγει εμπόδια και αντικείμενα, χρησιμοποιεί κάθε αντικείμενο που βρίσκει μπροστά του, σα drums. Το σύστημα αίσθησης από τον αισθητήρα υπέρηχων και το μηχανικό σύστημα, από δύο DC κινητήρες και το σύστημα οδήγησης, στη μορφή της γέφυρας ή της πλακέτας οδήγησης, αποτελούν όλο το μηχανισμό λειτουργίας της ρομποτικής σκούπας που παριστάνεται στις Εικόνες 1, 3 και 10. Το επόμενο και τελευταίο στάδιο, είναι να γράψουμε το πρόγραμμα που επεξεργάζεται τα δεδομένα από τον αισθητήρα υπέρηχων και ανάλογα, οδηγεί τη σκούπα, διατηρώντας τη κατεύθυνση της κίνησής της ή στρίβοντας την αριστερά ή δεξιά και αλλάζοντας τη κατεύθυνση της. ΕΞ.14 Το πρόγραμμα Είδαμε παραπάνω πως όλος ο μηχανισμός λειτουργίας της ρομποτικής σκούπας, αποτελείται από δύο μέρη επιμέρους συστήματα: τον αισθητήρα υπέρηχων και το μηχανικό σύστημα, από δύο DC κινητήρες και το σύστημα οδήγησης των δύο κινητήρων. Ανάλογα, το πρόγραμμα που ρυθμίζει τη λειτουργία αυτού του μηχανισμού, είναι συνδυασμός δύο προγραμμάτων που ήδη έχουμε γράψει, για προηγούμενες εργασίες. Αυτά τα δύο προγράμματα που αν τα συνδυάσουμε, δημιουργούμε το πρόγραμμα οδήγησης της ρομποτικής σκούπας, είναι: 15

Εικόνα 10: Όλος ο μηχανισμός της ρομποτικής σκούπας, συναρμολογείται σε τρία (3) απλά βήματα που παριστάνονται στη παραπάνω Εικόνα. Απομένει μόνον, να γράψουμε το πρόγραμμα που θα οδηγεί αυτό το μηχανισμό. 16

Εικόνα 11: Η γενική μορφή του προγράμματος, για τη λήψη και την επεξεργασία των μετρήσεων απόστασης αντικειμένων, από τη ρομποτική σκούπα. 17

Το πρόγραμμα, για να παίρνουμε και να αναλύουμε τις μετρήσεις, από τον αισθητήρα υπέρηχων (Εικόνα 11) και Το πρόγραμμα, για να ρυθμίζουμε τη ταχύτητα και τη φορά περιστροφής των δύο DC κινητήρων, μέσα από το σύστημα οδήγησης, δηλαδή τη γέφυρα SN754410 ή τη πλακέτα οδήγησης (motor shield) που στη γενική του μορφή, παριστάνεται στην Εικόνα 12. Για να γράψουμε το πρόγραμμα που οδηγεί τη ρομποτική σκούπα, αρκεί να συνδυάσουμε τα δύο αυτά προγράμματα και να προσθέσουμε λίγες ακόμα εντολές. ΕΞ.15 Συνδυάζοντας τα Επιμέρους Προγράμματα σ Ένα Πρόγραμμα Έχοντας δημιουργήσει τα επιμέρους τμήματα του προγράμματος, δηλαδή το πρόγραμμα για να παίρνει και να επεξεργάζεται τις μετρήσεις απόστασης, από τον αισθητήρα απόστασης (Εικόνα 11) και το πρόγραμμα, για να λειτουργεί τους κινητήρες της ρομποτικής σκούπας (Εικόνα 12), μπορούμε τώρα, να γράψουμε το πρόγραμμα που οδηγεί τη ρομποτική σκούπα, να καθαρίσει ένα χώρο, αποφεύγοντας τα διάφορα αντικείμενα ή φυσικά εμπόδια που υπάρχουν σ αυτό το χώρο. Αυτό το πρόγραμμα, απλά συνδυάζει τα επιμέρους προγράμματα στις Εικόνες 11 και 12, στη βάση του παρακάτω αλγόριθμου: 1. Κινούμε το ρομπότ στη μπροστινή κατεύθυνση, μετρώντας την απόσταση από διάφορα εμπόδια, εμπρός από τη σκούπα. Όσο δεν υπάρχει εμπόδιο σε α- πόσταση 10 cm, από τη σκούπα, εξακολουθούμε να κινούμε τη ρομποτική στην ίδια κατεύθυνση. 2. Εάν συναντήσουμε ένα αντικείμενο ή εμπόδιο, για παράδειγμα, ένα τοίχο ή ένα τραπέζι, σε απόσταση μικρότερη των 10 cm, από τη σκούπα, τότε στρίβουμε τη ρομποτική σκούπα, αριστερά ή δεξιά, για να αποφύγουμε αυτό το εμπόδιο και 3. Επιστρέφουμε στο βήμα 1. 4. Εκτελούμε τα βήματα 1 3, σε μία διαρκή, ατελείωτη επανάληψη, μέχρι εμείς, χειροκίνητα, να σταματήσουμε τη λειτουργία της σκούπας. ΕΞ.16 ΣΥΜΠΕΡΑΣΜΑΤΑ Σ αυτή την εργασία, επιχειρήσαμε να σχεδιάσουμε την απλή εκδοχή, ενός πραγματικού συστήματος, ώστε να δούμε τη διαδικασία τη μεθοδολογία που ακολουθούμε στη σχεδίαση και ανάπτυξη ενός συστήματος, αλλά και τις ελλείψεις και τους περιορισμούς του συστήματος που σχεδιάσαμε, σε σχέση με το πραγματικό σύστημα 18

19

Εικόνα 12: Η γενική μορφή του προγράμματος που λειτουργεί τους κινητήρες της ρομποτικής σκούπας, μέσα από τη γέφυρα SN754410 ή τη motor shield.. που υπάρχει στην αγορά. Πολλά είναι αυτά που μπορούμε να προσθέσουμε στο σύστημα που σχεδιάσαμε. Ένα από αυτά μία σημαντική προσθήκη στο σύστημα που σχεδιάσαμε, είναι η ασύρματη επικοινωνία και ο έλεγχος της σκούπας, από τον υπολογιστή, χρησιμοποιώντας το δίκτυο WiFi που θα δούμε στο επόμενο μέρος αυτής της εργασίας. 20