ΕΞΥΠΝΟ ΨΗΦΙΑΚΟ ΠΟΡΤΡ ΑΙΤΟ

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

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

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

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

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

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

Κεφάλαιο 1.6: Συσκευές αποθήκευσης

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

Μαθαίνοντας το hardware του αναπτυξιακού

Κεφάλαιο 4 Σύνδεση Μικροεπεξεργαστών και Μικροελεγκτών ΕΡΩΤΗΣΕΙΣ ΑΣΚΗΣΕΙΣ

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

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

ΕΝΟΤΗΤΑ 7: ΑΙΣΘΗΤΗΡΕΣ ΥΠΕΡΥΘΡΩΝ

ΑΣΚΗΣΗ 2 (29 Νοεμβρίου 2016)

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

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

Μαλούτα Θεανώ Σελίδα 1

Ι ΑΣΚΩΝ ΚΑΘΗΓΗΤΗΣ: ΚΑΘΗΓΗΤΗΣ ΕΦΑΡΜΟΓΩΝ. ΤΕΙ ΥΤΙΚΗΣ ΜΑΚΕ ΟΝΙΑΣ

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

Ενότητα 1η. Εισαγωγή στην Πληροφορική

Ερωτήσεις- Απαντήσεις Πολυμέσα Απο το Βιβλίο Εφαρμογές Η/Υ Α,Β,Γ Λυκείου

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

Μάθημα 4.7 Θύρες περιφερειακών

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

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

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

Lab 1: Experimenting on Arduino & AI Sense

ΚΕΦΑΛΑΙΟ 1 Ψηφιακός Κόσμος

Αρχιτεκτονική υπολογιστών

Εισαγωγή στην Πληροφορική

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

Υπάρχουν δύο τύποι μνήμης, η μνήμη τυχαίας προσπέλασης (Random Access Memory RAM) και η μνήμη ανάγνωσης-μόνο (Read-Only Memory ROM).

Ο Οδηγός γρήγορης εκκίνησης

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

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

Συσκευή αναπαραγωγής πολυμέσων NeoTV 350 NTV350

ΠΑΝΕΠΙΣΤΗΜΙΟ AΙΓΑIΟΥ & ΑΕΙ ΠΕΙΡΑΙΑ Τ.Τ. Τμήματα Ναυτιλίας και Επιχειρηματικών Υπηρεσιών & Μηχ. Αυτοματισμού ΤΕ. Εισαγωγή στη Python

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

LFT169 - LFR169 ΠΟΜΠΟΣ ΚΑΙ ΔΕΚΤΗΣ ΨΗΦΙΑΚΩΝ ΚΑΙ ΑΝΑΛΟΓΙΚΩΝ ΣΗΜΑΤΩΝ

ΠΛΗΡΟΦΟΡΙΚΗ. Β Γυμνασίου Σχολικό έτος

WDT και Power Up timer

Συστήµατα DAQ. 6.1 Εισαγωγή

Visual Flowchart Γενικά

ΔΙΑΧΥΤΑ ΚΑΙ ΕΝΣΩΜΑΤΩΜΕΝΑ ΣΥΣΤΗΜΑΤΑ

Το υποσύστηµα "αίσθησης" απαιτήσεις και επιδόσεις φυσικά µεγέθη γενική δοµή και συγκρότηση

ΒΑΣΙΚΕΣ ΠΛΗΡΟΦΟΡΙΕΣ. Τίτλος Μαθήματος. Διαλέξεις - Θεωρητική Διδασκαλία, Εποπτευόμενο Εργαστήριο Επίδειξη, Μελέτες (Projects)

ΕΓΧΕΙΡΙΔΙΟ ΛΕΙΤΟΥΡΓΙΑΣ ΕΤ4000

Κεφάλαιο 2.4: Εργασία με εικονίδια

Β τάξη. ΕΝΟΤΗΤΑ 1 Κεφάλαιο 2: Το εσωτερικό του Υπολογιστή. Εικόνα 2.1: Η Κεντρική Μονάδα.

Λιβανός Γιώργος Εξάμηνο 2017Β

Κάμερα καταγραφικό Ρολόι χειρός

Φουκαράκη Χρυσούλα - ΓΕΛ Γαζίου

Ενότητα 4. Εισαγωγή στην Πληροφορική. Αναπαράσταση δεδοµένων. Αναπαράσταση πληροφορίας. υαδικοί αριθµοί. Χειµερινό Εξάµηνο

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

ΕΝΟΤΗΤΑ 5 Αναλογικά σήματα

Κεφάλαιο 1.5: Τα βασικά μέρη ενός υπολογιστή

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

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

MT-3102 Μίνι ψηφιακή αμπεροτσιμπίδα 3 1/2 2A

Προγραμματισμός Ι (HY120)

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

Εφαρμογές μικροελεγκτών

Εργαστηριακές ασκήσεις λογικών κυκλωμάτων 11 A/D-D/A

ΤΕΧΝΟΛΟΓΙΚΟ ΕΚΠΑΙ ΕΥΤΙΚΟ Ι ΡΥΜΑ ΠΑΤΡΑΣ ΣΧΟΛΗ ΤΕΧΝΟΛΟΓΙΚΩΝ ΕΦΑΡΜΟΓΩΝ 21/06/2011 ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΙΑΣ

11/1/18. Κεφάλαιο 2. Κατανόηση των ψηφιακών εξαρτηµάτων. Εξέταση του υπολογιστή: Από τι αποτελείται. Στόχοι. Κατανόηση του υπολογιστή σας

Ο ΗΓΙΕΣ ΛΕΙΤΟΥΡΓΙΑΣ. Τοποθέτηση και αντικατάσταση των µπαταριών. Γενικές πληροφορίες. Περιγραφή λειτουργίας. ruwido s_4 τηλεχειριστήριο γενικής χρήσης

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

Σημειώσεις : Χρήστος Μουρατίδης. Κάντε κλικ για έναρξη

Τι χρειάζεται ένας φοιτητής για τη σωστή παρακολούθηση και συμμετοχή στο μαθημα;

Μετρολογικές Διατάξεις Μέτρησης Θερμοκρασίας Μετρολογικός Ενισχυτής τάσεων θερμοζεύγους Κ και η δοκιμή (testing).

Βασικές Έννοιες της Πληροφορικής

ΚΑΤΑΛΟΓΟΣ ΠΡΟΪΟΝΤΩΝ 2014

Φύλλο εργασίας 7 - Δημιουργώ τα δικά μου χρώματα με το RGB LED

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

ΝΟΜΟΣ ΤΟΥ OHM ΕΠΩΝΥΜΟ: ΟΝΟΜΑ: ΑΜ: ΕΠΩΝΥΜΟ: ΟΝΟΜΑ: ΑΜ: ΕΠΩΝΥΜΟ: ΟΝΟΜΑ: ΑΜ: 1 ΣΚΟΠΟΣ 1 2 ΘΕΩΡΗΤΙΚΟ ΥΠΟΒΑΘΡΟ 1 3 ΕΞΟΠΛΙΣΜΟΣ 5 4 ΕΞΑΡΤΗΜΑΤΑ 5

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

Copyright 2016 HP Development Company, L.P.

ΘΥΡΟΤΗΛΕΟΡΑΣΗ ZEUS VISION MODEL: VHS-207 ΕΓΧΕΙΡΊΔΙΟ ΧΡΉΣΤΗ

Εγχειρίδιο Χρήσης. Χαρακτηριστικά προϊόντος. Φόρτιση: Οδηγίες Λειτουργίας. Εναλλαγή λειτουργιών. Κουμπιά Λειτουργιών

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

ΚΕΦΑΛΑΙΟ 5. Κύκλος Ζωής Εφαρμογών ΕΝΟΤΗΤΑ 2. Εφαρμογές Πληροφορικής. Διδακτικές ενότητες 5.1 Πρόβλημα και υπολογιστής 5.2 Ανάπτυξη εφαρμογών

Περιεχόµενα. I Βασικές Γνώσεις 1

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

ΑΙΣΘΗΤΗΡΑΣ ΣΧΕΤΙΚΗΣ ΥΓΡΑΣΙΑΣ. Η πιο συνηθισμένη έκφραση για την υγρασία του αέρα είναι η σχετική υγρασία (Relative Ηumidity, RH).

Γεωργάκης Αριστείδης ΠΕ20

Cubitech Hellas Ακροπόλεως 24, Καλλιθέα, Αθήνα Τ.Κ , Ελλάδα, Τηλ Φαξ

Σελίδα.1/1

CTMU. => C = 50pF 10pF = 40 pf. C stray. d (C V ) I= I = C V. C= I t. Ι = dq dt

ΠΙΝΑΚΑΣ ΠΕΡΙΕΧΟΜΕΝΩΝ

Εγχειρίδιο χρήσης (01VS ) Ψηφιακό Διπλό Θερμόμετρο & Διπλός Ελεγκτής για Εφαρμογές Θέρμανσης - Ψύξης

Άσκηση 3 Η φωτο-εκπέµπουσα δίοδος (Light Emitting Diode)

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

ΜΑΘΗΜΑ: Εργαλεία Ανάπτυξης εφαρμογών internet.

NEW ΣΥΣΚΕΥΕΣ ΘΕΡΜΙΚΗΣ ΑΠΕΙΚΟΝΙΣΗΣ HD38S LD38S HD19S LD19S Θεσσαλονίκη

ΕΛΛΗΝΙΚΑ. Περιγραφή ρολογιού

ENERGY MUSIC BOX Z1 ΕΓΧΕΙΡΙΔΙΟ ΧΡΗΣΗΣ

MΠΑΤΑΡΙΑ ΚΑΛΩΔΙΟ USB

ΑΝΑLOG TO DIGITAL CONVERTER (ADC)

Τι είναι το HARDWARE στην σημερινή εποχή; Σελίδα 3 Το καθένα από αυτά σε τι χρησιμεύει; Σελίδα 4

Δίοδοι Ορισμός της διόδου - αρχή λειτουργίας Η δίοδος είναι μια διάταξη από ημιαγώγιμο υλικό το οποίο επιτρέπει την διέλευση ροής ρεύματος μόνο από

Transcript:

Τ Ε Ι ΚΑΒΑΛΑΣ ΤΜΗΜΑ ΒΙΟΜΗΧΑΝΙΚΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΞΥΠΝΟ ΨΗΦΙΑΚΟ ΠΟΡΤΡ ΑΙΤΟ ( S M A R T D I G I T A L P H O T O F R A M E ) Υπό ΠΟΛΥΞΕΝΗ ΤΖΙΒΑΝΗ ΕΥΤΥΧΙΑ ΤΟΥΦΑ Επίβλεψη Δρ. ΚΑΡΑΜΠΑΤΖΑΚΗΣ ΔΗΜΗΤΡΙΟΣ Καβάλα 2011

Στην μητέρα μου Βάσω, για την υπομονή και την στήριξή της όλα αυτά τα χρόνια Π. Τζιβάνη Στους γονείς μου Ε. Τούφα

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

ΠΕΡΙΛΗΨΗ Σκοπός της παρούσας πτυχιακής εργασίας είναι η ανάπτυξη έξυπνων ψηφιακών εφαρμογών με τη χρήση πλατφόρμας ενσωματωμένου επεξεργαστή γραφικών που μπορεί να διαχειριστεί νέας γενιάς OLED οθόνες απεικόνισης περιεχομένου και ψηφιακών αισθητηρίων. Το σύστημα ανταποκρίνεται στα ερεθίσματα του χρήστη σε πραγματικό χρόνο καθώς πλοηγείται στο μενού με την χρήση του πολυδιακόπτη (joystick). Ο χρήστης έχει τη δυνατότητα να δει φωτογραφίες και βίντεο, να χρησιμοποιήσει το σύστημα σε λειτουργία ένδειξης ώρας, ημερομηνίας και μέτρησης θερμοκρασίας καθώς επίσης να ρυθμίσει την αντίθεση της οθόνης με βάση την φωτεινότητα του χώρου. Βασική προϋπόθεση είναι η δημιουργία ενός λειτουργικού και εύχρηστου συστήματος το οποίο απευθύνεται ακόμη και σε άτομα που δεν είναι καταρτισμένα στο αντικείμενο τόσο για οικιακή και όσο και για επαγγελματική χρήση. Στο παρόν βιβλίο αναλύεται η τεχνολογία OLED, τα χαρακτηριστικά του αναπτυξιακού DEVBOARD-G1, του ενσωματωμένου επεξεργαστή γραφικών GOLDELOX-GFX2, της οθόνη μoled-160-g1gfx και της ειδική γλώσσας προγραμματισμού 4DGL όπως επίσης ο σχεδιασμός, η υλοποίηση και ο έλεγχος που απαιτούνταν για την ανάπτυξη της τελικής εφαρμογής. ΛΕΞΕΙΣ ΚΛΕΙΔΙΑ Οργανική δίοδος εκπομπής φωτός, οθόνη OLED, OLED παθητικής μήτρας, 4DGL, GOLDELOX-GFX2, uoled 160 G1, DS18B20, Φωτοευαίσθητη αντίσταση. ii

ABSTRACT The purpose of this dissertation is to develop intelligent digital applications using a platform of embedded graphics processor that can handle the new generation OLED displays content and digital sensors. The system responds to stimuli of the user in real time as users navigate the menu using the joystick. The user has the ability to see photos and video and to use the system operating temperature reading, time and date. Basic premise is to create a functional and easy to use system that is addressed even to people who are not trained in the subject for home and professional use. This text analyzes the technology LED and OLED, the characteristics of the development DEVBOARD-G1, the built-in graphics processor GOLDELOX-GFX2, the display uoled-160-g1gfx and special programming language 4DGL as well the design, implementation and control software required for developing the final application. KEYWORDS Organic light emitting diode, OLED displays, OLED passive matrix, 4DGL, GOLDELOX-GFX2, uoled 160 G1, DS18B20, Light dependent resistor, LDR. iii

ΠΕΡΙΕΧΟΜΕΝΑ ΕΙΣΑΓΩΓΗ... 2 1. ΟΡΓΑΝΙΚΕΣ ΔΙΟΔΟΙ ΕΚΠΟΜΠΗΣ ΦΩΤΟΣ... 4 1.1 Αρχή λειτουργίας των OLEDs... 4 1.2 Δημιουργία χρωμάτων... 5 1.3 Πλεονεκτήματα... 5 1.4 Μειονεκτήματα... 6 1.5 PMOLEDs και AMOLEDs... 6 1.5.1 Οθόνες Ενεργητικής Μήτρας (Active matrix OLED)... 6 1.5.2 Οθόνες παθητικής μήτρας (Passive matrix OLED)... 7 1.5.3 Το μέλλον... 8 2. ΠΑΡΟΥΣΙΑΣΗ ΥΛΙΚΟΥ ΚΑΙ ΛΟΓΙΣΜΙΚΟΥ... 10 2.1 Το Αναπτυξιακό Devboard G1... 10 2.1.1 Παρουσίαση υλικού... 12 2.1.1.1 μoled-96-g1... 12 2.1.1.2 μoled-128-g1 & μoled-160-g1... 12 2.1.1.3 μusb-mb5 (USB-Serial)... 13 2.1.1.4 μusb-ce5 (USB-Serial)... 13 2.1.1.5 Speaker... 14 2.1.1.6 Joystick - 5 θέσεων... 15 2.1.1.7 Τροφοδοσία... 15 2.1.1.8 Κύκλωμα πρωτοτυποποίησης... 16 2.2 μoled-160-g1(gfx)... 17 2.2.1 Χαρακτηριστικά... 18 2.3 GOLDELOX- GFX2... 20 2.3.1 Περιγραφή... 20 2.3.2 Χαρακτηριστικά... 20 2.4 Personality Module Micro Code (PmmC)... 24 2.5 PmmC Loader... 25 2.6 Graphics Composer Software Tool... 26 2.6.1 Τύποι αρχείων... 26 2.7 4DGL Workshop 3... 27 2.7.1 Περιβάλλον μεταγλωττιστή... 28 2.7.2 Text Editor... 28 iv

2.8 Font Tool... 29 2.9 Η γλώσσα 4DGL... 30 2.9.1 Περίληψη της γλώσσας 4DGL... 30 2.10 Το αισθητήριο θερμοκρασίας 1-Wire DS18B20... 37 2.11 LDR Light Dependent Resistor... 38 3. ΥΛΟΠΟΙΗΣΗ... 40 3.1 Υλοποίηση υλικού... 42 3.1.1 Ενημέρωση Firmware... 42 3.1.2 Μεταφόρτωση πολυμέσων... 43 3.1.2.1 Ρυθμίσεις εικόνας... 44 3.1.2.2 Ρυθμίσεις Κινούμενης εικόνας / Βίντεο... 45 3.1.2.3 Ρυθμίσεις Εξόδου... 46 3.1.3 Προσαρμοσμένη γραμματοσειρά... 49 3.1.4 DS18B20... 50 3.1.5 LDR... 50 3.1.6 Κύκλωμα DS18B20 και LDR... 51 3.2 Ανάπτυξη κώδικα 4DGL... 51 3.2.1 Εκκίνηση... 51 3.2.2 Αρχική οθόνη... 52 3.2.3 Μενού... 52 3.2.4 Φωτογραφίες... 53 3.2.5 Θερμοκρασία... 54 3.2.6 Βίντεο... 54 3.2.7 Ημερομηνία & Ώρα... 55 3.2.8 Έξοδος... 56 3.3 Η τελική κατασκευή... 56 4. ΈΛΕΓΧΟΣ ΣΥΣΤΗΜΑΤΟΣ... 58 ΠΑΡΑΤΗΡΗΣΕΙΣ - ΣΥΜΠΕΡΑΣΜΑΤΑ... 58 ΕΠΙΛΟΓΟΣ... 60 ΔΙΑΔΙΚΤΥΟ... 61 v

ΠΙΝΑΚΑΣ ΕΙΚΟΝΩΝ Εικόνα 1. Δομή OLED.... 5 Εικόνα 2. Τυπικές δομές PMOLEDs και AMOLEDs.... 6 Εικόνα 3. Τυπική δομή AMOLED.... 7 Εικόνα 4. Τυπική δομή PMOLED... 7 Εικόνα 5. DEVBOARD-G1 και uoled-160-g1.... 10 Εικόνα 6. DEVBOARD-G1.... 11 Εικόνα 7. Συνδεσμολογία αναπτυξιακού DEVBOARD-G1.... 12 Εικόνα 8. Συνδεσμολογία οθόνης μoled-96-g1.... 12 Εικόνα 9. Συνδεσμολογία μoled-160-g1, μoled-128-g1.... 13 Εικόνα 10. Υποδοχή για σύνδεση μusb-mb5.... 13 Εικόνα 11. Υποδοχή για σύνδεση μusb-ce5... 14 Εικόνα 12. Συνδεσμολογία SPEAKER.... 14 Εικόνα 13. Συνδεσμολογία joystick.... 15 Εικόνα 14. Τροφοδοσία αναπτυξιακού DEVBOARD-G1.... 16 Εικόνα 15. Ράστερ 170 ακίδων.... 16 Εικόνα 16. OLED οθόνη 1.7".... 17 Εικόνα 17. Κύκλωμα οθόνης μoled-160-g1.... 18 Εικόνα 18. Αντιστοίχιση ακίδων.... 19 Εικόνα 19. GOLDELOX-GFX2.... 21 Εικόνα 20. PmmC Loader.... 24 Εικόνα 21. Workshop 3.0 IDE.... 27 Εικόνα 22. Περιβάλλον μεταγλωττιστή.... 28 Εικόνα 23. Αυτόματη συμπλήρωση εντολών.... 29 Εικόνα 24. Οδηγίες σύνταξης εντολών.... 29 Εικόνα 25. Font Tool.... 30 Εικόνα 26. Ψηφιακό αισθητήριο θερμοκρασίας DS18B20.... 37 Εικόνα 27. LDR.... 38 Εικόνα 28. Διάγραμμα ροής.... 41 Εικόνα 29. Σύνδεση μoled-160-g1 - μusb-ce5.... 42 Εικόνα 30. PmmC Loader - Ενημέρωση firmware.... 42 Εικόνα 31. Σύνδεση DEVBOARD G1 - μusb-ce5 - μoled 160 G1.... 43 Εικόνα 32. Graphics Composer 3.0.... 43 Εικόνα 33. Επεξεργασία εικόνας... 45 Εικόνα 34. Επεξεργασία βίντεο.... 46 Εικόνα 35. Ρυθμίσεις πλατφόρμας.... 47 Εικόνα 36. Εξαγωγή αρχείου Gc.... 48 Εικόνα 37. Αρχείο Gc.... 48 Εικόνα 38. Γραμματοσειρα με μικρή ανάλυση.... 49 Εικόνα 39. Γραμματοσειρά με μεγάλη ανάλυση.... 50 Εικόνα 40. Κύκλωμα σύνδεσης DS18B20.... 50 Εικόνα 41. Κύκλωμα σύνδεσης LDR... 51 Εικόνα 42. Σύνδεση αισθητηρίων.... 51 Εικόνα 43. Οθόνη ελέγχου φωτεινότητας.... 52 Εικόνα 44. Αρχική οθόνη.... 52 Εικόνα 45. Το μενού.... 53 Εικόνα 46. Πλοήγηση στο μενού.... 53 vi

Εικόνα 47. Οθόνη Slideshow.... 54 Εικόνα 48. Οθόνη εμφάνισης θερμοκρασίας.... 54 Εικόνα 49. Οθόνη αναπαραγωγής βίντεο.... 54 Εικόνα 50. Οθόνη ρύθμισης ώρας.... 55 Εικόνα 51. Οθόνη ρύθμισης ημερομηνίας.... 55 Εικόνα 52. Λειτουργία ρολογιού... 55 Εικόνα 53. Οθόνη τερματισμού.... 56 Εικόνα 54. Το έξυπνο ψηφιακό πορτραίτο.... 56 vii

ΕΙΣΑΓΩΓΗ Με το πέρασμα των χρόνων η τεχνολογία εξελίσσεται με ραγδαίους ρυθμούς καθώς αυξάνονται οι απαιτήσεις του αγοραστικού κοινού. Οι κατασκευαστές οθονών γνωρίζοντας αυτήν την πολύ γρήγορη μετάβαση στις νέες ανακαλύψεις και τεχνολογίες αναγκάζονται να ανταπεξέλθουν διαφοροποιώντας συνεχώς τον τρόπο και τα υλικά κατασκευής. Οι νέοι τρόποι κατασκευής δεν απορρίπτουν πάντα τα στοιχειά του παλαιού τρόπου στο σύνολο τους, αλλά πολλές φορές αντικαθιστούν κάποια από αυτά ή προσαρμόζονται προστιθέμενα στο ήδη υπάρχον σύνολο. Μερικές φορές βέβαια απορρίπτουν τελείως το μεγαλύτερο μέρος των βασικών τεχνολογικών στοιχείων που εφαρμόζονταν έως τότε χρησιμοποιώντας εξ ολοκλήρου νέες τεχνικές και τεχνολογικές ανακαλύψεις. Στη σύγχρονη εποχή οι μελέτες για την νέα τεχνολογία στην οποία βασίζεται η κατασκευή των οθόνων λαμβάνει υπόψη της την οικολογική σκέψη προσπαθώντας να καταναλώσει λιγότερη ενέργεια. Αρχικά, οι οθόνες που είχαν οι υπολογιστές κατασκευάζονταν με καθοδικό σωλήνα (CRT). Στις μέρες μας οι CRT οθόνες έχουν πάψει να χρησιμοποιούνται σε μεγάλο βαθμό λόγω της ύπαρξης νέων τεχνολογιών που βασίζονται σε υγρούς κρυστάλλους και σε οργανικές διόδους εκπομπής φωτός. Οι τεχνολογίες αυτές παρέχουν στους χρήστες πολλές ευκολίες. Η τεχνολογία οργανικών διόδων εκπομπής φωτός παρέχει χαμηλή κατανάλωση ρεύματος και γι αυτό τον λόγο θεωρείται ως η τεχνολογία του μέλλοντος. Οι οθόνες OLED κυκλοφορούν ήδη στην αγορά σε τηλεοράσεις, MP3-player, κινητά τηλέφωνα κ.α. Στο άμεσο μέλλον αυτές οι εύκαμπτες οθόνες, με πάχος όσο ένα φύλλο χαρτί θα κατακτήσουν όλους τους τομείς εφαρμογής καθώς μπορούν να τυπωθούν σχεδόν σε όλα τα υλικά γεγονός που καθιστά τις οθόνες αυτές άκρως ευέλικτες και αποδοτικές. 2

Κεφάλαιο 1 3

1. Οργανικές Δίοδοι Εκπομπής Φωτός Η οργανική δίοδος εκπομπής φωτός (Organic Light Emitting Diode - OLED) είναι μια δίοδος εκπομπής φωτός (LED) της οποίας το στρώμα που εκπέμπει φως αποτελείται από οργανική ύλη. Αναφέρεται επίσης ως οργανική ηλεκτροφωταύγεια (electroluminescence), δηλαδή η εκπομπή φωτός που δημιουργείται όταν ηλεκτρικό ρεύμα διαπεράσει την μάζα της. 1.1 Αρχή λειτουργίας των OLEDs Μια οργανική δίοδος εκπομπής φωτός αποτελείται από ένα εκπέμπον στρώμα, ένα αγώγιμο στρώμα, ένα υπόστρωμα και δύο τερματικά, ένα ανόδου και ένα καθόδου. Υπόστρωμα (Substrate), το υλικό του μπορεί να είναι από γυαλί ή πλαστικό και χρησιμοποιείται για να υποστηρίζει την συσκευή. Άνοδος (Anode), η λειτουργία της οποίας είναι να αφαιρεί ηλεκτρόνια από το πεδίο αγωγής. Το πάχος της κυμαίνεται περίπου στα 1000 nm. Οργανικά στρώματα εκπομπής φωτός (Organic molecules or Polymers), στα οποία γίνεται η μεταφορά και επανασύνδεση των τμημάτων που εκπέμπονται από τα ηλεκτρόδια και έχουν ως αποτέλεσμα την εκπομπή φωτός. Τα στρώματα αυτά χωρίζονται σε δύο επίπεδα: o Επίπεδο αγωγής (Conducting layer): αποτελείται από οργανικά μόρια που επιτρέπουν την διέλευση οπών από την άνοδο. o Επίπεδο εκπομπής (Emmisive layer): αποτελείται από οργανικά μόρια τα οποία άγουν ηλεκτρόνια από την κάθοδο. Στο επίπεδο αυτό απελευθερώνονται ηλεκτρόνια και εκπέμπεται μια δέσμη φωτός, το μήκος κύματος της οποίας καθορίζεται από την ηλεκτρονική δομή που έχει το υλικό. Κάθοδος (Cathode), η οποία τροφοδοτεί ηλεκτρόνια στην διάταξη. Ανάλογα με τον τύπο της οθόνης μπορεί να είναι διαφανής ή όχι. Το πάχος της καθόδου είναι περίπου 100 nm. 4

Εικόνα 1. Δομή OLED. 1.2 Δημιουργία χρωμάτων Ο βασικός πίνακας χρωμάτων είναι χωρισμένος σε κόκκινο, πράσινο και μπλε pixel τα οποία τοποθετούνται απευθείας σε πλακέτα τυπωμένου κυκλώματος. Τα τρία χρώματα καθορίζονται συνέχεια από ένα φίλτρο χρώματος, το οποίο καθαρίζει κάθε χρώμα, χωρίς την ανάγκη ενός πολωτή, καθιστώντας έτσι εξαιρετική καθαρότητα χρωμάτων. Επίσης, είναι δυνατή η εναλλαγή διαφορετικών χρωμάτων. Ταυτόχρονα, η σύσταση των οργανικών διόδων εκπομπής φωτός έχει πολύ υψηλούς δείκτες χρωματικής απόδοσης, που σημαίνει ότι αποδίδει τα χρώματα των χώρων και των υλικών που φωτίζονται με εξαιρετικά υψηλή ακρίβεια. 1.3 Πλεονεκτήματα Η σχεδίαση και η κατασκευή τους είναι εύκολη και οι συσκευές είναι αρκετά λεπτές και ελαφριές Τα υλικά και οι μέθοδοι κατασκευής έχουν χαμηλό κόστος Προσφέρουν γρήγορους χρόνους απόκρισης και ευρείες γωνίες θέασης Η αναπαραγωγή των χρωμάτων είναι εξαιρετική και παρέχουν υψηλά επίπεδα αντίθεσης και φωτεινότητας Μπορούν να χρησιμοποιηθούν σε μια ποικιλία διαφορετικών εφαρμογών Εκφράζουν μόνο καθαρά χρώματα και παρέχουν περισσότερο έλεγχο έκφρασης χρώματος 5

Η ενεργειακή απόδοση τους συνεισφέρει στην εξοικονόμηση ενέργειας και στη μείωση της εκπομπής επικίνδυνων αερίων καθώς επίσης μπορούν να ανακυκλωθούν εύκολα Δεν χρειάζονται οπίσθιο φωτισμό Είναι εύκαμπτες και μπορούν τα τυπωθούν πάνω σε οποιοδήποτε υλικό 1.4 Μειονεκτήματα Τα οργανικά υλικά έχουν μικρό χρόνο ζωής Η διείσδυση υγρασίας μπορεί να προκαλέσει ζημιά ή να καταστρέψει τα οργανικά υλικά Οι οθόνες έχουν χαμηλή εξωτερική κβαντική απόδοση 1.5 PMOLEDs και AMOLEDs Παθητικής μήτρας (Passive matrix) και Ενεργητικής Μήτρας (Active matrix) OLEDs: Το είδος της οργανικής οθόνης, αν θα είναι δηλαδή ενεργητικής ή παθητικής μήτρας εξαρτάται από τον τρόπο που γίνεται η οδήγηση και ο έλεγχός της. Και στις δύο περιπτώσεις τα pixel είναι ταξινομημένα σε γραμμές και στήλες και συναποτελούν ένα μητρώο (πίνακα). Εικόνα 2. Τυπικές δομές PMOLEDs και AMOLEDs. 1.5.1 Οθόνες Ενεργητικής Μήτρας (Active matrix OLED) Οι οργανικές οθόνες ενεργητικής μήτρας για να προσδιορίσουν ένα pixel καθιστούν αγώγιμη μια σειρά και στη συνέχεια στέλνουν ένα φορτίο στην κατάλληλη στήλη. Μειονέκτημα αποτελεί το γεγονός ότι έχουν αργούν χρόνους απόκρισης. 6

Οι AMOLEDS επιτρέπουν τη χρήση οθονών με υψηλή ανάλυση και είναι ιδανικές για φορητές συσκευές λόγω της ελάχιστης κατανάλωσης ισχύος. Παρόλα αυτά, η εγκατάστασή τους είναι πιο ακριβή και πιο περίπλοκη. Χρησιμοποιούνται στην κινητή τηλεφωνία, σε ψηφιακές κάμερες, σε OLED τηλεοράσεις και σε άλλες συσκευές. Εικόνα 3. Τυπική δομή AMOLED. 1.5.2 Οθόνες παθητικής μήτρας (Passive matrix OLED) Οι οθόνες OLEDs παθητικής μήτρας (ΡΜ) με τη χρήση ενός πλέγματος οδηγούν ένα φορτίο σε ένα συγκεκριμένο pixel της οθόνης. Έχουν κατανεμημένα τα επίπεδα σε ένα πλέγμα το οποίο αποτελείται από οργανικές στήλες για τη κάθοδο των υλικών και οργανικές γραμμές για την άνοδο των υλικών. Ο έλεγχος μπορεί να γίνει σε κάθε γραμμή της οθόνης διαδοχικά. Επιπλέον, δεν περιέχουν τρανζίστορ και έτσι τα pixel κάθε γραμμής είναι ενεργοποιημένα για μεγαλύτερο χρονικό διάστημα. Οι οθόνες PMOLED χρησιμοποιούνται για κείμενο, εμφάνιση εικόνων και αναπαραγωγή ήχου. Έχουν απλή δομή σχεδίασης και είναι κατασκευασμένες με οικονομικό και αποδοτικό τρόπο αλλά απαιτούν σχετικά ακριβούς ηλεκτρονικούς οδηγούς για να λειτουργήσουν σωστά και καταναλώνουν υψηλότερη ενέργεια από τις OLED παθητικής μήτρας. Ένα από τα χαρακτηριστικά των οθονών PMOLED είναι ότι μπορούν να γίνουν ευέλικτες και διαφανείς. Εικόνα 4. Τυπική δομή PMOLED 7

Πλεονεκτήματα Εύκαμπτο πλαστικό υπόστρωμα και βαρύτητα φωτός Ευρεία γωνία θέασης και βελτιωμένη φωτεινότητα Καλύτερη ενεργειακή απόδοση Πολύ γρήγορος χρόνος απόκρισης για βίντεο πλήρους κίνησης Ευρύτερο φάσμα θερμοκρασίας λειτουργίας Χαμηλότερο κόστος (στο άμεσο μέλλον) Μειονεκτήματα Αργοί χρόνοι απόκρισης και όχι και τόσο μεγάλη ακρίβεια στον έλεγχο της διαφοράς δυναμικού Μεγάλη κατανάλωση ισχύος Τρεμόπαιγμα της οθόνης, ειδικά όταν ο χρόνος που μένει ενεργό το εικονοστοιχείο είναι αρκετά μικρότερος από το χρόνο που χρειάζεται για να οδηγηθούν όλες οι γραμμές της οθόνης 1.5.3 Το μέλλον Οι κατασκευαστές οθονών επιχειρούν να φτιάξουν ένα είδος υβριδικού συστήματος που να συνδυάζει τα χαρακτηριστικά των PMOLEDs και AMOLEDs και να προσφέρει υψηλή ενεργειακή απόδοση σε μεγαλύτερες οθόνες. 8

Κεφάλαιο 2 9

2. Παρουσίαση υλικού και λογισμικού Στο κεφάλαιο αυτό παρουσιάζονται τα προγράμματα, τα αισθητήρια και η γλώσσα προγραμματισμού, τα οποία χρησιμοποιούνται για την ανάπτυξη ενός Έξυπνου συστήματος που παρέχει στον χρήστη προγραμματιστή την δυνατότητα πειραματισμού και εκμάθησης των λειτουργιών του. 2.1 Το Αναπτυξιακό Devboard G1 Εικόνα 5. DEVBOARD-G1 και uoled-160-g1. Το Devboard G1 είναι ένα συμπαγές και χαμηλού κόστους αναπτυξιακό της εταιρίας 4D Systems, το οποίο παρέχει ολοκληρομένη πλατφόρμα ανάπτυξης για τις οθόνες μoled-96-g1, μoled-128-g1 και μoled-160-g1 οι οποίες αποτελούν μια σειρά από Έξυπνες συσκευές οθόνης. 10

Το αναπτυξιακό περιέχει: Εικόνα 6. DEVBOARD-G1. Ενσωματωμένη υποδοχή για τροφοδοσία συνεχούς ρεύματος (DC) για την σύνδεση προσαρμογέα (adaptor) και υποστηρίζει τάση από 9V έως 12V. Σταθεροποιητές (5.0V και 3.3V) οι οποίοι παρέχουν περισσότερα από 500mA ρεύματος για την οθόνη και το κύκλωμα του χρήστη. Διακόπτη λειτουργίας και ενδεικτική λυχνία LED. 8 Ohm ηχείο για τον ήχο και τη μουσική. Διακόπτη RESET. Ακίδες 2 x 5 θηλυκές για μusb MB5 μονάδα από την οποία μπορεί να γίνει ενημέρωση μέσω του PmmC και μπορούν να γίνουν λήψεις κώδικα 4DGL. Ακίδες 1 x 5 αρσενικές για μusb-ce5 μονάδα από την οποία μπορεί να γίνει ενημέρωση μέσω του PmmC και μπορούν να γίνουν λήψεις κώδικα 4DGL Ακίδες 2 x 5 θηλυκές για μονάδες μoled-128-g1 και μoled-160-g1. Ακίδες 1 x 5 και 1Χ2 θηλυκές για μονάδα μoled-96-g1. 5 θέσεων διακόπτης joystick. Ράστερ 170 ακίδων για δημιουργία γρήγορου κυκλώματος. 11

2.1.1 Παρουσίαση υλικού Εικόνα 7. Συνδεσμολογία αναπτυξιακού DEVBOARD-G1. 2.1.1.1 μoled-96-g1 Το παρακάτω διάγραμμα απεικονίζει τις συνδέσεις που χρησιμοποιούνται για την τοποθέτηση της μoled-96-g1 οθόνης πάνω στο DEVBOARD-G1. Εικόνα 8. Συνδεσμολογία οθόνης μoled-96-g1. 2.1.1.2 μoled-128-g1 & μoled-160-g1 Στο επόμενο σχήμα φαίνονται οι συνδέσεις που χρησιμοποιούνται για να τοποθετηθεί μoled-128-g1 και μoled-160-g1 οθόνες πάνω στο DEVBOARD-G1. 12

Εικόνα 9. Συνδεσμολογία μoled-160-g1, μoled-128-g1. 2.1.1.3 μusb-mb5 (USB-Serial) Το παρακάτω διάγραμμα απεικονίζει τις 2x5 θηλυκές ακίδες (εμφανίζονται στο διάγραμμα με γκρι χρώμα) που χρησιμοποιούνται για την εισαγωγή της συσκευής μusb-mb5 πάνω στο DEVBOARD-G1. Οι βραχυκυκλωμένες ακίδες RX και ΤΧ επιτρέπουν την άμεση σύνδεση στα σήματα TX / RX μέσω του μusb στις συσκευές οθόνης 96/128/160-G1. Το μusb-mb5 τροφοδοτεί επίσης το αναπτυξιακό DEVBOARD-G1 με τάση 5 Volt. Εικόνα 10. Υποδοχή για σύνδεση μusb-mb5. 2.1.1.4 μusb-ce5 (USB-Serial) Στο ακόλουθο διάγραμμα εμφανίζονται οι 5 αρσενικές ακίδες (στο διάγραμμα παρουσιάζεται με γκρι χρώμα) που χρησιμοποιούνται για την σύνδεση της συσκευής μusb-ce5 πάνω στο αναπτυξιακό DEVBOARD-G1. Οι βραχυκυκλωμένες ακίδες RX και ΤΧ επιτρέπουν την άμεση σύνδεση στα σήματα TX / RX μέσω του μusb 13

στις συσκευές οθόνης 96/128/160-G1. Το μusb-mb5 τροφοδοτεί επίσης το αναπτυξιακό DEVBOARD-G1 με τάση 5 Volt. Εικόνα 11. Υποδοχή για σύνδεση μusb-ce5 2.1.1.5 Speaker Οι μoled-96/128/160-g1 οθόνες, κάτω από εφαρμογές προγραμμάτων της 4DGL μπορούν να αναπαράγουν σύνθετους ήχους και μουσική από τις αντίστοιχες ακίδες εισόδου και εξόδου (Ι/Ο pins). Με τη δημιουργία ενός παράλληλου βραχυκυκλώματος σε 2 ακίδες, οποιεσδήποτε από τις 3 ακίδες του jumper (JP6), θα ανακατευθυνθεί η έξοδος σε κάποια από τις 2 εξόδους IO1 ή το IO2 από την οθόνη στο κύκλωμα ήχου. Η οθόνη μoled-96-g1 έχει μόνο μια Ι/Ο την ΙΟ1, και ως εκ τούτου μπορούν να βραχυκυκλωθούν μόνο οι ακίδες ΙΟ1-SPK και να χρησιμοποιηθούν. Εν αντιθέσει, η οθόνη μoled-128-g1 και η οθόνη μoled-160- G1 μπορούν να χρησιμοποιήσουν για να αναπαράγουν ήχο είτε την ΙΟ1 είτε την ΙΟ2 και να μπορεί να βραχυκυκλωθεί το ζευγάρι των ακίδων όπως αναφέρθηκε στην αρχή της ενότητας. Εικόνα 12. Συνδεσμολογία SPEAKER. 14

2.1.1.6 Joystick - 5 θέσεων Το joystick είναι ένας πολυδιακόπτης θέσεων και κάθε θέση συνδέεται σε ένα κόμβο ενός δικτύου αντίστασης που σχηματίζει ένα διαιρέτη τάσης. Η ακίδα IO1 της οθόνης μoled-96/128/160-g1 μπορεί να προγραμματιστεί ως μετατροπέας εισόδου αναλογικός σε ψηφιακός (A2D) με την χρήση της γλώσσας 4DGL. Χρησιμοποιώντας το χαρακτηριστικό Α2D, κάθε θέση του διακόπτη μπορεί να διαβαστεί και να αποκωδικοποιηθεί. Χρησιμοποιώντας το παράλληλο βραχυ-κύκλωμα των 2 ακίδων του jumper (JP5) συνδέεται απευθείας στην έξοδο του κυκλώματος του joystick τάση η οποία οδηγείται στην ακίδα ΙΟ1 της οθόνης. Εικόνα 13. Συνδεσμολογία joystick. 2.1.1.7 Τροφοδοσία Το αναπτυξιακό DEVBOARD-G1 μπορεί να τροφοδοτηθεί με 5 Volt τάση που παρέχετε από της συσκευές μusb-mb5 ή το μusb-ce5 ή μπορεί να τροφοδοτείται από μια εξωτερική πρίζα (από 9 έως 12 Volts DC). Επίσης, έχει εγκοπές για τη συγκόλληση καλωδίου που οδηγεί σε μπαταρία 9 Volt. 15

Εικόνα 14. Τροφοδοσία αναπτυξιακού DEVBOARD-G1. 2.1.1.8 Κύκλωμα πρωτοτυποποίησης Το αναπτυξιακό DEVBOARD-G1 περιέχει ράστερ με 170 ακίδες (2 σετ των 5 γραμμών x 17 στήλες) και χρησιμοποιείται για την δημιουργία κυκλώματος. Κάθε στήλη αποτελείται από 5 υποδοχές και έχει μεταλλικές ταινίες μέσα στις υποδοχές, οι οποίες χρησιμοποιούνται για να συνδέονται μεταξύ τους οι γραμμές. Εικόνα 15. Ράστερ 170 ακίδων. 16

2.2 μoled-160-g1(gfx) Εικόνα 16. OLED οθόνη 1.7". Η οθόνη μoled-160 G1 (GFX) είναι μια συμπαγής (compact) και οικονομικά αποδοτική οθόνη η οποία χρησιμοποιεί την πιο σύγχρονη εξέλιξη της παθητικής μήτρας OLED (PMOLED) τεχνολογίας με την χρήση ενσωματωμένου επεξεργαστή γραφικών GOLDELOX-GFX2, ο οποίος παρέχει λειτουργικότητα stand-alone σε κάθε έργο. Τα εντυπωσιακά γραφικά, κείμενο, εικόνα, κινούμενη εικόνα και αμέτρητα άλλα χαρακτηριστικά φορτώνονται στον επεξεργαστή GOLDELOX-GFX2. Η συσκευή διαθέτει μικρά αλλά ολοκληρωμένα χαρακτηριστικά γνωρίσματα εισόδων/εξόδων που μπορούν να συνδεθούν buttons, joystick, αισθητήρια θερμοκρασίας Dallas 1-wire, σειριακές, αναλογικές, και ψηφιακές συσκευές. Με λίγα λόγια, η οθόνη μoled-160-g1 (GFX) προσφέρει μια από τις πιο ευέλικτες λύσεις ενσωματωμένων γραφικών που είναι διαθέσιμες. 17

2.2.1 Χαρακτηριστικά Εικόνα 17. Κύκλωμα οθόνης μoled-160-g1. Χαμηλού κόστους οθόνη OLED για απεικόνιση γραφικών Ανάλυση 160 x 128, 65K ζωντανά χρώματα, PMOLED οθόνη 1.7 διαγώνιο μέγεθος, 52 x 32 x 6.1 χιλιοστά. Ενεργή περιοχή: 33,6 mm x 27mm Δεν υπάρχει οπίσθιος φωτισμός για σχεδόν 180 ο γωνία θέασης. 10 ακίδες διεπαφής για επικοινωνίας με οποιαδήποτε εξωτερική συσκευή: VCC, TX, RX, GRD, RESET, IO1, IO2, 3.3V 2 θύρες GPIO υποστηρίζουν: o Ψηφιακή I/O o Μετατροπέα A/D με ανάλυση 8 / 10 bit o Complex γενιά ήχου o Συσκευή ήχου RTTTL o Joystick 5 επιλογών o Αισθητήριο θερμοκρασίας Dallas 1-wire 10K bytes flash μνήμης για αποθήκευση κώδικα του χρήστη και 510 bytes της RAM για μεταβλητές του χρήστη (255 x 16bit) Σειριακή διασύνδεση TTL με auto-baud δυνατότητα 300 έως και 256Κ baud Προσαρμογέας micro-sd κάρτας μνήμης για την αποθήκευση εικόνων, animation, βίντεο, κτλ. Υποστηρίζει από 64 MΒ έως 2GΒ micro-sd κάρτες μνήμης Η ολοκληρωμένη σειρά ενσωματώθηκε σε 4DGL υψηλού επιπέδου λειτουργίες γραφικών και αλγόριθμους ώστε να είναι δυνατή η σχεδίαση γραμμών, κύκλων, κειμένων και πολλών άλλων. Προβολή πλήρους έγχρωμων εικόνων, κινούμενων σχεδίων και βίντεο. Υποστηρίζει όλες τις διαθέσιμες γραμματοσειρές των Windows 18

Από 4.0V έως 5.5V φάσμα λειτουργίας (ενιαία παροχή) RoHS Compliant Εικόνα 18. Αντιστοίχιση ακίδων. Ακίδα Συμβολισμός Ι/Ο Περιγραφή 1 VCC I Κύρια τάση τροφοδοσίας +ve ακίδα εισόδου. Η αντίστροφη πολικότητα προστατεύεται. Το εύρος είναι από 4.0 έως 5.5V, ονομαστική τιμή 5.0V 2 NC - Χωρίς σύνδεση 3 TX O Ασύγχρονη σειριακή ακίδα μεταφοράς. Τα δεδομένα εξόδου είναι σε TTL επίπεδα τάσης. Η ακίδα αυτή συνδέεται σε εξωτερική σειριακή συσκευή παραλαβής (Rx). Ανεκτικότητα ακίδας σε επίπεδα έως και 5.0V 4 IO2 O Γενικού σκοπού ακίδα Ι/Ο2 5 RX I Ασύγχρονη σειριακή ακίδα παραλαβής. Η ακίδα αυτή συνδέεται σε εξωτερική συσκευή μεταφοράς. Η ακίδα είναι ανεκτική σε επίπεδα έως και 5.0V. 6 IO1 I Γενικού σκοπού ακίδα Ι/Ο1 7 GND P Γείωση 8 GND P Γείωση 9 RESET I Επαναφορά συστήματος. Καταναλώνει τάση μέχρι 3.3V μέσω μιας αντίστασης 4.7K. Ένας ενεργός Χαμηλός (LOW) παλμός άνω των 2μsec μπορεί να επαναφέρει την οθόνη. Η ακίδα αυτή δεν κατευθύνεται 19

10 3.3 Vout P σε κατάσταση LOW από εσωτερικές συνθήκες. 3.3V ρυθμιζόμενης εξόδου. Διαθέσιμο ρεύμα μέχρι 50mA σε κύκλωμα με εξωτερική πηγή. 2.3 GOLDELOX- GFX2 2.3.1 Περιγραφή Ο GOLDELOX- GFX2 είναι ένας ενσωματωμένος επεξεργαστής γραφικών ο οποίος έχει σχεδιαστεί για την διασύνδεση με πολύ δημοφιλή οθόνες, όπως οι OLED και οι LCD. Τα ισχυρά γραφικά, το κείμενο, οι εικόνες, τα κινούμενα σχέδια και πολλές άλλες δυνατότητες είναι χτισμένες πάνω στo chip. Προσφέρει ένα απλό plug-n-play για την διασύνδεση με πολλές 8bit έγχρωμες οθόνες LCD και OLED. Σχεδιάστηκε για να λειτουργεί με ελάχιστη προσπάθεια σχεδίασης και όλα τα σήματα δεδομένων και ελέγχου παρέχονται απευθείας στην οθόνη. Αυτό προσφέρει πολλά πλεονεκτήματα στον σχεδιαστή κατά την διαδικασία ανάπτυξης και εξοικονόμηση χρημάτων με αποτέλεσμα να απομακρύνεται η δυνατότητα χαμηλού επιπέδου σχεδιασμού. Ο GOLDELOX-GFX2 ανήκει σε μια οικογένεια επεξεργαστών που τροφοδοτείται από μια ιδιαίτερα βελτιστοποιημένη εικονική μηχανή EVE (Extensible Virtual Engine). Με λίγα λόγια ο ενσωματωμένος επεξεργαστής GOLDELOX-GFX προσφέρει μερικές από τις πιο ευέλικτες λύσεις ενσωματωμένων γραφικών. 2.3.2 Χαρακτηριστικά Χαμηλού κόστους OLED, LCD και TFT οθόνες γραφικών. Ιδανικό ως ένας αυτόνομος ενσωματωμένος επεξεργαστής γραφικών ή για διασύνδεση με οποιοδήποτε κεντρικό ελεγκτή. Συνδέεται με οποιαδήποτε έγχρωμη οθόνη που υποστηρίζει την 8bit σειρά 80-series με ευρεία αλληλεπίδραση στην CPU. Παρέχονται όλα τα δεδομένα και τα σήματα ελέγχου. Ενσωματωμένος υψηλής απόδοσης επεξεργαστή εικονικής μηχανής (EVE), με εκτεταμένο byte-code βελτιστοποιημένο για την 4DGL Υποστηρίζει GPIO θύρες: 20

o Ψηφιακή είσοδο-έξοδο o Αναλογικό σε ψηφιακό μετατροπέα με 8/10bit ανάλυση o Complex γενιά ήχου o Joystick πολλαπλών θέσεων o Αισθητήριο θερμοκρασία Dallas 1-Wire 10Κ bytes μνήμη flash για τον κώδικα του χρήστη και 510 bytes της RAM για αποθήκευση μεταβλητών του χρήστη 1x32 bit timers του συστήματος, διάρκειας 1msec 4x16 bit timers για το χρήστη, διάρκειας 1msec Ασύγχρονη σειριακή θύρα με auto-baud 300 σε 256K baud Θύρα SPI για διασύνδεση usd/usdhc κάρτες μνήμης ή σειριακή Flash μνήμη για αποθήκευση εικονιδίων, εικόνων, animation, κτλ Σύνολο γραφικών συναρτήσεων και αλγόριθμων, το οποίο μπορεί να σχεδιάζει γραμμές, κύκλους, κείμενο κ.α. βασισμένο στη γλώσσα υψηλού επιπέδου 4DGL Προβολή πλήρους χρώματος εικόνων, animation, εικονιδίων και βίντεο Εικόνα 19. GOLDELOX-GFX2. 21

Διαμόρφωση ακίδων και περίληψη Pin Συμβολισμός Είσοδος/έξοδος Περιγραφή 1 RD O Σήμα ανάγνωσης. Ο GOLDELOX- GFX2 αναγνωρίζει το σήμα αυτό ως χαμηλό (LOW) κατά την ανάγνωση των δεδομένων από την οθόνη. Συνδέεται στην ακίδα RD της οθόνης. 2 WR O Σήμα εγγραφής. Ο GOLDELOX-GFX2 αναγνωρίζει αυτό το σήμα ως χαμηλό (LOW) κατά την εγγραφή δεδομένων στην οθόνη. Συνδέεται στην ακίδα WR της οθόνης 3 REF P Φίλτρο πυκνωτή εσωτερικής τάσης. Συνδέεται ένας πυκνωτής από 4.7μF έως 10μF στην ακίδα της γείωσης. 4 RS O Επιλογή εγγραφής. LOW: εμφανίζεται όταν έχει επιλεγεί δείκτης ή κατάσταση εγγραφής. HIGH: εμφανίζεται όταν έχει επιλεγεί GRAM ή εγγραφή δεδομένων. 5 GND P Γείωση 6 CLK1 I Ρολόι συστήματος, εισάγεται 1 από τα 12MHz του κρύσταλλου. 7 CLK2 O Σύστημα 2 εισόδων ρολογιού των 12 MHZ κρυστάλλων 8 SDCS O SPI συσκευή. Συνδέεται στην ακίδα των σημάτων Chip Enable (CE ή CS) από εξωτερική SPI συσκευή (SD/SDHC κάρτα μνήμης, σειριακό Flash chip, κτλ) 9 CS O Chip select. Ο GOLDELOX-GFX2 αναγνωρίζει αυτό το σήμα ως χαμηλό, όταν παρέχεται πρόσβαση στην οθόνη. 22

Συνδέεται στην ακίδα Chip Select (CS) της οθόνης. 10 RES O RESET. Ο GOLDELOX-GFX2 εκκινεί την οθόνη με την μετατροπή αυτού του σήματος σε χαμηλό (LOW). Συνδέεται στην ακίδα Reset (RES) της οθόνης. 11 SCK O Σειριακή SPI έξοδος ρολογιού. Συνδέεται στην ακίδα SPI Serial Clock (SCK) από εξωτερική συσκευή. Ονομαστικά περιορίζεται για SD/SDHC κάρτες μνήμης ή σειριακή Flash μνήμη. 12 SDI I Σειριακή SPI είσοδος δεδομένων. Συνδέεται στην ακίδα SPI Serial Data Out (SDO) της οθόνης. Ονομαστικά περιορίζεται για SD/SDHC κάρτες μνήμης ή σειριακή Flash μνήμη. 13 SDO O Σειριακή SPI έξοδος δεδομένων. Συνδέεται στην ακίδα SPI Serial Data In (SDI) της οθόνης. Ονομαστικά περιορίζεται για SD/SDHC κάρτες μνήμης ή σειριακή Flash μνήμη. 14 TXO O Ασύγχρονη σειριακή ακίδα μετάδοσης. Τα δεδομένα εξόδου είναι σε TTL επίπεδα τάσης. Συνδέεται σε εξωτερικές συσκευές σημάτων λήψης (Rx). Είναι ανεκτική έως και 5.0 V τάση. 15 RXO I Ασύγχρονη σειριακή ακίδα λήψης. Συνδέεται σε εξωτερικές συσκευές σημάτων εκπομπής (Τx). Είναι ανεκτική έως και 5.0 V τάση. 16 GND P Γείωση 23

17 VCC P Θετική παροχή στην ακίδα της γείωσης. 18 D0 I/O Διάδρομος δεδομένων bit 0 19 D1 I/O Διάδρομος δεδομένων bit 1 20 D2 I/O Διάδρομος δεδομένων bit 2 21 D3 I/O Διάδρομος δεδομένων bit 3 22 D4 I/O Διάδρομος δεδομένων bit 4 23 D5 I/O Διάδρομος δεδομένων bit 5 24 D6 I/O Διάδρομος δεδομένων bit 6 25 D7 I/O Διάδρομος δεδομένων bit 7 26 RESET I Σήμα Master Reset. Συνδέεται μια αντίσταση 4.7K από την ακίδα αυτή στη γείωση. 27 IO1 I/O/A Γενικού σκοπού ακίδα ΙΟ1 28 IO2 I/O Γενικού σκοπού ακίδα ΙΟ2 PAD GND P Εκτεθειμένη επιφάνεια μετάλλου κάτω από το πακέτο. Πρέπει να συνδεθεί στην γείωση. I: Είσοδος O: Έξοδος Α: Αναλογικό P: Power 2.4 Personality Module Micro Code (PmmC) Εικόνα 20. PmmC Loader. Ένα από τα πιο σημαντικά χαρακτηριστικά γνωρίσματα της σειράς 4D ευφυών μονάδων είναι η δυνατότητα να μεταφορτώνουν λογισμικό για τους επεξεργαστές GOLDELOX ή PICASO με την χρήση μικρο-κώδικα (firmware) που επιτρέπει στην συσκευή να αλλάξει προσωπικότητα. Τα οφέλη είναι τα εξής: 24

Επιτρέπει στη συσκευή να αναβαθμιστεί εύκολα από τον χρήστη, ανά πάσα στιγμή, με ειδικά αρχεία συστήματος PmmC. Δεδομένου ότι απαιτούνται περαιτέρω βελτιώσεις οι οποίες θα γίνουν στο μέλλον, δίνει την δυνατότητα στον χρήστη να επωφεληθεί από τις ήδη υπάρχουσες. Οι συσκευές μπορούν πλέον να ενημερώνονται πολύ γρήγορα και αποτελεσματικά με την χρήση των τελευταίων διορθώσεων σφαλμάτων που έχουν γίνει. Επιτρέπει στον χρήστη να ανεβάσει ένα νέο λειτουργικό σύστημα (όποτε είναι διαθέσιμο) για να αλλάξει τη συσκευή πχ. από μια σειριακή πλατφόρμα οδήγησης σε πλατφόρμα γλώσσας υψηλού επιπέδου όπως η 4DGL. Μια ενσωματωμένη γλώσσα υψηλού επιπέδου, όπως η 4DGL επιτρέπει στα προγράμματα του χρήστη να τρέχουν απευθείας στους επεξεργαστές GOLDELOX και PICASO όπου οι λειτουργίες γραφικών μπορούν να εκτελεστούν πολύ πιο γρήγορα από την αποστολή των εντολών σειριακά. 2.5 PmmC Loader Το λογισμικό PmmC Loader είναι ένα εργαλείο για να γίνει η ενημέρωση του λογισμικού Firmware. Απαιτήσεις συστήματος Εγκατεστημένη η τελευταία έκδοση της εφαρμογής PmmCLoader.exe Λειτουργικό σύστημα Microsoft Windows (XP, Vista) που υποστηρίζει το.net framework 2.0 ή νεότερη έκδοση. Micro-USB (μusb-mb5 ή μusb-ce5), USB ως σειριακή γέφυρα συσκευής. Τα μusb-mb5 και μusb-ce5 υποστηρίζονται πλήρως από την εφαρμογή PmmC Loader. Οι συσκευές micro-usb παρέχουν απευθείας σειριακή σύνδεση υλικού ανάμεσα στον υπολογιστή και τον επεξεργαστή (GOLDELOX / PICASO) της συσκευής. Micro-USB drivers. Τα προγράμματα οδήγησης πρέπει να εγκατασταθούν για να παρέχουν την εικονική σειριακή σύνδεση μεταξύ του υπολογιστή και της συσκευής micro-usb. 25

Οι συσκευές (GOLDELOX / PICASO) που υποστηρίζου ενημέρωση αρχείων συστήματος (Firmware) μέσω PmmC Loader είναι οι ακόλουθες: o μoled-96-g1 o μoled-128-gmd1 o μoled-160-gmd1 o μoled-32024-pmd3 o μoled-32028-pmd3 o μlcd-128-gmd1 o μlcd-320-pmd2 o μlcd-32032-pmd3 o GOLDELOX-MD1 o PICASO-MD2 o μvga-picaso-md1 Η τελευταία έκδοση του αρχείου συστήματος PmmC. 2.6 Graphics Composer Software Tool Η εισαγωγή αρχείων (εικόνες, βίντεο) στην κάρτα μνήμης γίνεται με την χρήση του προγράμματος Graphics Composer 3.0. 2.6.1 Τύποι αρχείων *.gcs: Αρχείο που περιέχει το project που δημιουργείται ή τροποποιείται με την χρήση του Graphics Composer. *.TXT: δημιουργείται ή τροποποιείται όταν ένα slide show γράφεται στην SD κάρτα και χρησιμοποιεί τύπο σειριακής πλατφόρμας. Το όνομα του αρχείου είναι το ίδιο με το όνομα του project (*.gcs). Το txt αρχείο περιέχει τα ονόματα και τις θέσεις όλων των αντικειμένων πολυμέσων που φορτώνονται από το συγκεκριμένο project. *.GC: δημιουργείται ή τροποποιείται όταν ένα slide show γράφεται στην κάρτα SD με την πλατφόρμα 4DGL, με την επιλογή usd Raw ή FAT16 Raw Partition. *.GCI: δημιουργείται όταν επιλεχθεί να γίνει φόρτωση του αρχείου GCI. Περιέχει όλα τα αντικείμενα πολυμέσων που προστίθενται στο Graphics Composer σε συγκεκριμένη θέση σύμφωνα με την σειρά που έχουν τοποθετηθεί στο project. 26

*.DAT: δημιουργείται με το ίδιο όνομα που έχει δημιουργηθεί και το αρχείο GCI. Περιέχει τις πληροφορίες σχετικά με τη διεύθυνση των πολυμέσων στο αρχείο GCI και την προεπιλεγμένη θέση των αντικειμένων σε σχέση με την πάνω αριστερή γωνία της οθόνης, όπως ορίστηκαν στο Graphics Composer. 2.7 4DGL Workshop 3 Το 4DGL Workshop 3 IDE παρέχει ένα ολοκληρωμένο περιβάλλον ανάπτυξης λογισμικού για την τελευταία οικογένεια 4D επεξεργαστών, όπως είναι οι GOLDELOX-SGC, GOLDELOX-GFX2, PICASO-GFX2, PICASO-SGC και αντίστοιχες συσκευές οθόνης απεικόνισης. Το IDE συνδυάζει τον editor, τον μεταγλωττιστή και μπορεί να κατεβάσει τον κώδικα του χρήστη στον ενσωματωμένο επεξεργαστή γραφικών ή 4DGL Script στην κάρτα μνήμης για την ανάπτυξη εφαρμογών της 4DGL. Όλες οι εφαρμογές του χρήστη αναπτύσσονται με την χρήση του Workshop 3 IDE. Εικόνα 21. Workshop 3.0 IDE. Υπάρχει ένα πρόγραμμα τερματικού ώστε να διαπιστωθεί σειριακή επικοινωνία με την GFX μονάδα. Οι υποδείξεις του μεταγλωττιστή (compiler) που δημιουργούνται μετά την ολοκλήρωση της μεταγλώττισης του 4DGL κώδικα εμφανίζονται στο κάτω μέρος ενός διαιρεμένου παραθύρου. 27

2.7.1 Περιβάλλον μεταγλωττιστή Στο περιβάλλον του Compiler αναπτύσσονται 4DGL scripts τα οποία αποθηκεύονται στην κάρτα μνήμης. Η ρύθμιση της σειριακής θύρας και η ταχύτητα δεν απαιτούνται στην περίπτωση των scripts. Στη γραμμή εργαλείων υπάρχει το κουμπί Download με τη χρήση του οποίου γίνεται η μεταφορά των scripts στην κάρτα μνήμης. Επιπλέον, υπάρχει και το κουμπί Run το οποίο αλλάζει το περιβάλλον του μεταγλωττιστή σε Testing environment. Εικόνα 22. Περιβάλλον μεταγλωττιστή. 2.7.2 Text Editor Τα περισσότερα από τα κυρίως μενού περιέχουν κείμενο, λειτουργίες επεξεργασίας και εργαλεία. Στο πεδίου του text editor αναπτύσσετε ο κώδικας του χρήστη. Παρέχει την δυνατότητα αυτόματης συμπλήρωσης των εντολών ή των συναρτήσεων καθώς και σχόλια για την λειτουργία τους, με την χρήση των πλήκτρων ctrl+space. 28

Εικόνα 23. Αυτόματη συμπλήρωση εντολών. Επίσης, κατά την πληκτρολόγηση εντολών εμφανίζεται ένα υπόδειγμα, το οποίο παρέχει πληροφορίες για τον τρόπο σύνταξης, την χρήση και την λειτουργία της εντολής. 2.8 Font Tool Εικόνα 24. Οδηγίες σύνταξης εντολών. Η εφαρμογή Font Tool είναι ένα εργαλείο που χρησιμοποιείται για την μετατροπή γραμματοσειρών των Windows σε μορφή Bitmap η οποία απαιτείται από τις οθόνες της 4D. Πιο αναλυτικά, παρέχει στον χρήστη την δυνατότητα επεξεργασίας των γραμμάτων και των συμβόλων. Επιτρέπει την αλλαγή μεγέθους καθώς και τροποποίηση μεμονωμένων χαρακτήρων, όπως επίσης αλλαγή της θέσης του, του ύψους και του πλάτους του, το οποίο δεν θα πρέπει να υπερβαίνει το μέγεθος της γραμματοσειράς. Μόλις παραχθεί η επιθυμητή γραμματοσειρά, κατά την διαδικασία εξαγωγής της δημιουργούνται 3 αρχεία: *.H, το οποίο είναι κατάλληλο για χρήση σε γλώσσα προγραμματισμού C, *.inc, το οποίο είναι κατάλληλο για χρήση σε γλώσσα προγραμματισμού 4DGL 29

*.4DFontfile, το οποίο είναι κατάλληλο για εισαγωγή σε DISP ή σε usd κάρτα για χρήση από επεξεργαστή GFX2. Εικόνα 25. Font Tool. 2.9 Η γλώσσα 4DGL Η γλώσσα 4DGL είναι μια γλώσσα προγραμματισμού υψηλού επιπέδου η οποία είναι εύκολη στην εκμάθηση και απλή στην κατανόηση και αρκετά ισχυρή ώστε να εκτελέσει πολλές εφαρμογές ενσωματωμένων γραφικών. Πιο αναλυτικά, είναι μια γλώσσα προσανατολισμένη στα γραφικά που επιτρέπει την ταχεία ανάπτυξη εφαρμογών λόγω του ότι παρέχει μια εκτεταμένη βιβλιοθήκη γραφικών, κειμένων και λειτουργιών του συστήματος αρχείων και ευκολία της χρήσης της γλώσσας που συνδυάζει τα καλύτερα στοιχεία και τη συντακτική δομή των γλωσσών προγραμματισμού C, BASIC, PASCAL, κλπ, γλώσσες στις οποίες οι προγραμματιστές είναι εξοικειωμένοι. Περιλαμβάνει πολλές γνωστές εντολές, όπως IF..ELSE..ENDIF, WHILE..WEND, REPEAT..UNTIL, GOSUB..ENDSUB, GOTO όπως, επίσης, και μια πληθώρα (chip-resident) εσωτερικών συναρτήσεων που περιλαμβάνουν τις εντολές SERIN, SEROUT, GFX_LINE, GFX_CIRCLE και πολλά άλλα. 2.9.1 Περίληψη της γλώσσας 4DGL Ύφος γλώσσας: Η 4DGL είναι μια περίπτωση ευαίσθητης γλώσσας (sensitive language). Το χρώμα του κειμένου, στην εφαρμογή 4DGL workshop IDE, δείχνει αν η σύνταξη γίνεται δεκτή από τον μεταγλωττιστή (compiler) o Αριθμοί, ορίζονται ως δεκαδικοί, δεκαεξαδικοί ή δυαδικοί. 30

o Αναγνωριστικά, είναι ονόματα που χρησιμοποιούνται για αναφορά σε μεταβλητές, σταθερές, συναρτήσεις και υπορουτίνες. Τα στοιχεία που περιέχουν κενά, νέες γραμμές, κενά με την χρήση Tab αγνοούνται. Όλα αυτά είναι γνωστά ως White Space και χρησιμεύουν μόνο για να γίνει ο κώδικας πιο ευανάγνωστος και δεν επηρεάζουν την μεταγλώττιση. o Σχόλια, τα σχόλια είναι μια γραμμή ή μια παράγραφος κειμένου σε ένα αρχείο προγράμματος και όταν ο compiler επεξεργάζεται τον κώδικα δεν λαμβάνει υπόψη της εν λόγω γραμμές. o Re-defining pre-processor directives, είναι δυνατόν να προστεθεί και ένα άλλο στυλ γραφής στον επεξεργαστή με την χρήση του συμβόλου $ (οδηγία υποκατάστασης) για να μοιάζει περισσότερο σε κάποια άλλη γλώσσα. Ο compiler θα χρησιμοποιήσει αυτές τις νέες λέξεις όπως χρησιμοποιεί τα ψευδώνυμα και με τις οδηγίες θα τις ανακατευθύνει στην προεπιλογή. Σταθερές και μεταβλητές: o Μεταβλητές var: Όπως οι περισσότερες γλώσσες προγραμματισμού, έτσι και η 4DGL χρησιμοποιεί και αναγνωρίζει μεταβλητές και επεξεργάζεται το περιεχόμενό τους. Οι μεταβλητές είναι ονόματα που αναφέρονται σε κάποια θέση μνήμης μια θέση που κρατάει αποθηκευμένη μια τιμή. Οι μεταβλητές που είναι βασισμένες στην πλατφόρμα GFX, είναι προσημασμένοι 16 bit αριθμοί. Οι μεταβλητές ορίζονται με την δήλωση var και είναι global μεταβλητές (ορατές σε ολόκληρο τον κώδικα) όταν τοποθετούνται έξω από μια συνάρτηση ή private (ιδιωτικές, ορατές μόνο μέσα στην συνάρτηση) όταν τοποθετούνται μέσα σ αυτή. Επίσης, οι μεταβλητές μπορεί να είναι πίνακες. Τέλος, οι τοπικές μεταβλητές (local) δημιουργούνται μέσα στη στοίβα και είναι ορατές μόνο κατά την κλήση της συνάρτησης. o Ιδιωτικές μεταβλητές - var private: Κατά την ροή εκτέλεσης ενός προγράμματος, κάθε μεταβλητή που δηλώνεται μέσα στην συνάρτηση απορρίπτεται μετά την έξοδο από αυτήν, απελευθερώνοντας τη στοίβα. Για την χρήση της τιμής ή ενός πίνακα μιας μεταβλητής μετά το τέλος της εκτέλεσης της συνάρτησης θα πρέπει να ξαναδηλωθεί η 31

μεταβλητή ως private (ιδιωτική). Μια ιδιωτική μεταβλητή μπορεί να αρχικοποιηθεί όπως μια global ή μια τοπική μεταβλητή, ωστόσο, αν αρχικοποιηθεί κατά την εκκίνηση του προγράμματος στο κυρίως τμήμα του κώδικα (main) όπως μια global μεταβλητή, κάθε φορά που η συνάρτηση θα καλείται η τιμή που ορίστηκε στην αρχή του προγράμματος θα υπερισχύει. o Σταθερές - #constant: μια σταθερά είναι μια τιμή που δεν μπορεί να αλλάξει κατά την διάρκεια του χρόνου εκτέλεσης του προγράμματος. Η σταθερά μπορεί να δηλωθεί σε μία γραμμή με την χρήση της εντολής #constant. Κάθε σταθερά δηλώνεται με ένα μοναδικό όνομα το οποίο πρέπει να είναι έγκυρο αναγνωριστικό. Μια καλή πρακτική είναι τα ονόματα των σταθερών να γράφονται με κεφαλαία γράμματα. Η τιμή της σταθεράς μπορεί να εκφραστεί ως δεκαδικός αριθμός, δυαδικός αριθμός, δεκαεξαδικός αριθμός ή αλφαριθμητικό σύνολο χαρακτήρων. o Ενσωματωμένες σταθερές - Inbuilt Constants: μια ενσωματωμένη σταθερά είναι το μέγεθος της μνήμης. Ο compiler ελέγχει το πρόγραμμα και το μέγεθος της μνήμης κατά πόσο έχει υπερκαλυφθεί και αναφέρει μηνύματα σφάλματος. Αυτό γίνεται στην εφαρμογή workshop. o #CONST #END: Ένα πλήθος σταθερών μπορεί να δηλωθεί μεταξύ των εντολών #CONST.. #END. o Data Blocks - #DATA..END: Τα μπλοκ δεδομένων εισάγονται στον χώρο του κώδικα και μπορεί να είναι λέξεις ή αριθμοί. Τα δεδομένα δεν μπορούν να αλλάξουν κατά τη διάρκεια εκτέλεσης του προγράμματος (είναι μόνο για ανάγνωση). Ένα μπλοκ δεδομένων μπορεί να αναπαρασταθεί όπως ένας πίνακας. Η δήλωσή του ξεκινάει με την εντολή #DATA και τελειώνει με την εντολή #END. Κάθε δεδομένο πρέπει να δηλώνεται με ένα μοναδικό όνομα το οποίο πρέπει να είναι έγκυρο αναγνωριστικό. Επίσης, μπορεί να αναφέρεται σε συναρτήσεις ή μεταβλητές. 32

Pre-Processor Directives: o #IF, #IFNOT, #ELSE, #ENDIF: Οι εντολές προ-επεξεργασίας επιτρέπουν τον έλεγχο της τιμής μιας αριθμητικής έκφρασης ή την ύπαρξη μιας προκαθορισμένης σταθεράς ή το μέγεθος ενός πίνακα. Η εντολή #IFNOT δίνει το αντίθετο αποτέλεσμα της εντολής #IF. Σε συνδυασμό με τις εντολές #ELSE και #ENDIF υπό όρους παρέχουν τον έλεγχο των μπλοκ του κώδικα που θα εκτελεστούν. o #STOP: αυτή η εντολή τερματίζει την μεταγλώττιση. Χρησιμοποιείται κυρίως για τον εντοπισμό σφαλμάτων. o #USE, USING: Ο compiler μεταγλωττίζει όλες τις συναρτήσεις που συναντάει αλλά θα συνδέσει μόνο τις συναρτήσεις που έχουν κάποιο σημείο αναφοράς. Αυτό επιτρέπει να κληρονομήσει άλλα αρχεία που θα μπορούσαν να θεωρηθούν ως βιβλιοθήκες συναρτήσεων με την χρήση ρουτινών προς αυτές. Για την μείωση του χρόνου μεταγλώττισης και την βελτίωση της αναγνωσιμότητας του κώδικα, η χρήση των εντολών #USE USING βοηθάει για να συμπεριληφθούν επιλεκτικές λειτουργίες στις λειτουργίες #inherit files. Οι λειτουργίες που κληρονομούνται είναι μόνο αυτές που απαιτούνται από το συγκεκριμένο έργο. o #inherit: (σύνταξη: #inherit όνομα_αρχείου), συμπεριλαμβάνει ένα αρχείο προέλευσης. Στην εντολή #inherit μπορεί το αρχείο να είναι κάποιο data block, συνάρτηση ή μεταβλητή. o EXISTS, #ERROR, #MESSAGE, #NOTICE, sizeof, argcount Εκφράσεις και τελεστές Exressions and Operators: οι τελεστές κάνουν την 4DGL ισχυρή γλώσσα. Ένας τελεστής είναι μια συνάρτηση που εφαρμόζεται στις τιμές για να δώσει ένα αποτέλεσμα. Οι τελεστές μπορούν να πάρουν σαν όρισμα μια ή περισσότερες τιμές και να εκτελέσουν μια συνήθη λειτουργία. Πιο κοινοί είναι οι αριθμητικοί τελεστές. Άλλοι τελεστές που χρησιμοποιούνται είναι οι λογικοί τελεστές για τον χειρισμό δυαδικών ψηφίων. Οι εκφράσεις είναι συνδυασμοί τελεστών και τιμών. Οι τιμές που παράγονται από αυτές τις εκφράσεις μπορούν να χρησιμοποιηθούν ως μέρος μιας μεγαλύτερης έκφρασης ή μπορούν να αποθηκευτούν σε μεταβλητές. 33

Ροή ελέγχου: o if..else..endif: Η εντολή if else είναι μια εντολή αμφίδρομης απόφασης. Η εντολή if απαντά στο ερώτημα αν η συνθήκη είναι αληθής ή ψευδής και στην συνέχεια προχωράει σε κάποιες ενέργειες που έχουν οριστεί. o while..wend: μπαίνει σε ένα βρόγχο εντολών όσο μια συνθήκη είναι αληθής. Μπορεί να χρησιμοποιηθεί μόνο η εντολή while σε μια γραμμή χωρίς την εντολή wend. Ο βρόγχος while..wend αξιολογεί την συνθήκη πριν την εκτέλεση του κώδικα που περιέχετε σ αυτό και μέχρι να συναντήσει την εντολή wend. Αν η συνθήκη / έκφραση δώσει την τιμή FALSE στον πρώτο έλεγχο ο κώδικας δεν εκτελείται. o repeat..until/forever: με την εντολή αυτή μπαίνει σε έναν βρόγχο μέχρι η έκφραση να είναι αληθής. Ο βρόγχος θα εκτελεστεί τουλάχιστον μια φορά. Η εντολή repeat μπορεί να χρησιμοποιηθεί σε μια γραμμή με την εντολή until (συνθήκη), o goto: είναι μια εντολή διακλάδωσης η οποία όταν συναντάται αναγκάζει σε άλμα στην ετικέτα και συνεχίζει την εκτέλεση από την ετικέτα και μετά. Σε αντίθεση με την εντολή GOSUB η εντολή goto δεν επιστρέφει. Μπορεί να χρησιμοποιηθεί μόνο μέσα σε συνάρτηση και όλες οι ετικέτες είναι ιδιωτικές στο σώμα της συνάρτησης. Όλες οι ετικέτες πρέπει να ακολουθούνται από άνω κάτω τελεία :, o for..next: επαναλαμβάνει ένα σύνολο εντολών τόσες φορές όσες έχουν οριστεί. o switch..case: εκτελεί μια από τις περιπτώσεις που έχουν δηλωθεί αναλόγως με την τιμή που έχει δώσει η συνθήκη. o Break..continue: είναι πιθανό η έξοδος από τις while, repeat ή for να γίνει οποιαδήποτε στιγμή χρησιμοποιώντας την εντολή break. Όταν συναντάται η εντολή break ο βρόγχος σταματάει και συνεχίζει η εκτέλεση του προγράμματος εκτός του βρόγχου. Είναι σημαντικό να σημειωθεί ότι όταν χρησιμοποιούνται εμφωλευμένοι βρόγχοι η εντολή break βγαίνει από τον τρέχων βρόγχο, ενώ ο εξωτερικός συνεχίζει να εκτελείται. Η εντολή continue παραλείπει 34

όλες τις υπόλοιπες εντολές και συνεχίζει την εκτέλεση του κώδικα από την αρχή του βρόγχου. Συναρτήσεις και υπορουτίνες: o gosub endsub: Ξεκινά την εκτέλεση των εντολών που βρίσκονται κάτω από την ετικέτα (όνομα_υπορουτίνας) μέχρι να φτάσει στην εντολή endsub και στο μεταξύ επιστρέφει στο σημείο που βρήκε την ετικέτα της υπορουτίνας. Χρησιμοποιείται μόνο μέσα σε μια συνάρτηση και οι ετικέτες της είναι ιδιωτικές μέσα στο σώμα της συνάρτησης. Όλες οι υπορουτίνες πρέπει να τελειώνουν με endsub; και όλες οι ετικέτες πρέπει να ακολουθούνται από άνω κάτω τελεία :. o func..endfunc: Κάθε συνάρτηση έχει ένα μοναδικό όνομα και μπορεί να χρησιμοποιηθεί πολλές φορές, μπορεί δηλαδή να κληθεί σε πολλά σημεία του κώδικα. Μπορεί επίσης να επιστρέφει μια τιμή. Θεωρούνται μικρά προγράμματα μέσα στο κυρίως πρόγραμμα. Πλεονεκτήματα συναρτήσεων: Λιγότερη επικάλυψη του κώδικα - πιο ευανάγνωστα προγράμματα / ενημέρωση προγραμμάτων. Εύκολη αποσφαλμάτωση κάθε συνάρτηση μπορεί να ελεγχθεί ξεχωριστά. Επαναχρησιμοποίηση του κώδικα οι ίδιες λειτουργίες μπορούν να χρησιμοποιηθούν σε διάφορα προγράμματα. o Return: Η εντολή αυτή επιστρέφει από μια συνάρτηση. Μπορεί να ακολουθείται από μια μεταβλητή, που σημαίνει ότι επιστρέφει την τιμή που υπολογίστηκε στην συνάρτηση. o SystemReset, η εντολή αυτή προκαλεί την επαναφορά και την επανεκκίνηση του προγράμματος. Υπάρχει καθυστέρηση 2 δευτερολέπτων πριν την επανεκκίνηση, αυτό οφείλεται στο χρόνο εκκίνησης του EVE. o ProgramExit: αυτή η συνάρτηση επαναφέρει την αντίθεση της οθόνης στο 0 και τοποθετεί την οθόνη σε κατάσταση αναμονής χαμηλής ισχύος. 35

o Argcount(όνομα συνάρτησης): Χρησιμοποιείται συχνά για να πάρει το πλήθος των στοιχείων όταν χρησιμοποιείται ο τελεστής @ ως δείκτης. o @(δείκτης/αναφορά): ορίσματα μιας συνάρτησης μπορούν να επιστραφούν χρησιμοποιώντας τον δείκτη @. Ειδικές εσωτερικές συναρτήσεις επεξεργαστή (chip resident): o εσωτερικές συναρτήσεις του επεξεργαστή GOLDELOX-GFX2 GPIO Functions, οι οποίες καθορίζουν τις εισόδους και εξόδους του συστήματος και την ανάγνωση ή εγγραφή δεδομένων. Memory Access Functions, είναι συναρτήσεις οι οποίες ελέγχουν (διαβάζουν, συγκρίνουν) τις διευθύνσεις τις μνήμης. User Stack Functions, είναι συναρτήσεις που αναφέρονται στην στοίβα. Maths Functions, μαθηματικές συναρτήσεις που χρησιμοποιούνται για μαθηματικές πράξεις δυαδικών, δεκαδικών και δεκαεξαδικών αριθμών. Text and String Functions, συναρτήσεις οι οποίες αναφέρονται στην επεξεργασία κειμένου Graphics Functions, συναρτήσεις γραφικών οι οποίες μπορούν να δημιουργήσουν γραφικά όπως κύκλους, τετράγωνα, πολύγωνα κ.α., να αλλάξουν το χρώμα τους, το μέγεθός τους, το σημείο της οθόνης όπου θα εμφανιστούν κτλ. Display I/O Functions, ο επεξεργαστής πρέπει να γνωρίζει όλες τις συσκευές που έχουν συνδεθεί καθώς τον τρόπο που μπορεί να έχει πρόσβαση σ αυτά. Για τον σκοπό αυτό χρησιμοποιούνται οι συναρτήσεις αυτής της κατηγορίας. Media Functions (SD/SDHC Memory Card or Serial Flash chip), οι συναρτήσεις που αφορούν τα πολυμέσα χρησιμοποιούνται για την ανάγνωση των πολυμέσων από την κάρτα μνήμης καθώς και τον τρόπο που θα εμφανιστούν. Επίσης, έχουν την δυνατότητα εγγραφής πολυμέσων στην κάρτα μνήμης. 36

Flash Memory Chip Functions, οι συναρτήσεις αυτής της ενότητας ισχύουν μόνο για τη διαχείριση FLASH συσκευών σειριακής εισόδου (SPI) που είναι συνδεδεμένες στον GOLDELOX-GFX2. SPI Control Functions, οι SPI συναρτήσεις μπορούν να διαχειριστούν γενικού σκοπού σειριακές συσκευές. Serial (UART) Communications Functions, οι συναρτήσεις αυτής της κατηγορίας ελέγχουν τις εισόδους και δρομολογούν τα δεδομένα από και προς την κατάλληλη είσοδο/έξοδο. Sound and Tune (RTTTL) Functions, με τη χρήση των συναρτήσεων αυτής της κατηγορίας είναι δυνατή η αναπαραγωγή, η παύση και ο τερματισμός ενός ήχου. General Purpose Functions, οι συναρτήσεις γενικού σκοπού αφορούν την χρονοκαθυστέριση που μπορεί να οριστεί μεταξύ των εντολών που εκτελούνται και την αναζήτηση σταθερών με την χρήση ενός κλειδιού. o εσωτερικές συναρτήσεις του επεξεργαστή PICASO-GFX 2.10 Το αισθητήριο θερμοκρασίας 1-Wire DS18B20 Εικόνα 26. Ψηφιακό αισθητήριο θερμοκρασίας DS18B20. Το ψηφιακό αισθητήριο DS18B20 βασίζεται στο πρωτόκολλο 1-Wire TM και για την επικοινωνία του χρησιμοποιεί ένα μοναδικό καλώδιο και ακολουθεί μια συγκεκριμένη ακολουθία εντολών. Ανήκει στην κατηγορία των έξυπνων αισθητηρίων, επειδή έχει τη δυνατότητα μετατροπής της θερμοκρασίας σε ψηφιακή μορφή. Το κυριότερο χαρακτηριστικό του αισθητηρίου είναι το εύρος θερμοκρασιών που υποστηρίζει, το οποίο κυμαίνεται από -55 ο C έως +128 ο C με ανάλυση 9, 10, 11, 37

12 Bit, δηλαδή ανά 0.5, 0.25, 0.125, 0.0625 ο C αντίστοιχα. Ένα ακόμα χαρακτηριστικό του είναι ότι μπορεί να λειτουργήσει με δύο τρόπους τροφοδοσίας, παρασιτική ή εξωτερική. 2.11 LDR Light Dependent Resistor Εικόνα 27. LDR. Φωτοευαίσθητη αντίσταση (LDR) είναι μια αντίσταση της οποίας η τιμή (Ohm) μεταβάλλεται ανάλογα με το φως που πέφτει επάνω. Το LDR δέχεται μια αναλογική τιμή και συνδέεται σε έναν αναλογικό σε ψηφιακό μετατροπέα (ADC) ο οποίος είναι συνδεδεμένος στην είσοδο IO1 του επεξεργαστή γραφικών. Έχει τη δυνατότητα ανάλυσης 8 ή 10 Bit. 38

Κεφάλαιο 3 39

3. Υλοποίηση Έπειτα από την περιγραφή του θεωρητικού υποβάθρου, η οποία ήταν απαραίτητο να αναπτυχθεί στα προηγούμενα κεφάλαια, σ αυτό το κεφάλαιο περιγράφεται η διαδικασία υλοποίησης της κατασκευής σε επίπεδο υλικού και λογισμικού. Αρχικά, ασχοληθήκαμε κυρίως με την έρευνα σχετικά με τις εφαρμογές που μπορούν να αναπτυχθούν με τη χρήση του συγκεκριμένου αναπτυξιακού και της οθόνης μoled-160-gfx καθώς επίσης και τη διαχείριση ψηφιακών αισθητηρίων. Μετέπειτα, ασχοληθήκαμε με τα τμήματα από τα οποία αποτελούνται το αναπτυξιακό και η οθόνη και την μεταξύ τους διασύνδεση. Μελετώντας προσεκτικά, για μεγάλο χρονικό διάστημα, τα εγχειρίδια που παρέχει η εταιρία 4D Systems για το υλικό, τα προγράμματα και για την γλώσσα προγραμματισμού ήμασταν σε θέση να αναπτύξουμε μικρά κομμάτια κώδικα στα οποία χρησιμοποιήσαμε αρκετές από τις εσωτερικές συναρτήσεις της 4DGL. Σημαντικό ρόλο έπαιξε η σχεδίαση ενός διαγράμματος ροής ώστε να έχουμε μια ολοκληρωμένη εικόνα της τελικής εφαρμογής. 40

Εικόνα 28. Διάγραμμα ροής. 41

Στις επόμενες ενότητες παρουσιάζεται αναλυτικά η διαδικασία υλοποίησης του «Έξυπνου ψηφιακού πορτραίτου». 3.1 Υλοποίηση υλικού 3.1.1 Ενημέρωση Firmware Το πρώτο βήμα της διαδικασίας υλοποίησης είναι η ενημέρωση του λογισμικού Firmware της οθόνης ώστε να λειτουργεί σε πλατφόρμα 4DGL. Κατόπιν σύνδεσης των ακίδων 1, 3, 5, 7 και 9 με την συσκευή μusb-ce5, τοποθετείται στην θύρα USB του υπολογιστή. Εικόνα 29. Σύνδεση μoled-160-g1 - μusb-ce5. Με την χρήση του εργαλείου PmmC Loader μεταφορτώνεται το κατάλληλο firmware στην οθόνη. Μετά την ολοκλήρωση της διαδικασίας η οθόνη είναι έτοιμη για χρήση. Εικόνα 30. PmmC Loader - Ενημέρωση firmware. Το επόμενο βήμα είναι η αποσύνδεση του μusb-ce5 από την οθόνη και τοποθέτησή του πάνω στο DEVBOARD-G1 καθώς και η τοποθέτηση της οθόνης πάνω σ αυτό. 42

Εικόνα 31. Σύνδεση DEVBOARD G1 - μusb-ce5 - μoled 160 G1. 3.1.2 Μεταφόρτωση πολυμέσων Απαραίτητο είναι να συμπεριληφθούν κάποια αρχεία πολυμέσων στην εφαρμογή. Για το σκοπό αυτό με την χρήση του εργαλείου Graphics Composer μετα-φορτώνονται τα αρχεία εικόνας και βίντεο στην κάρτα μνήμης Micro-SD. Εικόνα 32. Graphics Composer 3.0. Στο κάτω δεξί μέρος του παραθύρου εμφανίζονται οι επιλογές διαστάσεων της οθόνης (Screen size). Με την επιλογή της κατάλληλης ανάλυσης (160x128) το μαύρο πλαίσιο που υπάρχει ακριβώς από πάνω προσαρμόζεται στις διαστάσεις που έχουν επιλεγεί. Στην αριστερή μεριά του παραθύρου υπάρχει το πεδίο Entries. Κάνοντας κλικ στο Add εμφανίζεται το ακόλουθο παράθυρο στο οποίο δίνεται η δυνατότητα να 43

επιλεγούν αρχεία βίντεο (βίντεο ή κινούμενα σχέδια) τύπου.wmv, avi,.vob,.mpg και αρχεία εικόνας (απλή / πολλαπλή εικόνα) τύπου.jpg,.bmp,.gif,.wmf,.ico,.png. Αφού γίνει η επιλογή των αρχείων εμφανίζονται σε μια λίστα στο πεδίο Entries. Οι προεπιλεγμένες διαστάσεις των εικόνων, κινούμενων εικόνων / βίντεο αναφέρονται στο αρχείο.dat και ως εκ τούτου μόνο από μπορούν να χρησιμοποιηθούν μόνο με 4DGL εντολές. Η εφαρμογή Graphics Composer δεν παρέχει πολλές δυνατότητες επεξεργασίας της εικόνας, γι αυτό οι εικόνες πρέπει να επεξεργάζονται πριν γίνει η εισαγωγή τους στην εφαρμογή. Η διαγραφή ενός αρχείου από την λίστα γίνεται επιλέγοντας και πατώντας delete από το πληκτρολόγιο. Για την διαγραφή πολλών αρχείων υπάρχει η δυνατότητα πολλαπλής επιλογής με την χρήση του πλήκτρου Shift. Επίσης, τα αρχεία μπορούν να ανακαταταχθούν επιλέγοντάς τα και μετακινώντας τα σε άλλο σημείο της λίστας. Στο μεταξύ, αφού τελειώσει η επιλογή των αρχείων πρέπει να αποθηκευτούν οι αλλαγές. Αυτό γίνετε από την γραμμή εργαλείων υπάρχει το εικονίδιο της δισκέτας ή από το μενού File Save / Save As. Μετά την αποθήκευση δημιουργείται ένα αρχείο.gcs. 3.1.2.1 Ρυθμίσεις εικόνας Το Bit Depth χρησιμοποιείται για να ορίσει τον αριθμό των bits που θα εκπροσωπήσουν ένα pixel. Τα 8 bit δεν δίνουν πολύ καλή ποιότητα εικόνας αλλά εξοικονομούν περισσότερο χώρο στην κάρτα μνήμης. Εν αντιθέσει τα 16 bit προσφέρουν καλύτερη ποιότητα εικόνας, αλλά καταλαμβάνουν περισσότερο χώρο στην κάρτα μνήμης. Οι εικόνες μπορούν να μετακινηθούν από την προεπιλεγμένη θέση μετακινώντας την με το ποντίκι ή αλλάζοντας τις τιμές στο πεδίο Position Default X και Default Y. Η ρύθμιση του πλάτους και του ύψους της εικόνας γίνεται στο πεδίο Position Width και Height. Οι τιμές των διαστάσεων πρέπει να είναι εντός των ορίων της ανάλυσης της οθόνης. Κάνοντας κλικ στο Edit εμφανίζεται το ακόλουθο παράθυρο, στο οποίο υπάρχουν περισσότερες πληροφορίες για τα χαρακτηριστικά, τις διαστάσεις και κάθε καρέ αν είναι κινούμενη εικόνα ή βίντεο. Επίσης, δίνετε η δυνατότητα περικοπής και αλλαγής διαστάσεων της εικόνας, του βίντεο ή της κινούμενης εικόνας. 44

Εικόνα 33. Επεξεργασία εικόνας. 3.1.2.2 Ρυθμίσεις Κινούμενης εικόνας / Βίντεο Το Bit Depth χρησιμοποιείται για να ορίσει τον αριθμό των bits που θα εκπροσωπήσουν ένα pixel. Τα 8 bit δεν δίνουν πολύ καλή ποιότητα βίντεο αλλά εξοικονομούν περισσότερο χώρο στην κάρτα μνήμης. Εν αντιθέσει τα 16 bit προσφέρουν καλύτερη ποιότητα βίντεο, αλλά καταλαμβάνουν περισσότερο χώρο στην κάρτα μνήμης. Τα βίντεο μπορούν να μετακινηθούν από την προεπιλεγμένη θέση μετακινώντας τα με το ποντίκι ή αλλάζοντας τις τιμές στο πεδίο Position Default X και Deftault Y. Η ρύθμιση του πλάτους και του ύψους του βίντεο γίνεται στο πεδίο Position Width και Height. Οι τιμές των διαστάσεων πρέπει να είναι εντός των ορίων της ανάλυσης της οθόνης. Κάνοντας κλικ στο Edit εμφανίζεται το ακόλουθο παράθυρο. 45

Εικόνα 34. Επεξεργασία βίντεο. Στο πλαίσιο Attributes εμφανίζονται πληροφορίες για τις παραμέτρους του βίντεο. Στο πλαίσιο Selection Window in Input μπορούν να οριστούν οι διαστάσεις εισόδου του βίντεο, δηλαδή μέγεθος του βίντεο που θα εμφανιστεί, αποκόπτοντας ορισμένα σημεία. Στο πλαίσιο Output γίνεται ρύθμιση των διαστάσεων (Width και Height) εξόδου του βίντεο, αφορά δηλαδή τις διαστάσεις που θα έχει το βίντεο στην οθόνη. Οι διαστάσεις εξόδου πρέπει να είναι εντός ορίων της οθόνης για να μην υπάρχει απώλεια pixel. Η αρχή και το τέλος του βίντεο μπορεί να οριστεί από τα Start Frame και End Frame. Η ρύθμιση της εναλλαγής των frames γίνεται από το πεδίο Frame Delay, όπου μεταβάλλοντας την τιμή ρυθμίζονται τα msec της καθυστέρησης εναλλαγής των frames. 3.1.2.3 Ρυθμίσεις Εξόδου Αρχικά, πρέπει να γίνει αποθήκευση του project. Έπειτα, μεταβαίνοντας από το μενού File Build ή πατώντας από την εργαλειοθήκη το εικονίδιο Build ( ) εμφανίζεται ένα παράθυρο με τις επιλογές φόρτωσης του αρχείο GCS στην κάρτα μνήμης. 46

Εικόνα 35. Ρυθμίσεις πλατφόρμας. Build type: αφορά τον τύπο της οθόνης. Για την οθόνη μoled-160-gfx ο κατάλληλος τύπος είναι 4DGL, SGC Picaso usd Raw GCI at Specified Offset. Η επιλογή αυτή απομακρύνει κάθε είδους διαμόρφωση των αρχείων από τον δίσκο, αποθηκεύει απευθείας στην usd κάρτα ξεκινώντας από τον τομέα Offset που έχει οριστεί και παράγει τα αρχεία.txt,.dat και.gc τα οποία περιέχουν πληροφορίες που χρησιμοποιούνται από εντολές της γλώσσας 4DGL. Drive: στην λίστα που περιέχει αυτό το πεδίο εμφανίζονται οι διαθέσιμες μονάδες δίσκων στις οποίες μπορούν να φορτωθούν τα αρχεία. Folder / File: τα πεδία αυτά είναι ανενεργά στον συγκεκριμένο τύπο οθόνης. Sector offset: Ορίζεται ο τομέας του δίσκου και δείχνει το πρώτο σημείο από το οποίο θα ξεκινήσει η αποθήκευση των αρχείων. Κάνοντας κλικ στο OK ξεκινάει η διαδικασία φόρτωσης των αρχείων στην κάρτα μνήμης. Αφού ολοκληρωθεί η διαδικασία, το τελευταίο βήμα είναι η αντιγραφή του αρχείο.gc στον φάκελο που θα αποθηκευτεί ο κώδικας 4DGL. Το αρχείο.gc εμφανίζεται κάνοντας κλικ από την γραμμή εργαλείων στο εικονίδιο GC. 47

Εικόνα 36. Εξαγωγή αρχείου Gc. Στην παρακάτω εικόνα φαίνεται το αρχείο *.GC το οποίο πρέπει να αποθηκευτεί με την κατάληξη.gc (πχ. name.gc) Εικόνα 37. Αρχείο Gc. 48

Στο σημείο αυτό οι φωτογραφίες και τα πολυμέσα έχουν αποθηκευτεί στην κάρτα μνήμης, η οποία τοποθετείται στην οθόνη. 3.1.3 Προσαρμοσμένη γραμματοσειρά Η οθόνη δεν έχει την δυνατότητα να παρέχει όλους τους χαρακτήρες που υπάρχουν, καθώς προεπιλεγμένη είναι μια γραμματοσειρά μόνο με λατινικούς χαρακτήρες. Οι απαιτήσεις σχετικά με την χρήση ελληνικών γραμμάτων στην τελική εφαρμογή μας οδήγησαν στην χρήση του εργαλείου Font-Tool, το οποίο όπως αναφέρθηκε σε προηγούμενο κεφάλαιο χρησιμοποιείται για τη δημιουργία ή την προσαρμογή γραμματοσειρών. Στο πεδίο Font είναι διαθέσιμες όλες οι γραμματοσειρές που περιλαμβάνουν τα Windows, επίσης δίνεται η δυνατότητα δημιουργίας μιας γραμματοσειράς. Αφού επιλεγεί μια γραμματοσειρά εμφανίζονται οι χαρακτήρες στο δεξί πλαίσιο. Εικόνα 38. Γραμματοσειρα με μικρή ανάλυση. Στο πεδίο Character Operation υπάρχει η δυνατότητα αντιγραφής, επικόλλησης, επαναφοράς και αντικατάστασης κάθε χαρακτήρα ξεχωριστά. Επιλέγοντας έναν χαρακτήρα μπορεί να τροποποιηθεί κάνοντας κλικ στα κουτάκια του μικρού πλαισίου. Επίσης, είναι δυνατή η αλλαγή της ανάλυσης κάθε χαρακτήρα με την αλλαγή του ύψους κάθε χαρακτήρα. Το πλάτος αλλάζει αυτόματα. Όσο αυξάνεται η ανάλυση των χαρακτήρων είναι πιο ευδιάκριτα στην οθόνη. 49

Εικόνα 39. Γραμματοσειρά με μεγάλη ανάλυση. Τέλος, κάθε χαρακτήρας μπορεί να μετακινηθεί μέσα στο πλαίσιο του χρησιμοποιώντας τα βελάκια που υπάρχουν πάνω από το πλαίσιο κάθε χαρακτήρα. Αφού ολοκληρωθεί η τροποποίηση των γραμμάτων πρέπει να γίνει εξαγωγή της γραμματοσειράς για να συμπεριληφθεί στον φάκελο που θα αποθηκευτεί ο κώδικας 4DGL. Κάνοντας κλικ στο κουμπί Export δημιουργείται το αρχείο γραμματοσειράς *.inc. 3.1.4 DS18B20 Στο κάτω μέρος του αναπτυξιακού υπάρχει ένα ράστερ 10 x 17 ακίδων στο οποίο μπορεί να δημιουργηθεί κύκλωμα το οποίο μπορεί να συμπεριλαμβάνει αισθητήρια. Το ψηφιακό αισθητήριο θερμοκρασίας 1-Wire Dallas 18B20 για να λειτουργήσει πρέπει να συνδεθεί το pin 1 στη γείωση (GND), το pin 2 στην ακίδα Ι/Ο, το pin 3 στα 5V και να τροφοδοτηθεί με 3.3V. 3.1.5 LDR Εικόνα 40. Κύκλωμα σύνδεσης DS18B20. Ήταν απαραίτητη η δημιουργία κυκλώματος για την σύνδεση ενός LDR. Στο επόμενο διάγραμμα φαίνεται το κύκλωμα σύνδεσης του LDR το οποίο χρησιμοποιείται για την μέτρηση και την καταγραφή των αλλαγών του φωτός του περιβάλλοντος. 50

Εικόνα 41. Κύκλωμα σύνδεσης LDR. 3.1.6 Κύκλωμα DS18B20 και LDR Για την σωστή λειτουργία των δύο αισθητηρίων ήταν απαραίτητη η χρήση ενός διακόπτη για να ξεχωρίζει ο επεξεργαστής γραφικών τις λειτουργίες τους. Και τα δύο αισθητήρια είναι συνδεδεμένα στην ακίδα ΙΟ1, όπως επίσης και το joystick. Με την χρήση του διακόπτη μπορεί να επιλεγεί αν θα λειτουργεί το αισθητήριο θερμοκρασίας, η φωτοευαίσθητη αντίσταση ή το joystick. Στην παρακάτω εικόνα φαίνεται ο τρόπος διασύνδεσής τους. 3.2 Ανάπτυξη κώδικα 4DGL Εικόνα 42. Σύνδεση αισθητηρίων. Έπειτα από την ολοκλήρωση της συνένωσης όλων των απαραίτητων υλικών στην τελική κατασκευή, επόμενο βήμα ήταν ή ανάπτυξη του λογισμικού. Το βήμα αυτό αποτέλεσε ουσιαστικά την μεγαλύτερη πρόκληση για μας αφού η γλώσσα προγραμματισμού που χρησιμοποιήθηκε ήταν άγνωστη για μας. 3.2.1 Εκκίνηση Θέτοντας σε λειτουργία τη συσκευή από τον διακόπτη ON/OFF, η αρχική δραστηριότητα είναι να γίνει έλεγχος της φωτεινότητας του χώρο με σκοπό να ρυθμιστεί κατάλληλα η αντίθεση της οθόνης. Για να γίνει αυτό πρέπει να τοποθετηθεί 51