ΤΕΙ ΚΑΒΑΛΑΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΙΤΛΟΣ ΠΤΥΧΙΑΚΗΣ ΕΡΓΑΣΙΑΣ: ΤΗΛΕΧΕΙΡΙΖΟΜΕΝΟ ΑΕΡΟΠΛΑΝΟ



Σχετικά έγγραφα
ΣΔΙ ΚΑΒΑΛΑ ΣΜΗΜΑ ΜΗΥΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗ ΣΙΣΛΟ ΠΣΤΥΙΑΚΗ ΔΡΓΑΙΑ: - ΤΗΛΕΧΕΘΡΘΖΟΜΕΝΟ ΑΕΡΟΠΛΑΝΟ ΣΩΝ ΦΟΙΣΗΣΩΝ ΚΔΙΓΗ ΥΡΙΣΟΦΟΡΟΤ 2848 ΣΙΝΙΣΙΓΗ ΙΟΡΓΑΝΗ 2883

Ενσωματωμένα Συστήματα

Εφαρμογές Σειριακής Επικοινωνίας

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

Μάθημα 2 Δραστηριότητα 2: Δημιουργώντας το Μετεωρολογικό Σταθμό. Επανεξέταση των βασικών εννοιών της C και του προγραμματισμού.

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

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

Arduino Teachers Workshop

Έλεγχος με Μικροϋπολογιστές Εργαστήριο ενσωματωμένων συστημάτων

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

Bread Online. Παναγιώτης Ιωαννίδης Επιβλέπων καθηγητής: Μηνάς Δασυγένης

ΠΕΡΙΕΧΟΜΕΝΑ ΚΕΦΑΛΑΙΟ I: ΕΙΣΑΓΩΓΗ ΣΤΑ ΗΛΕΚΤΡΟΝΙΚΑ

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

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

1o ΕΠΑΛ- Ε.Κ. Συκεών -Τομέας: Ηλεκτρονικής, Ηλεκτρολογίας και Αυτοματισμού Εκπαιδευτικοί: Μπουλταδάκης Στέλιος Μαυρίδης Κώστας

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

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

7. Επαναλήψεις (Loops) Προγραμματισμός EV3 Ακαδημία Ρομποτικής 58

για τις ρυθμίσεις LabView μέσα από το κανάλι και του καλωδίου USB.

ΕΡΓΑΣΤΗΡΙΟ 6 ΟΔΗΓΗΣΗ ΑΠΕΙΚΟΝΙΣΕΩΝ SSD ΚΑΙ LCD

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

Έλεγχος κινητήρα συνεχούς ρεύματος με τρανζίστορ και Arduino

Α. Βασική Χρήση κινητήρα - Servo με τη βιβλιοθήκη <Servo.h>

ΠΛΗΡΟΦΟΡΙΚΗ ΙΙ (JAVA) 11/3/2008

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

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

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

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

FOSSCOMM ο Συνέδριο Κοινοτήτων Ανοιχτού Λογισμικού Σάββατο 20 Απριλίου Ομάδα Σχολής Ικάρων Εργαστήριο Arduino

ΣΤΟΙΧΕΙΑ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ ARDUINO

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

Τεχνολογικό Εκπαιδευτικό Ίδρυμα Σερρών Σχολή Τεχνολογικών Εφαρμογών Τμήμα Πληροφορικής & Επικοινωνιών

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

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

Αυτόματος διακόπτης αλλαγής φοράς περιστροφής εναλλασσόμενου τριφασικού κινητήρα βραχυκυκλωμένου δρομέα με έλεγχο PLC

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

ΔΡΑΣΤΗΡΙΟΤΗΤΑ ΕΙΣΑΓΩΓΗ ΣΤΟ ARDUINO- 01a

Εισαγωγή στον Προγραμματισμό

ΑΣΚΗΣΗ 1 (22 Νοεμβρίου 2017)

Μ.Π.Σ. «ΠΡΟΗΓΜΕΝΕΣ ΜΕΘΟΔΟΙ ΚΑΤΑΣΚΕΥΗΣ ΠΡΟΙΟΝΤΩΝ ΑΠΟ ΞΥΛΟ» Μάθημα: Σχεδίαση και Εφαρμογές Διαδραστικών Συστημάτων. Διδάσκοντας: Α.

Πλακέτα Arduino. 1ο ΕΠΑΛ Περάματος - 7ο ΕΚ Πειραιά

Έλεγχος με Μικροϋπολογιστές Εργαστήριο ενσωματωμένων συστημάτων

ΕΡΓΑΣΤΗΡΙΟ 4 ΕΙΣΑΓΩΓΗ ΣΤΟN ARDUINO: ΨΗΦΙΑΚΗ ΕΙΣΟΔΟΣ/ΕΞΟΔΟΣ

Παρουσίαση Δραστηριότητας Ρομποτικής

ΑΙΣΘΗΤΗΡΕΣ ΚΑΙ ΜΟΤΟΡΕΣ ΠΡΑΚΤΙΚΑ ΘΕΜΑΤΑ ΧΡΗΣΗΣ. Υποψήφιος Διδάκτωρ

Ενσωματωμένα Συστήματα

ΑΣΚΗΣΗ 7 η : ΣΥΣΤΗΜΑ ΥΑΛΟΚΑΘΑΡΙΣΤΗΡΩΝ

Διπλωματική Εργασία. Επιβλέπων καθηγητής: Δρ. Μηνάς Δασυγένης. Πανεπιστήμιο Δυτικής Μακεδονίας Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών

Παραδείγµατα χρήσης του µικροελεγκτή Arduino Εφαρµογές για το εργαστήριο Μέρος 2 ο :Οδήγηση Κινητήρων DC(PM)

ΕΝΟΤΗΤΑ 4 Λήψη Αποφάσεων και Συναρτήσεις Ελέγχου

Εργαστηριακές σημειώσεις για το μάθημα: «Εισαγωγή στην Μηχατρονική»

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

Εισαγωγή στη VHDL Υλοποίηση στο Quartus

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

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

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

Γνωριμία με το Arduino

ΕΙΣΑΓΩΓΗ ΣΤΟ ARDUINO. Υποψήφιος Διδάκτωρ

Εφαρμογές αναλογικών / Ψηφιακών

RobotArmy Περίληψη έργου

ΕΝΟΤΗΤΑ ΤΡΙΤΗ. Κατασκευή 3 ου Μέρους: Συναρμολόγηση Τηλεχειριστηρίου

ΠΛΗΡΟΦΟΡΙΚH ΓΙΑ ΤΗΝ ΤEΧΝΗ Η ΕΞAΜΗΝΟ

Ενσωµατωµένα Συστήµατα

Έλεγχος με Μικροϋπολογιστές Εργαστήριο ενσωματωμένων συστημάτων

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

Τι πτυχίο θα πάρω; Πως θα το πάρω;

Ανάπτυξη Δικτύων Ελέγχου και Αυτοματισμού Ενεργειακών Εγκαταστάσεων

Προηγμένοι Μικροεπεξεργαστές. Εργαστήριο 5 - Editor

Σχεδιασμός και κατασκευή ενός υβριδικού αμυντικού αυτοματοποιημένου ρομποτικού συστήματος

ΕΦΑΡΜΟΓΕΣ ΤΗΛΕΠIΚΟΙΝΩΝΙΑΚΩΝ ΔΙΑΤΑΞΕΩΝ

ΗΜΥ211 Εργαστήριο Ψηφιακών Συστημάτων

ΤΕΙ ΚΑΒΑΛΑΣ Εισαγωγή Αντικείμενο πτυχιακής εργασίας.σελ Περιεχόμενα εγχειριδίου Αναφοράς Προγραμμάτων.. σελ. 3

Τίτλος : Μικρός ταινιόδρομος

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

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

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

Εγχειρίδιο χρήσης. Ασύρματα ακουστικά 2.4G

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Εισαγωγή στη Java

ΑΣΚΗΣΗ ΜHΧΑΤΡΟΝΙΚΗΣ. Τέλος όταν εισάγετε ένας σωστός συνδυασμός η ένδειξη του display να μηδενίζετε.

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

Έλεγχος με Μικροϋπολογιστές Εργαστήριο ενσωματωμένων συστημάτων

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

Κωνσταντίνος Γκαλονάκης. Arduino: Προγραμματισμός στην πράξη

10. Πληκτρολόγιο matrix 4x4

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

Είναι το πρωτόκολλο RS232 που χρησιμοποιείται στις σειριακές θύρες COM με τη διαφορά ότι εκτελείται σε επίπεδο τάσεων TTL. 2

Εγχειρίδιο χρήσης. Ασύρματο εσωτερικό ραντάρ GSC-P829

ΠΑΝΑΓΙΩΤΗΣ ΚΟΥΤΣΙΩΡΑΣ Α.Μ.: ΨΗΦΙΑΚΗ ΣΧΕΔΙΑΣΗ. Αναφορά Πρακτικής Εργασίας: Μετατροπέας Κώδικα BCD Σε Κώδικα GRAY

Ενσωματωμένα Συστήματα

10. Πληκτρολόγιο matrix 4x4

ΚΕΦΑΛΑΙΟ 5 ΠΡΟΣΟΜΟΙΩΤΗΣ PLC SIMATIC S7-300

1. ΠΕΡΙΓΡΑΦΗ ΚΑΙ ΑΝΑΛΥΣΗ ΦΥΛΛΩΝ ΕΡΓΑΣΙΑΣ (Ή ΚΑΙ ΑΛΛΟΥ ΔΙΔΑΚΤΙΚΟΥ ΥΛΙΚΟΥ) ΑΞΙΟΛΟΓΗΣΗ ΤΩΝ ΜΑΘΗΤΩΝ

Τεχνητό Άκρο (τηλεχειριζόμενη μηχανική - ρομποτική παλάμη)

Δομημένος Προγραμματισμός (ΤΛ1006)

WIRELESS SENSOR NETWORKS (WSN)

2. ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΤΩΝ ΘΥΡΩΝ ΕΙΣΟ ΟΥ/ΕΞΟ ΟΥ ΤΟΥ PIC16F877-ΑΡΙΘΜΗΤΙΚΕΣ ΕΝΤΟΛΕΣ

Οδηγός χρήσης. Συνοπτικές οδηγίες. Προσοχή στη σωστή πολικότητα:

Ηλεκτροκινητήρας Εναλλασσόμενου Ρεύματος τύπου κλωβού. Άσκηση 9. Ηλεκτροκινητήρας εναλλασσόμενου ρεύματος τύπου κλωβού

Παράρτημα. Πραγματοποίηση μέτρησης τάσης, ρεύματος, ωμικής αντίστασης με χρήση του εργαστηριακού εξοπλισμού Άσκηση εξοικείωσης

Έλεγχος με Μικροϋπολογιστές Εργαστήριο ενσωματωμένων συστημάτων

Transcript:

ΤΕΙ ΚΑΒΑΛΑΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΙΤΛΟΣ ΠΤΥΧΙΑΚΗΣ ΕΡΓΑΣΙΑΣ: ΤΗΛΕΧΕΙΡΙΖΟΜΕΝΟ ΑΕΡΟΠΛΑΝΟ ΤΩΝ ΦΟΙΤΗΤΩΝ ΚΕΣΙΔΗ ΧΡΙΣΤΟΦΟΡΟΥ 2848 ΤΣΙΝΙΣΤΙΓΗ ΙΟΡΓΑΝΗ 2883 ΜΔ ΕΠΙΒΛΕΠΟΝΤΑ ΚΑΘΗΓΗΤΗ Δρ. ΠΟΓΑΡΙΔΗ ΔΗΜΗΤΡΙΟ ΚΑΒΑΛΑ ΜΑΙΟΣ 2015

ΕΥΧΑΡΙΣΤΙΕΣ Η παρούσα πτυχιακή εργασία με θέμα «ΤΗΛΕΧΕΙΡΙΖΟΜΕΝΟ ΑΕΡΟΠΛΑΝΟ», πραγματοποιήθηκε, στο πλαίσιο της πτυχιακής εργασίας του τμήματος Μηχανικών Πληροφορικής της Σχολής Τεχνολογικού Εκπαιδευτικού Ιδρύματος Ανατολικής Μακεδονίας και Θράκης. Στο σημείο αυτό πρέπει να εκφραστούν ειλικρινείς και θερμές ευχαριστίες σε όσους συνέβαλαν στην ολοκλήρωση αυτής της προσπάθειας : Και πρώτα απ όλα, στον επιβλέπων καθηγητή Πογαρίδη Δημήτριο για τη συνεχή καθοδήγηση, την αμέριστη υποστήριξη, τις ουσιώδεις συμβουλές, καθώς και την αδιάκοπη συμπαράσταση και ενθάρρυνση που παρείχε σε όλο αυτό το διάστημα. Τέλος θα πρέπει να δοθεί ευχαριστία σε αυτούς, που με την καθημερινή τους συμπαράσταση, την υπομονή τους και την θετική τους σκέψη, ιδιαίτερα τις εποχές των μεγάλων διλημμάτων, συνέβαλαν στην εκπλήρωση του στόχου αυτού. 2

Περιεχόμενα ΚΕΦΑΛΑΙΟ 1...5 1.1 ΕΙΣΑΓΩΓΗ...5 1.2 ΑΕΡΟΠΛΑΝΟ...6 1.3 ΓΑΝΤΙ...6 1.4 ΚΩΔΙΚΑΣ...6 1.5 ΑΕΡΟΔΥΝΑΜΙΚΗ...6 1.6 ΜΗΧΑΝΟΛΟΓΙΚΑ...7 1.7 ΜΙΚΡΟΕΛΕΓΚΤΗΣ...7 ΚΕΦΑΛΑΙΟ ΙΙ. Θεωρητική Εισαγωγή...8 2.1 ΣΚΟΠΟΣ...8 2.2 ΥΠΟΣΥΣΤΗΜΑΤΑ...8 2.3 ΑΠΑΙΤΗΣΕΙΣ ΛΕΙΤΟΥΡΓΙΩΝ...9 2.4 ΣΧΕΔΙΟ ΑΕΡΟΣΚΑΦΟΥΣ...10 2.5 ΜΗΧΑΝΟΛΟΓΙΚΗ ΣΧΕΔΙΑΣΗ...11 2.6 ΧΡΟΝΟΔΙΑΓΡΑΜΜΑ...12 3.1 ΠΕΡΙΓΡΑΦΗ ΗΛΕΚΤΟΝΙΚΩΝ...13 3.2 ΗΛΕΚΤΡΟΝΙΚΟ ΣΧΕΔΙΟ... 15 3.2.1 Σχέδιο Αεροσκάφους...15 3.2.2 Σχέδιο Γαντιού...16 ΚΕΦΑΛΑΙΟ Ιν. Λογισμική Σχεδίαση του Συστήματος...17 4.1 ΑΝΑΠΤΥΞΗ ΛΟΓΙΣΜΙΚΟΥ... 17 4.2 ΠΡΟΕΤΟΙΜΑΣΙΑ ΑΕΡΟΣΚΑΦΟΥΣ...17 4.3 ΣΧΕΔΙΑΣΗ ΛΟΓΙΣΜΙΚΟΥ... 18 ΚΕΦΑΛΑΙΟ V. Ενιαιοποίηση και έλεγχος του συστήματος...22 5.1 ΟΛΟΚΛΗΡΩΣΗ ΥΠΟΣΥΣΤΗΜΑΤΩΝ (Hardware)...22 5.2 ΕΝΙΑΙΟΠΟΙΗΣΗ ΚΩΔΙΚΑ...22 5.2.1 Ενιαιοποιήση κώδικα και Hardware Αεροσκάφους...22 5.2.2 Ενιαιοποιήση κώδικα και Hardware Γαντιού...23 5.3 Έλεγχος Κώδικα και Υποσυστημάτων...25 ΚΕΦΑΛΑΙΟ VI. Αποτελέσματα-Προτάσεις για περεταίρω εργασίες στο σύστημα...32 6.1 ΑΠΟΤΕΛΕΣΜΑΤΑ... 32 ΠΑΡΑΡΤΗΜΑ Ι. ΛΟΓΙΣΜΙΚΟ...33 Δίπλωμα θέσης Receive...33 Δίπλωμα θέσης Tranceive...39 ΠΑΡΑΡΤΗΜΑ ΙΙ...48 3

Βιβλιογραφία:... 52 4

ΚΕΦΑΛΑΙΟ Ι. 1.1 ΕΙΣΑΓΩΓΗ Ξεκινώντας πρώτα από όλα θα πρέπει να γίνει μια εισήγηση σχετικά με το τι είναι ένα RC(radio-controlled) aircraft και με το τι θα ασχοληθεί η παρακάτω έρευνα. Το RC aircraft λοιπόν είναι ένα μικρό τηλεκατευθυνόμενο αεροσκάφος το οποίο χειρίζεται ένας χρήστης απομακρυσμένα κρατώντας έναν μηχανισμό χειρισμού συνήθως κάποιο τηλεχειριστήριο. Αυτό το τηλεχειριστήριο επικοινωνεί με το αεροσκάφος ασύρματα και στέλνει κάποια σήματα σε ενσωματωμένους κινητήρες Servo οι οποίοι ελέγχουν την κίνηση του αεροσκάφους στους αξίωνες x,y,z. Τα RC aircrafts αρχικά κατασκευάστηκαν ως χόμπι και υστέρα χρησιμοποιήθηκαν από κυβερνήσεις για στρατιωτικές υπηρεσίες για να μαζεύουν πληροφορίες για τον καιρού, για να μελετηθεί αρχικά η αεροδυναμική και ο σχεδιασμός πραγματικών αεροσκαφών. Πολύ αργότερα αρχίσαν να χρησιμοποιούνται και ως κατασκοπικά αεροσκάφη. Στην έρευνα αυτήν θα παρουσιαστή μια νέα μέθοδος τηλεχειρισμού πέρα του κλασικού τηλεχειριστήριου και θα γίνει και μια νέα μέθοδος ασύρματης επικοινωνίας και ελέγχου κίνησής ενός αεροσκάφους. Αρχικά σε αυτήν την πτυχιακή εργασία θα εξηγηθεί ο τρόπος και η μέθοδος με την οποία έγινε δυνατόν να επικοινωνούν δύο ενσωματωμένα συστήματα. Θα γίνει αναφορά για το πώς ξεκίνησε ο σκοπός αυτής της εργασίας σε θεωρητικά πλαίσια και το πώς έγινε η ανάλυση και η επεξεργασία των πληροφοριών ώστε να προκύψει και να υλοποιηθεί αυτή η ερευνά - πτυχιακή εργασία. Η έρευνα αυτή έχει ως αποτέλεσμα να παρουσιάσει την δυνατότητα ενός νέου τρόπου τηλεχειρισμού σε ένα μοντέλο αεροπλάνου απομακρυσμένα. Χρησιμοποιήθηκαν δυο μικροελεγκτές Arduino και κάποια περιφερειακά κυκλώματα και υποσυστήματα ώστε να υλοποιηθεί η ασύρματη επικοινωνία και ο έλεγχος λειτουργίας όλων των υποσυστημάτων. Για να μπορέσουν να λειτουργήσουν τα υποσυστήματα με ομαλότητα, ασφάλεια, ακρίβεια, και ταυτόχρονα σε πραγματικό χρόνο χρειάστηκε να υλοποιηθεί ο κατάλληλος κώδικας. Οι σχεδίαση και υλοποίηση του κώδικα έγινε σε παράλληλα στάδια δηλαδή καθώς γινόταν ο έλεγχος του κώδικα γινόταν και η σύνδεση αυτού στο αντίστοιχο κομμάτι υποσυστήματος ξεχωριστά. Σταδιακά και εφόσον οι κώδικες για το κάθε υποσύστημα λειτουργούσαν βάση των απαιτήσεων που τέθηκαν έγινε η ενιαιοποίηση αυτών σε ένα ολοκληρωμένο κώδικα που πληρούσε όλες τις απαιτήσεις. Εφόσον ολοκληρώθηκε η ενιαιποιήσει του κώδικα άρχισε ο έλεγχος αυτού, καθώς δεν έλειψαν και η διορθώσεις σε αυτόν όπως και στα υποσυστήματα. Τέλος, με την ολοκλήρωση της ερευνάς και υλοποιήσεις τον υποσυστημάτων και του κώδικα, έγιναν και κάποιες παρατηρήσεις για βελτίωση του συστήματος προγραμματίστηκα, κατασκευάστηκα, μηχανολογικά και εμφανισιακά. 5

1.2 ΑΕΡΟΠΛΑΝΟ Πριν αρχίσει η υλοποίηση αυτής της ερευνάς έγιναν μελέτες για την μηχανολογική κατασκευή του αεροπλάνου και το ποσό λειτουργική και αποδοτική είναι. Αρχικά έγιναν αρκετές κατασκευές μέχρι να οριστικοποιηθεί η κατάλληλη. Χρειάστηκαν να γίνουν μελέτες σε τομέα μηχανολογίας για την κατασκευή του αεροπλάνου και σε τομέα φυσικής για την σωστή σχεδίαση του αεροπλάνου αεροδυναμικά ώστε να γίνεται σωστή και ομαλή η κίνηση του αεροπλάνου. Για να ξεκινήσει η αναπτύξει του κώδικα έπρεπε να ολοκληρωθεί το ηλεκτρονικό κομμάτι και έπρεπε να γίνουν όλα τα κυκλώματα τα οποία θα ήταν αναγκαία στην κατάλληλη λειτουργία. Έμφασή δόθηκε αρχικά στην επιλογή μικροελεγκτή, στον τρόπο επικοινωνίας, στον κινητήρα, αλλά και στον τρόπο τροφοδοσίας του υποσυστήματος. 1.3 ΓΑΝΤΙ Το γάντι ουσιαστικά ήταν το όργανο με τον οποίο θα χειριζόμαστε όλο το αεροπλάνο. Σε αυτό έγινε ενσωμάτωση ενός υποσυστήματος επικοινωνίας με το αεροπλάνο και ενός υποσυστήματος διαχείρισης του αεροπλάνου. Η κατασκευή αυτή έγινε με σκοπό να αναδειχθεί μια νέα μέθοδος ασυρμάτου τηλεχειρισμού. 1.4 ΚΩΔΙΚΑΣ Ξεκινώντας την ανάπτυξη του κώδικα έγιναν πάρα πολλές αναφορές σε βιβλία και ιστοσελίδες με πηγές οι οποίες ήταν πολύ χρήσιμες για την παραμετροποίηση των υποσυστημάτων του αεροπλάνου ώστε να λειτουργούν ορθά και με ακρίβεια. Η διαδικασία ελέγχου του κώδικα έγινε με βάση τις απαιτήσεις ο οποίος θα έπρεπε να τις πλήρη όλες ώστε η έρευνα να θεωρηθεί επιτυχείς. 1.5 ΑΕΡΟΔΥΝΑΜΙΚΗ Ο επιστημονικός κλάδος αυτός έχει ως αντικείμενο έρευνας και μελέτης τους νόμους που διέπουν τη ροή του αέρα γύρω από διάφορα σώματα που έχουν ειδική μορφή με περιορισμένη τη μία από τις τρεις διαστάσεις τους κατά κατεύθυνση κίνησης, καθώς και τη κίνηση αυτών μέσα στον αέρα. 6

1.6 ΜΗΧΑΝΟΛΟΓΙΚΑ Εξίσου σημαντικός είναι και ο μηχανολογικός σρεδιασμός των φτερών του αεροπλάνου ώστε να γίνετε η σωστή κίνηση στην ανύψωση και στην μείωση του ύψους του αεροπλάνου. Ο έλεγχος κίνησης θα γίνει από τα πίσω φτερά του αεροπλάνου στους άξονες x και y. 1.7 ΜΙΚΡΟΕΛΕΓΚΤΗΣ Σε αυτήν την έρευνα χρησιμοποιήθηκε ο μικροελεγκτής Arduino. Το Arduino είναι ένας single-board μικροελεκτής, δηλαδή μια απλή μητρική πλακέτα ανοικτού κώδικα, με ενσωματωμένο μικροελεγκτή και εισόδους/εξόδους, και η οποία μπορεί να προγραμματιστεί με τη γλώσσα Wiring (ουσιαστικά πρόκειται για τη γλώσσα προγραμματισμού C++ και ένα σύνολο από βιβλιοθήκες, υλοποιημένες επίσης στην C++ ). Το Arduino μπορεί να χρησιμοποιηθεί για την ανάπτυξη ανεξάρτητων δια δραστικών αντικειμένων αλλά και να συνδεθεί με υπολογιστή μέσω προγραμμάτων σε Processing, Max/MSP, Pure Data, Supercollider. 7

ΚΕΦΑΛΑΙΟ ΙΙ. Θεωρητική Εισαγωγή 2.1 ΣΚΟΠΟΣ Σκοπός της πτυχιακής αυτής είναι να παρουσιαστεί μια νέα μέθοδος τηλεχειρισμού ενός αεροσκάφους. Στο συγκεκριμένο Project (έργο) προς υλοποίηση είναι η δημιουργία ενός ενσωματωμένου συστήματος τηλεχειριζόμενου αεροπλάνου μέσω ενός γαντιού. Βασικοί στόχοι του συστήματος είναι η ακρίβεια και ο έλεγχος κίνησης του αεροπλάνου. Στο έργο αυτό θα παρουσιάζεται το πως είναι δυνατόν να επικοινωνούν δυο ενσωματωμένα συστήματα μεταξύ τους δηλαδή η επικοινωνία του γαντιού με το αεροπλάνο. Βασικές λειτουργίες της θα είναι η προσομοίωση κινήσεων (δεξιά, αριστερά, πάνω, κάτω) ενός αεροπλάνου οι οποίες θα γίνονται υπό τις οδηγίες του χρήστη που φοράει το γάντι. Η επικοινωνία γαντιού και αεροπλάνου θα γίνεται ασύρματα σε πραγματικό χρόνο. 2.2 ΥΠΟΣΥΣΤΗΜΑΤΑ Για την κατασκευή του αεροπλάνου χρησιμοποιήθηκε σκληρό μακετόχαρτο ώστε να απεικονιστεί ένα μοντέλο αεροπλάνου. Χρησιμοποιήθηκε ένα Brushless Motor το οποίο ήταν η βασική πηγή της ώθησης του αεροπλάνου, και δυο Servo Motors τα οποία βάση της επικοινωνίας θα ελέγχουν της κίνησης των πίσω φτερών του αεροπλάνου Το μοντέλο αυτό πρέπει να πληροί όλες της προϋποθέσεις αεροδυναμικής. Τα πρώτα στάδια ήταν η τοποθέτηση του κινητήρα ώστε να είναι ασφαλείς η χρήση του αεροπλάνου. Στο επόμενο στάδιο τοποθετήθηκαν οι Servo κινητήρες σε σημεία που θα μπορούν με ευκολία να μπορούν να μετακινούν τα πίσω φτερά ώστε να ελέγχετε η κίνηση του αεροπλάνου.. 8

Για να επιτευχθεί η ασύρματη επικοινωνία και ο έλεγχος του αεροπλάνου χρησιμοποιήθηκε αρχικά ένας αισθητήρας XBEE για επικοινωνία και ένας αισθητήρας GYRO για τον έλεγχο κίνησής του αεροπλάνου. Σημαντικό είναι ότι και τα δυο συστήματα είναι εξ ολοκλήρου αυτοσχέδιες κατασκευές συγκεκριμένα για την έρευνα και την παρουσίαση αυτής της πτυχιακής. 2.3 ΑΠΑΙΤΗΣΕΙΣ ΛΕΙΤΟΥΡΓΙΩΝ Οι βασικές λειτουργίες του μοντέλου αυτού είναι να κάνει με μεγάλη ακρίβεια και ομαλότητα κάθε κίνηση που μπορεί να κάνει ένα αεροπλάνο επιπλέων και τον έλεγχο ταχύτητας αυτού δηλαδή αναλυτικά: i. Με ανύψωση του χεριού το αεροπλάνο θα ανεβάζει υψόμετρο. ii. Με κατέβασμα του χεριού το αεροπλάνο θα κατεβάζει υψόμετρο. iii. Μετακινώντας το χέρι αριστερά το αεροπλάνο θα στρίβει αριστερά. iv. Αντίστοιχα μετακινώντας το χέρι δεξιά το αεροπλάνο πηγαίνει δεξιά. V. Με τα δάχτυλα θα ελέγχουμε την ταχύτητα του αεροπλάνου. Οι παραπάνω απαιτήσεις είναι δυνατόν να υλοποιηθούν αλλά υπάρχουν και κάποιες μη λειτουργικές απαιτήσεις οι οποίες θα πρέπει όσο είναι δυνατόν να υλοποιηθούν ως ένα βαθμό για καλύτερη αποδώσει της ερευνάς αυτής: i. Το σύστημα πρέπει να είναι 100% αξιόπιστο στην λειτουργία του. ii. Η επικοινωνία να είναι μεγάλης απόστασης. iii. Οι κινήσεις να είναι μεγάλης ακρίβειας. Σε οποιαδήποτε περίπτωση βλάβης του αεροπλάνου και του γαντιού να είναι ευδιάκριτες, σαφείς, άμεσες και εμφανώς διαχωρισμένες ώστε να μπορεί ο ελεγκτής του συστήματος να επέμβει άμεσα στην διόρθωση οποιουδήποτε τεχνικού ή κάποιας άλλης βλάβης. 9

Η όλη κατασκευή πρέπει να γίνει με αξιόπιστα και μεγάλης αντοχής υλικά ώστε να μπορέσουν να ανταπεξέλθουν στις ανάγκες του συστήματος χωρίς να διαβρωθούν και να λαμβάνουν συνεχή συντήρηση. Στην συγκεκριμένη περίπτωση τυχαίνει να μην είναι όλα τα υλικά μεγάλης αντοχής διότι δεν θα υπήρχε και η δυνατότητα επίδειξης δυνατότητων αυτής της έρευνας. 2.4 ΣΧΕΔΙΟ ΑΕΡΟΣΚΑΦΟΥΣ Το αρχιτεκτονικό σχέδιο του αεροσκάφους έγινε βάση κάποιον πηγών αεροδυναμικής ώστε να είναι σωστή η κίνηση και η λειτουργία ελέγχου των φτερών. Αρχικά σχεδιαστικέ το σχήμα του αεροσκάφους για να είναι αεροδυναμικό και ύστερα σχεδιαστήκαν τα φτερά ώστε να έχουν τον καταλληλότερο έλεγχο του αεροσκάφους. Για την κατασκευή του αεροσκάφους χρησιμοποιήθηκε μακετόχαρτο το οποίο σαν υλικό ήταν ελαφρύ και αρκετά οικονομικό. 10

2.5 ΜΗΧΑΝΟΛΟΓΙΚΗ ΣΧΕΔΙΑΣΗ Στο σημείο αυτό έγινε η πρόσθεση των κινητήρων Servo και του Brushless κινητήρα. Οη Servo κινητήρες τοποθετήθηκαν σε σημεία στα οποία είναι δυνατόν να μπορούν να μετακινούν τα φτερά στην ουρά του αεροσκάφους ώστε να αλλάζει η κίνηση του. Ο Brushless κινητήρας τοποθετήθηκε στην μπροστινή πλευρά του αεροσκάφους για μεγαλύτερη ευρρηστία διότι αυτός ουσιαστικά θα κινεί το αεροσκάφος βάση σχεδίων αλλά όπως αναφέρθηκε παραπάνω αυτό είναι μοντέλο αεροσκάφους. 11

2.6 ΧΡΟΝΟΔΙΑΓΡΑΜΜΑ Βάση της μελέτης που έγινε σχετικά με το θέμα της συγκεκριμένης πτυχιακής είναι το ότι έγιναν πολλές αναφορές σε θέματα τα οποία δεν είχαν να κάνουν με γνώσεις πληροφορικής μόνο αλλά και φυσικής και σχεδίου, οπότε αυτό είναι λογικό ότι καθυστέρησε την ολοκλήρωση αυτής της έρευνας. Αρχικά καλύφθηκε πολύς χρόνος στις θεωρίες αεροδυναμικής για να σχεδιαστεί καταλληλά το αεροσκάφος και να γίνει σωστή κατανομή βάρους. Το μοντέλο που τελικά σχεδιαστικέ ως το αντικείμενο αυτού του project σχεδιαστικέ επίσης σε ορισμένο χρονικό διάστημα με αυτόν τον τρόπο έτσι ώστε να γίνουν κατάλληλες εργασίες δηλαδή να γίνει σωστή τοποθέτηση των κινητήρων και τον κυκλωμάτων σε σημεία που να μην διαβρωθούν. Τέλος ο υπόλοιπος χρόνος διαμοιράστηκε με τρόπο τον οποίο να γίνει σωστά η αναπτύξει κώδικα και εννιαιοποίηση αυτού ώστε να γίνουν η τελικές ρύθμισης και τελικά να ολοκληρωθεί η έρευνα αυτή. Σε αυτό το πλαίσιο θα γίνει η αρχική εκτίμηση χρόνου που πρέπει να διαχειριστή ώστε το project ή ερευνά να έχει ολοκληρωθεί. Το χρονοδιάγραμμα που θα ακολουθηθεί είναι το εξής: Διάγραμμα Gantt: Τ^Αί;^ίΐρί(όμί^ο α ε ρ ο π λ ά ν ο 5lnrt Προ Φάςη - Φάση 0 18/3/2014 Φάση 0 - Απαιτήσεΐζ 26/5/2014 Φάση 2 - Προδιαγραφέζ Σχεδίαση 1/7/2014 Φάση 3 - Υλοποίηση 5/8/2014 Διάγραμμα Pert: Σε αυτά τα πλαίσια βάση σχεδίων που τέθηκε θεωρείται ότι η έρευνα αυτή ενδέχεται να ολοκληρωθεί. Όλα τα στάδια επεξεργασίας πληροφοριών ανάπτυξης, υλοποίησης, εννιαιοποίησης, και ο έλεγχος του έργου θα πρέπει να ολοκληρωθούν βάση αυτών τον διαγραμμάτων. Η σωστή διαχείριση του χρόνου θα είναι και ο σωστός οδηγός καλυτέρου αποτελέσματος της ερευνάς αυτής. 12

ΚΕΦΑΛΑΙΟ ΙΙΙ. Ηλεκτρονική Σχεδίαση του Συστήματος 3.1 ΠΕΡΙΓΡΑΦΗ ΗΛΕΚΤΟΝΙΚΩΝ Σε αυτό το πλαίσιο θα γίνει περιγραφή των χαρακτηριστικών των ηλεκτρονικών και περιφερικών που χρησιμοποιήθηκαν ώστε να υλοποιηθεί και να ολοκληρωθεί το project. i) Χρησιμοποιήθηκαν αρχικά δυο μικροελεγκτές Arduino οι οποίοι τοποθετήθηκαν ένας στο γάντι και ένας στο αεροσκάφος. Όπως αναφέρθηκε στην εισαγωγή ο Arduino είναι ένας single-board μικροελεκτής, δηλαδή μια απλή μητρική πλακέτα ανοικτού κώδικα, με ενσωματωμένο μικροελεγκτή και εισόδους/εξόδους, και η οποία μπορεί να προγραμματιστεί. Παρακάτω θα παρουσιαστούν τα χαρακτηριστικά ενός Arduino. Μικροελεγκτής Atmega328 Τάση λειτουργίας 5V Τάση εισόδου(συνιστάται) 7-12V Τάση εισόδου(οριακά) 6-20V Ψηφιακές Είσοδοι/Εξοδοι Pins 14 Αναλογικές Είσοδοι Pins 6 DC Ρεύμα ανά Είσοδο/Εξοδο Pin 40mA DC Ρεύμα για 3.3 V Pin 50mA Clock Speed 16MHz ii) Η επικοινωνία των δυο υποσυστημάτων έγινε με το σύστημα επικοινωνίας XBee. Τα XBee έχουν εμβέλεια ως και 300 μετρά σε κλειστούς χώρους λόγο παρεμβολών και ως 2 χιλιόμετρα σε εξωτερικούς ανοικτούς χώρους. iii) Η ταχύτητα του αεροπλάνου θα ελέγχετε από έναν Flex αισθητήρα οποίος όσο πιο πολύ λυγίζει τόσο θα μεγαλώνει και η ταχύτητα του κινητήρα θα αυξάνει. 13

iv) Οι Servo κινητήρες χρησιμοποιούνται σε τηλεκατευθυνόμενα μοντέλα αλλά και σε πολλές ρομποτικές εφαρμογές. Στην περίπτωση αυτής της έρευνας χρειάστηκαν δυο Servo κινητήρες συνεχούς ρεύματος ώστε να υπάρχει η δυνατότητα ελέγχου τον πίσω φτερών ως προς τον άξονα x και y. v) Χρησιμοποιήθηκε επίσης ένας Gyro LD3 οποίος κάνει τι λειτουργεία του γυροσκοπίου δηλαδή λειτουργεί σε τρεις διαστάσεις χ, y, z. Εδώ χρησιμοποιήσαμε μόνο δυο από της τρεις διάστασης και η εργασία του ήταν να ελέγχει τις κίνησης του αεροπλάνου στα πίσω φτερά στους άξονες x, y. vi) Επίσης για να καλυφθεί η τροφοδοσία του αεροσκάφους και του γαντιού χρειάστηκε να τοποθετηθούν τριών ειδών μπαταρίες. Αρχικά για την τροφοδοσία του κινητήρα χρειάστηκε μπαταριά 2000mah και μια των 1000mah σε περίπτωση χαμηλής μπαταρίας, και δυο μπαταρίες των 9V για την τροφοδοσία των Arduino ενός στο γάντι και ενός στο αεροσκάφος. 14

3.2 ΗΛΕΚΤΡΟΝΙΚΟ ΣΧΕΔΙΟ 3.2.1 Σχέδιο Αεροσκάφους Παρακάτω θα παρουσιαστή το ηλεκτρονικό σχέδιο και τα κυκλώματα των υποσυστημάτων ώστε να επιτευχθεί το αποτέλεσμα της ερευνάς αρχικά σχεδιάστηκε το κύκλωμα του αεροπλάνου στο οποίο τοποθετήθηκαν το Arduino, δυο Servo κινητήρες, ο brushless κινητήρας, η επικοινωνία XBee, μια LIPO μπαταριά,και τέλος μια μπαταρία των 9V για την τροφοδοσία του Arduino. Ακολουθεί το ηλεκτρονικό σχέδιο του υποσυστήματος του αεροσκάφους Receive : 15

3.2.2 Σχέδιο Γαντιού Εδώ θα γίνει το σχέδιο του γαντιού στο οποίο θα παρουσιαστούν όλα τα κυκλώματα του υποσυστήματος. Εδώ χρησιμοποιήθηκαν αρχικά ένας μικροελεγκτής Arduino, η ασύρματη επικοινωνία XBee, ένας αισθητήρας γυροσκοπίου Gyro LD3, και τέλος ένας αισθητήρας Flex για τον έλεγχο της ταχύτητας. Παρακάτω ακολουθεί το ηλεκτρονικό σχέδιο του γαντιού Tranceive : 16

ΚΕΦΑΛΑΙΟ IV. Λογισμική Σχεδίαση του Συστήματος 4.1 ΑΝΑΠΤΥΞΗ ΛΟΓΙΣΜΙΚΟΥ Η γλώσσα προγραμματισμού που χρησιμοποιήθηκε ήταν C++ λόγο του ότι υποστηρίζετε από τον μικροελεγκτή Arduino. Ο κώδικας που υλοποιήθηκε έγινε βάση τον απαιτήσεων που δόθηκαν. Πριν ξεκινήσει η ανάπτυξη του κώδικα έγινε προσεκτικά αναλυτική μελέτη του hardware. Η σχεδίαση του κώδικα έγινε σε πλαίσια στα οποία μπορούσε το hardware να υποστήριξη για να κάνει όλες της λειτουργίες που ζητήθηκαν. Αρχικά ο κώδικας ξεκινώντας προετοιμάζει τον κινητήρα ώστε να συνεχίσει η διαδικασία προετοιμασίας. Υστέρα προετοιμάζετε το πίσω κομμάτι τον Servo κινητήρων τα οποία έρχονται στην αρχική θέση λειτουργίας που θα ελέγχουν το υψόμετρο και τις στροφές του αεροσκάφους. Στην συνέχεια ενεργοποιείτε η ασύρματη επικοινωνία έτσι ώστε να ξεκινήσει η διαδικασία τηλεχειρισμού του αεροσκάφους. Μετά την διαδικασία προετοιμασίας έρχεται ο κύριος κορμός του κώδικα ο οποίος ουσιαστικά είναι ο τηλεχειρισμός του αεροσκάφους. Ο έλεγχος αυτός γίνεται από το γάντι το οποίο ουσιαστικά δίνει όλες τις εντολές για τον έλεγχο θέσεις του αεροσκάφους τον έλεγχο ταχύτητας του και στους Servo κινητήρες οι οποίοι κινούν τα πίσω φτερά του αεροσκάφους. Σε αυτό το κομμάτι ο έλεγχος γίνεται πολλαπλά δηλαδή το γάντι θα ελέγχει πρώτα από όλα την επικοινωνία, το υψόμετρο, τις στροφές του αεροσκάφους και παράλληλα την ταχύτητα του. 4.2 ΠΡΟΕΤΟΙΜΑΣΙΑ ΑΕΡΟΣΚΑΦΟΥΣ Για να ξεκινήσει η ορθή λειτουργεία του αεροσκάφους θα πρέπει πρώτα να προετοιμάσει την κατάσταση του στην αρχική θέση. Η αρχική θέση του αεροσκάφους θα γίνεται μόλις ενεργοποιηθεί το σύστημα. Η διαδικασία που θα ακολουθήσει είναι: 1) Να προετοιμάσει τον κινητήριο κινητήρα ώστε να είναι έτοιμος να ξεκινήσει. 2) Να προετοιμάσει τους Servo κινητήρες που βρίσκονται στο πίσω μέρος του αεροσκάφους και να τους φέρει στην αρχική κατάσταση στην οποία ορίστηκε. Τέλος εφόσον ολοκληρωθεί η διαδικασία να περιμένει από τον χρήστη να ενεργοποιηθεί η επικοινωνία μεταξύ γαντιού και αεροσκάφους. Η προετοιμασία θα γίνεται έως εξής: 17

4.3 ΣΧΕΔΙΑΣΗ ΛΟΓΙΣΜΙΚΟΥ Στο γάντι όπως και το αεροσκάφος ειπώθηκε παραπάνω θα τρέχουν πολλά κομμάτια κώδικα, παρακάτω θα γίνει η ανάλυση και η σχεδίαση του κώδικα ανά κάθε λειτουργία που θα εκτελούν. i) Αρχική λειτουργεία του γαντιού είναι να ξεκινήσει την επικοινωνία του με το αεροσκάφος από την ασύρματη επικοινωνία το οποίο λειτουργεί όπως το παρακάτω διάγραμμα ροής: ii) Μετά από την ανίχνευση γίνεται αρχικοποίηση τον κινητήρων του αεροσκάφους. Ακολουθούν οι διαδικασίες ελέγχου στον άξονα x για τις στροφές του αεροσκάφους οι οποίες μπορεί να είναι αριστερά, μέση και δεξιά : 18

iii) Παράλληλα λειτουργούν και οι έλεγχοι του Servo κινητήρα που ελέγχει τον άξονα y δηλαδή το υψόμετρο του αεροπλάνου. Οι ελέγχει που γίνονται είναι πάνω, μέση και κάτω : iv) Στην συνέχεια έρχεται ο έλεγχος της ταχύτητας κινητήρα του αεροσκάφους ο οποίος είναι ρυθμισμένος ώστε να δέχεται δυο στάδια ταχύτητας και όχι μόνο. Για συνθήκη 1 ο κινητήρας θα ξεκινάει και για 0 θα σταματάει. Το διάγραμμά ροής της ταχύτητας είναι : 19

v) Ακολουθεί ο έλεγχος θέσης γυροσκοπίου ο οποίος ουσιαστικά ελέγχει την θέση του γαντιού στους χ, y άξονες. Ο παρακάτω έλεγχος γίνεται για να καταλαβαίνει το γυροσκόπιο σε ποια θέση βρίσκεται το χέρι του χρήστη και βάση αυτού να δίνει την εντολή στο αεροπλάνο για να κάνει την αντίστοιχη κίνηση. Ο έλεγχος που γίνετε φαίνεται από το παρακάτω διάγραμμα : 20

21

ΚΕΦΑΛΑΙΟ V. Ενιαίοποίηση και έλεγχος του συστήματος 5.1 ΟΛΟΚΛΗΡΩΣΗ ΥΠΟΣΥΣΤΗΜΑΤΩΝ (Hardware) Σε αυτό το πλαίσιο θα γίνει η συναρμολόγηση ή αλλιώς τακτοποίηση των υποσυστημάτων που θα τοποθετηθούν όλα τα κυκλώματα και τα καλώδια σε πλαίσια τα οποία θα τα προστατέψουν από την διάβρωση τους. Πρέπει να τονιστεί ότι τα κυκλώματα τα οποία υπήρχαν στο γάντι τοποθετήθηκαν σε ένα πάνελ για προστασία αυτών. Τα κυκλώματα τα οποία έγιναν για το αεροπλάνο τοποθετήθηκαν εντός του αεροπλάνου. Ο κυρίως κινητήρας στερεοποιήθηκε στο μπροστινό μέρος του αεροσκάφους, οι Servo κινητήρες για λόγους κυρίως εύκολης διαχείρισης τους τοποθετήθηκαν στα πλευρά του αεροσκάφους και συνδέθηκαν στα πίσω φτερά με Σύρμα για να είναι ακριβείς ο χειρισμός των φτερών. Ο αισθητήρας επικοινωνίας XBee τοποθετήθηκε στο πίσω μέρος του αεροσκάφους και στο γάντι τοποθετήθηκε μέσα στο πάνελ. Ο Gyro αισθητήρας ενσωματώθηκε πάνω στο γάντι ώστε να ελέγχει την ακριβείς θέση του χεριού και αντίστοιχα μέσω των XBee να δίνει κίνηση στα φτερά του αεροσκάφους. Ο Flex αισθητήρας ενσωματώθηκε και αυτός στο γάντι και συγκεκριμένα στο δείκτη του χεριού ώστε ανάλογος το ποσό κάμπτετε το δάκτυλο τόσο περισσότεροι ταχύτητα να δίνει στον κινητήρα. 5.2 ΕΝΙΑΙΟΠΟΙΗΣΗ ΚΩΔΙΚΑ 5.2.1 Ενιαιοποιήση κώδικα και Hardware Αεροσκάφους Από την στιγμή που ολοκληρωθήκαν όλα τα κομμάτια του κώδικα ξεκίνησε η συνένωση αυτόν σε ένα ενιαίο κώδικα. Ουσιαστικά τα διαγράμματα ροής ενώθηκαν και έτσι ξεκίνησαν οι έλεγχοι των υποσυστημάτων. Αρχικά θα δοθούν τα 2 διαγράμματα ροής τον υποσυστημάτων. Arduino Δίπλωμα θέσης Receive: 22

To παραπάνω διάγραμμα ροής συνενώθηκε με το κύκλωμα διπλώματος Receive δηλαδή το συγκεκριμένο πρόγραμμα φορτώθηκε στον Arduino ο οποίος βρίσκεται στο αεροπλάνο. Ουσιαστικά ο συγκεκριμένος αλγόριθμος σε σχέση με το κύκλωμα Receive το οποίο σχεδιάστηκε στο κεφάλαιο 3.2.1 θα κάνουν όλες τις λειτουργείες κινητήρων κίνησης των φτερών και του κινητήρα εκκίνησης καθώς επίσης και την λειτουργία επικοινωνίας με το γάντι. 5.2.2 Ενιαιοποίήση κώδικα και Hardware Γαντιού Σε αυτό το κομμάτι θα γίνει συνένωση των διαγραμμάτων ροής για το δίπλωμα θέσεις Tranceive ή αλλιώς για το γάντι: 23

To παραπάνω διάγραμμα ροής φαίνεται ο τρόπος με τον οποίο ελέγχεται το αεροσκάφος από το γάντι. Η διαδικασία που ακολουθείτε είναι αρχικά γίνεται έλεγχος από τον αισθητήρα γυροσκοπίου το οποίο ελέγχει την θέση του γαντιού στους άξονες χ, y. Αυτό με την σειρά του δίνει μέσω της επικοινωνίας XBee εντολές στους κινητήρες Servo ώστε να ελέγχετε με το γάντι το αεροσκάφος. Με τον ίδιο τρόπο-διαδικασία γίνεται και ο έλεγχος της ταχύτητας του αεροσκάφους άλλα με το 24

Flex sensor το οποίο έχει ρυθμιστή να δίνει ταχύτητα δυο επιπέδων στον brushless κινητήρα. Το παραπάνω διάγραμμα ροής συνενώθηκε με το κύκλωμα του υποσυστήματος του γαντιού το οποίο αναπαριστάτε στην παράγραφο 3.2.2. 5.3 Έλεγχος Κώδικα και Υποσυστημάτων Ο έλεγχος κώδικα και υποσυστημάτων έγινε εφόσον ολοκληρώθηκαν οι μεταξύ τους συνένωσης. i) Πρώτα έγιναν οι έλεγχοι του κώδικα και τον υποσυστημάτων του γαντιού. Η διαδικασία με την οποία έγιναν ήταν πρώτα αν λειτουργεί η επικοινωνία αυτό έγινε με την κονσόλα της ανάπτυξης κώδικα στον Arduino οπού αρχικοποιήθηκε μια τιμή και με την ενεργοποίηση και των δυο XBee ώστε να πάρουμε τιμές στην οθόνη οι οποίες θα επιβεβαίωναν την ορθή λειτουργία τους. Η επικοινωνία έγινε με το παρακάτω κομμάτι κώδικα : void writeregister(int deviceaddress, byte address, byte val) { Wire.beginTransmission(deviceAddress); // start transmission to device Wire.write(address); // send register address Wire.write(val); // send value to write Wire.endTransmission(); // end transmission int readregister(int deviceaddress, byte address){ int v; Wire.beginTransmission(deviceAddress); Wire.write(address); // register to read Wire.endTransmission(); Wire.requestFrom(deviceAddress, 1); // read a byte while(!wire.availableo) { v = Wire.read(); return v; ii) Εφόσον ολοκληρώθηκε και επιβεβαιώθηκε η λειτουργία της επικοινωνίας με τον ίδιο ακριβώς τρόπο εκλέχθηκε και ο κώδικας του αισθητήρα Gyro : 25

void getgyrovalues(){ byte xmsb = readregister(l3g4200d_address, 0x29); byte xlsb = readregister(l3g4200d_address, 0x28); x = ((xmsb << 8) xlsb); byte ymsb = readregister(l3g4200d_address, 0x2B); byte ylsb = readregister(l3g4200d_address, 0x2A); y = ((ymsb << 8) ylsb); byte zmsb = readregister(l3g4200d_address, 0x2D); byte zlsb = readregister(l3g4200d_address, 0x2C); z = ((zmsb << 8) zlsb); int setupl3g4200d(int scale){ //From Jim Lindblom of Sparkfun's code // Enable x, y, z and turn off power down: writeregister(l3g4200d_address, CTRL_REG1, 0b00001m); // If you'd like to adjust/use the HPF, you can edit the line below to configure CTRL_REG2: writeregister(l3g4200d_address, CTRL_REG2, 0b00000000); // Configure CTRL_REG3 to generate data ready interrupt on INT2 // No interrupts used on INT1, if you'd like to configure INT1 // or INT2 otherwise, consult the datasheet: writeregister(l3g4200d_address, CTRL_REG3, 0b00001000); // CTRL_REG4 controls the full-scale range, among other things: if(scale == 250){ writeregister(l3g4200d_address, CTRL_REG4, 0b00000000); else if(scale == 500){ writeregister(l3g4200d_address, CTRL_REG4, 0b00010000); else{ writeregister(l3g4200d_address, CTRL_REG4, 0b00110000); // CTRL_REG5 controls high-pass filtering of outputs, use it 26

// if you'd like: writeregister(l3g4200d_address, CTRL_REG5, GbGGGGGGGG); iii) Ο έλεγχος του αισθητήρα flex εγινε δινωντα μια αρχική τιμή για παραδειγμα 1 για σε περίπτωσει ενεργοποιησης του και 0 για αδρανια αυτό ο κώδικας με τον οποίο εγινε το τεστ είναι : void getmotorspeed(){ Serial.print(" speed: "); // Serial.println(analogRead(speedsens)); int x=map(analogread(speedsens),230,120,45,175); constrain(x,45,175); Serial.println(x); iv) Μετά από αυτά έγινε ο έλεγχος θέσεις του γαντιού θέτοντας ως τον άξονα x για παράδειγμα L για αριστερά, R για δεξιά και M μέση ο κώδικα με τον οποίο δοκιμάστηκε αυτό είναι ο εξής: if(x<-senslr){//an paei aristera switch(statelr){ case M: statelr=l; case R: statelr=m; case L: statelr=l; else if(x>senslr){//an [aei deksia switch(statelr){ case M: 27

statelr=r; case L: statelr=m; case R: statelr=r; //else if(x>senslr){ v) Αντίστοιχα για την θέση στον άξονα y έγινε με την εξής σειρά U για πάνω D για κάτω και Mid για μέση δηλαδή: if(y<-sensud){//an paei panw switch(stateud){ case Mid: stateud=u; case U: stateud=u; case D: stateud=mid; // if(y<-sensud){ else if(y > sensud){//an aei katw switch(stateud){ case U: stateud=mid; 28

case Mid: stateud=d; case D: stateud=d; vi) Ο κώδικας ο οποίος ενσωματώθηκε στο Arduino του αεροσκάφους αρχικά ελέγχθηκε η επικοινωνία του με το γάντι δίνοντας κάποιες κίνησης στο γάντι και περιμένοντας για κάποια αντίδραση του αεροπλάνου με τον εξής κώδικα : void loop(){ XbeeRecieve(); delay(1); //loop void XbeeRecieve(){ if(xbee.available()>1){ inbyte=xbee.read(); delay(1); switch(inbyte){ case '2'://an einai gia LR lr=xbee.read(); switch(lr){ case 'R': LRright(); case 'M': LRmiddle(); case 'L': 29

LRleft(); default: //telos gia inbyte LR=2 case '3'://an inbyte UD=3 ud=xbee.read(); switch(ud){ case 'u': UDup(); case 'm': UDmiddle(); case 'd': UDdown(); default: //telos gia inbyte UD=3 case '4'://an sync byte gia motor motor=xbee.read(); Serial.println(motor); constrain(motor,4g,18g); esc.write((int)motor); //telos motor default: 3G

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

ΚΕΦΑΛΑΙΟ VI. Αποτελέσματα-Προτάσεις για περεταίρω εργασίες ςτο σύστημα. 6.1 ΑΠΟΤΕΛΕΣΜΑΤΑ Τα αποτελέσματα της έρευνας που υλοποιήθηκε είναι θετικά από άποψη λειτουργίας των δυο υποσυστημάτων σε συνεργασία με τον κώδικα που αναπτύχθηκε. Μετά τους ελέγχους που διεξάχθηκαν επιβεβαιωθήκαν όλες οι λειτουργίες ορθά. Οι απαιτήσεις οι οποίες είχαν οριστεί παρουσιάστηκαν ορθά από τα υποσυστήματα. Αναλυτικότερα η λειτουργίες του αεροσκάφους ήταν οι εξής : i) Έλεγχος αεροσκάφους, δηλαδή με βάση την ασύρματη επικοινωνία έτσι ώστε να γίνεται έλεγχος αεροσκάφους με το γάντι στις κινήσεις των φτερών του. Ολοκληρώθηκε και λειτούργησε η κίνηση στον άξονα x και στον άξονα y στα αντίστοιχα Servo motors συνοπτικότερα έγιναν ορθά οι κινήσεις δεξιά, αριστερά, πάνω και κάτω. Οι λειτουργίες αυτές πέρασαν όλους τους ελέγχους επιτυχώς με σωστή ανταπόκριση αεροσκάφους στις εντολές του γαντιού. ii) Έγινε επιτυχείς ολοκλήρωση λειτουργίας του brushless κινητήρα σε δυο επίπεδα ταχυτήτων. Ουσιαστικά βάση των ερεθισμάτων που δεχόταν ο flex sensor από τον δείκτη του γαντιού σε δυο επίπεδα ανταποκρινόταν αντίστοιχα και ο κινητήρας σε δυο επίπεδα ταχύτητας. iii) Η επικοινωνία αεροσκάφους γαντιού δοκιμάστηκε επιτυχώς από μεγάλη απόσταση και οι κινήσεις οι οποίες δεχόταν αυτό ήταν μεγάλης ακρίβειας. 6.2 ΠΡΟΤΑΣΕΙΣ ΓΙΑ ΠΕΡΑΙΤΕΡΩ ΒΕΛΤΙΩΣΕΙΣ ΚΑΙ ΛΕΙΤΟΥΡΓΙΕΣ Αρχικά θα έπρεπε να τονιστεί - θεωρηθεί ότι το αποτέλεσμα αυτής της έρευνας ότι ήταν επιτύχεις. Οι περισσότερες προτάσεις για βελτιώσεις του συστήματος είναι αρκετές και διαφορετικής προσεγγίσεις: Σαν πρώτη πρόταση - λειτουργία θα ήταν να γίνει αυτό το μοντέλο - υποσύστημα να μπορέσει να χρησιμοποιηθεί για πτήση. Αρχικά αυτό η ερευνά είχε απλά σκοπό να μελετηθεί μια νέα μέθοδος τηλεχειρισμού του αεροσκάφους. Εφόσον θεωρήθηκε επιτυχείς μπορούν να γίνουν κατάλληλες τροποποίησης για το ενδεχόμενο πτήσης του αεροσκάφους αναλυτικότερα: i) Ως πρώτη ενδεχομένη ρύθμιση θα προτεινόταν να γίνει η χρήση ενός ποιο αξιόπιστου - ακριβού brushless κινητήρα αυτό θα βοηθούσε στην ισχύ ώστε με μια μικρή ώθηση να γίνει πτήση του αεροσκάφους. ii) Για μεγαλύτερη ασφάλεια και ανθεκτικότητα θα μπορούσε να γίνει αντικατάσταση της κατασκευής του μοντέλου του αεροσκάφους από μακετόχαρτο σε πλεξιγκλάς. iii) Θα μπορούσε να γίνει επέκταση επίπεδων ταχύτητας από δυο σε περισσότερες. Με αυτόν τον τρόπο θα μπορούσε να γίνει πιο ελέγξιμη η ταχύτητα αεροσκάφους. 32

ΠΑΡΑΡΤΗΜΑ Ι. ΛΟΓΙΣΜΙΚΟ Δίπλωμα θέσης Receive #include <Servo.h> #include <S oftware S erial. h> SoftwareSerial xbee(8,9); Servo esc; Servo LR,UD; byte lr,ud,motor,inbyte; void setup(){ Serial.begin(9600); xbee.begin(9600); esc.attach(3); arm(); delay(1000); LR.attach(5); UD.attach(6); LR.write(80); delay(10); UD.write(80); delay(2000); void loop(){ XbeeRecieve(); delay(1); //loop void XbeeRecieve(){ if(xbee.available()>1){ inbyte=xbee.read(); delay(1); 33

switch(inbyte){ case '2'://an einai gia LR lr=xbee.read(); switch(lr){ case 'R': LRright(); case 'M': LRmiddle(); case 'L': LRleft(); default: //telos gia inbyte LR=2 case '3'://an inbyte UD=3 ud=xbee.read(); switch(ud){ case 'u': UDup(); case 'm': UDmiddle(); case 'd': UDdown(); default: 34

//telos gia inbyte UD=3 case '4'://an sync byte gia motor motor=xbee.read(); Serial.println(motor); constrain(motor,40,180); esc.write((int)motor); //telos motor default: // checklr(); // checkud(); // checkmotor(); /* byte c=xbee.read(); switch(c){ case 'R'://an einai R pane deksia LRrightQ; case 'M'://an m pane sthn messh LRmiddle(); case 'L'://an l pane aristera LRleftQ; case 'u'://an u pane panw UDupO; case 'm'://an m meinei sthn emsh UDmiddleQ; 35

case 'd'://an d pane katw UDdown(); case '1': motorstart(); case '0': motorstop(); default: //switch */ //if //xbeerecieve /* void checklr(){ char a=xbee.read(); switch(a){ case 'L': LRleft(); case 'M': LRmiddle(); case 'R': LRright(); 36

default: void checkud(){ char b=xbee.read(); switch(b){ case 'u': UDup(); case 'm': UDmiddle(); case 'd': UDdown(); default: void checkmotor(){ char c=xbee.read(); switch(c){ case '1': motorstart(); case '0': motorstop(); 37

default: */ void LRright(){ Serial.println("LR RIGHT"); LR.write(0); delay(25); void LRmiddle(){ LR.write(80); delay(25); Serial.println("LR MIDDLE"); void LRleft(){ LR.write(160); delay(25); Serial.println("LR LEFT"); void UDup(){ UD.write(160); delay(30); Serial.println("UD UP"); void UDmiddle(){ UD.write(80); delay(30); Serial.println("UD MIDDLE"); 38

void UDdown(){ UD.write(O); delay(30); Serial.println("UD DOWN"); void arm(){ for(int i=180;i>=45; i-=1){ esc.write(i); Serial.println(i); delay(15); delay(1500); for(int i=45;i<60;i++){ esc.write(i); Serial.println(i); delay(15); delay(1500); esc.write(60); delay(1000); esc.write(80); delay(2000); esc.write(50); Δίπλωμα θέσης Tranceive /* R right LR M middle LR 39

L left LR u up ud m middle ud d down ud 1 motor start 0 motor stop */ #include <SoftwareSerial.h> SoftwareSerial xbee(8,9); //Arduino 1.0+ only #include <Wire.h> #define CTRL_REG1 0x20 #define CTRL_REG2 0x21 #define CTRL_REG3 0x22 #define CTRL_REG4 0x23 #define CTRL_REG5 0x24 enum Gyro{R,M,L; Gyro statelr=m; enum Gyro2{U,Mid,D; Gyro2 stateud=mid; int L3G4200D_Address = 105; //I2C address of the L3G4200D int x; int y; int z; int senslr=2500,sensud=2600; int speedsens=0;//taxitita 40

void setup(){ Wire.begin(); xbee.begin(9600); Serial.begin(9600); Serial.println("starting up the Gyroscope L3G4200D"); setupl3g4200d(2000); // Configure L3G4200-250, 500 or 2000 deg/sec pinmode(13,output); digitalwrite(13,low); delay(2000); //wait for the sensor to be ready void loop(){ checkgyro(); getmotorspeed(); delay(90); void getmotorspeed(){ Serial.print(" speed: "); // Serial.println(analogRead(speedsens)); int x=map(analogread(speedsens),230,120,45,175); constrain(x,45,175); Serial.println(x); xbee.write("4");//sync byte motor xbee.write(x); void checkgyro(){ getgyrovalues(); // Serial.println(x); // This will update x, y, and z with new values 41

if(x<-senslr){//an paei aristera switch(statelr){ case M: statelr=l; case R: statelr=m; case L: statelr=l; //switch //if(x<-senslr){ else if(x>senslr){//an [aei deksia switch(statelr){ case M: statelr=r; case L: statelr=m; case R: statelr=r; //else if(x>senslr){ if(y<-sensud){//an paei panw switch(stateud){ case Mid: stateud=u; case U: 42

stateud=u; case D: stateud=mid; // if(y<-sensud){ else if(y > sensud){//an aei katw switch(stateud){ case U: stateud=mid; case Mid: stateud=d; case D: stateud=d; //else if(y > sensud){ switch(statelr){ case M: Serial.print(" MIDDLE "); xbee.write("2");//sync byte gia LR xbee.write("m"); case R: Serial.print(" RIGHT "); xbee.write("2");//sync byte gia LR xbee.write("r"); 43

case L: Serial.print(" LEFT "); xbee.write("2");//sync byte gia LR xbee.write("l"); switch(stateud){ case U: Serial.println(" UPP"); xbee.write("3");//sync byte giaa UD xbee.write("u"); case Mid: Serial.println(" MIDDLE"); xbee.write("3");//sync byte giaa UD xbee.write("m"); case D: Serial.println(" DOWN"); xbee.write("3");//sync byte giaa UD xbee.write("d"); /* Serial.print("X:"); Serial.println(x); Serial.print(" Y:"); Serial.print(y); Serial.print(" Z:"); 44

Serial.println(z); */ void getgyrovalues(){ byte xmsb = readregister(l3g4200d_address, 0x29); byte xlsb = readregister(l3g4200d_address, 0x28); x = ((xmsb << 8) xlsb); byte ymsb = readregister(l3g4200d_address, 0x2B); byte ylsb = readregister(l3g4200d_address, 0x2A); y = ((ymsb << 8) ylsb); byte zmsb = readregister(l3g4200d_address, 0x2D); byte zlsb = readregister(l3g4200d_address, 0x2C); z = ((zmsb << 8) zlsb); int setupl3g4200d(int scale){ //From Jim Lindblom of Sparkfun's code // Enable x, y, z and turn off power down: writeregister(l3g4200d_address, CTRL_REG1, 0b00001m); // If you'd like to adjust/use the HPF, you can edit the line below to configure CTRL_REG2: writeregister(l3g4200d_address, CTRL_REG2, 0b00000000); // Configure CTRL_REG3 to generate data ready interrupt on INT2 // No interrupts used on INT1, if you'd like to configure INT1 // or INT2 otherwise, consult the datasheet: writeregister(l3g4200d_address, CTRL_REG3, 0b00001000); 45

// CTRL_REG4 controls the full-scale range, among other things: if(scale == 250){ writeregister(l3g4200d_address, CTRL_REG4, 0b00000000); else if(scale == 500){ writeregister(l3g4200d_address, CTRL_REG4, 0b00010000); else{ writeregister(l3g4200d_address, CTRL_REG4, 0b00110000); // CTRL_REG5 controls high-pass filtering of outputs, use it // if you'd like: writeregister(l3g4200d_address, CTRL_REG5, 0b00000000); void writeregister(int deviceaddress, byte address, byte val) { Wire.beginTransmission(deviceAddress); // start transmission to device Wire.write(address); // send register address Wire.write(val); // send value to write Wire.endTransmission(); // end transmission int readregister(int deviceaddress, byte address){ int v; Wire.beginTransmission(deviceAddress); Wire.write(address); // register to read Wire.endTransmission(); Wire.requestFrom(deviceAddress, 1); // read a byte while(!wire.availableo) { 46

// w aitin g v = Wire.read(); return v; 47

ΠΑΡΑΡΤΗΜΑ ΙΙ. Παρακάτω θα παραδοθούν μερικές φωτογραφίες από τα αποτελέσματα αυτής της πτυχιακής εργασίας. ΓΑΝΤΙ 48

ΓΑΝΤΙ ΠΑΝΕΛ ΓΑΝΤΙ ΓΥΡΟΣΚΟΠΙΟ 49

Α Ε Ρ Ο Σ Κ Α Φ Ο Σ Μ Π Ρ Ο Σ Τ ΙΝ Ο Τ Μ Η Μ Α 50

Α Ε Ρ Ο Σ Κ Α Φ Ο Σ Π ΙΣ Ω Τ Μ Η Μ Α 51

Βιβλιογραφία: Χρησιμοποιηθήκαν οι εξής πήγες συγγραμμάτων άντλησης πληροφοριών και ενημέρωσης σχετικά με την υλοποίηση της έρευνας των υποσυστημάτων: Τίτλος: Ψηφιακή σχεδίαση Συγγραφείς: Π ογαρίδης Δημήτρης Θεματικές Ενότητες: Ηλεκτρονικοί ψηφιακοί υπολογιστές Σχεδίαση και κατασκευή, VHDL (Γλώσσα προγραμματισμού ηλεκτρονικού υπολογιστή). Τίτλος: Σχεδίαση συστημάτω ν μικροεπεξεργαστώ ν Συγγραφείς: Π ογαρίδης Δημήτρης Ενότητες: Αρχιτεκτονική, προγραμματισμός, εφαρμογές. Θεματικές Τίτλος: Ανάπτυξη εφαρμογών μ ε το Arduino Θεματικές Ενότητες: Παναγιώτης Παπάζογλου, Σπύρος-Πολυχρόνης Λιωνής Περιεχόμενο: Εφαρμογές για αρχάριους, Βασικές εφαρμογές, Εφαρμογές με αισθητήρες, Απεικόνιση δεδομένων, Εισαγωγή στην πρακτική ρομποτική, Π ροχω ρημένα θέματα, Το A rduino πάει σχολείο. Πέρα από την βιβλιογραφία πολλές εξίσου σημαντικές πληροφορίες χρησιμοποιήθηκαν από το διαδίκτυο από τους παρακάτω συνδέσμους: https://el. w ikipedia. org httv:/^^^^^.arduino.cc 52