Συσκευή USB για µέτρηση µαγνητικού πεδίου µε αισθητήρα Hall (γκαουσόµετρο Hall)

Μέγεθος: px
Εμφάνιση ξεκινά από τη σελίδα:

Download "Συσκευή USB για µέτρηση µαγνητικού πεδίου µε αισθητήρα Hall (γκαουσόµετρο Hall)"

Transcript

1 ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ & ΜΗΧΑΝΙΚΩΝ ΗΛ.ΥΠΟΛΟΓΙΣΤΩΝ ΙΠΛΩΜΑΤΙΚΗ ΕΡΓΑΣΙΑ Συσκευή USB για µέτρηση µαγνητικού πεδίου µε αισθητήρα Hall (γκαουσόµετρο Hall) ΟΝΟΜΑΤΕΠΩΝΥΜΟ : ΜΠΕΛΗΣ ΓΕΩΡΓΙΟΣ ΕΠΙΒΛΕΠΩΝ : ΚΑΘΗΓΗΤΗΣ ΛΙΤΣΑΡ ΑΚΗΣ ΓΕΩΡΓΙΟΣ ΘΕΣΣΑΛΟΝΙΚΗ, 23/03/2011

2 Πρόλογος Με την ολοκλήρωση της παρούσας διπλωµατικής εργασίας, που αποτελεί και το τελευταίο στάδιο των προπτυχιακών µου σπουδών στο τµήµα Ηλεκτρολόγων Μηχανικών της Πολυτεχνικής Σχολής του Αριστοτελείου Πανεπιστηµίου Θεσσαλονίκης, επιθυµώ να ευχαριστήσω όλους όσους µε βοήθησαν και µου συµπαραστάθηκαν, τόσο πρακτικά όσο και ηθικά µέχρι την τελική της σύνταξη. Πρώτα από όλα θέλω να εκφράσω τις θερµότερες ευχαριστίες µου στον Καθηγητή Γεώργιο Λιτσαρδάκη για την ανάθεση της διπλωµατικής εργασίας, καθώς και για την ουσιαστική παρουσία του σε κάθε βήµα αυτού του εγχειρήµατος.η συνεισφορά του ήταν κάτι παραπάνω από ανεκτίµητη σε δύσκολη περίοδο της ζωής µου.μου άνοιξε πραγµατικά ένα «δρόµο» στο επίπεδο της µικροηλεκτρονικής και του προγραµµατισµού, που είναι πολύ σηµαντικός για την µετέπειτα επαγγελµατική µου σταδιοδροµία,µιας και µου γεννήθηκε το κίνητρο για περαιτέρω ενασχόλησή µου πάνω σ αυτά τα αντικείµενα. Επίσης θα ήθελα να ευχαριστήσω τους γονείς µου Σωτήρη και Βασιλική για την κατανόηση, την πολύτιµη συµπαράσταση τους αλλά και την υποστήριξή τους σε κάθε µου βήµα στην µέχρι τώρα ζωή µου. Αφιερωµένη εξαιρετικά στην µητέρα µου Βασιλική,που δεν πρόλαβε να δει τα τελευταία µου βήµατα και την ολοκλήρωση των προσπαθειών όλης της οικογένειας, στο να τελειώσω µε επιτυχία την προπτυχιακή µου φοίτηση στο Πολυτεχνείο. Θεσσαλονίκη, 22/03/2011 Γεώργιος Μπέλης Α.Ε.Μ

3 Πίνακας Περιεχοµένων 1. Περίληψη... 4 Abstract Στάθµη Γνώσεων Αισθητήρες Φαινοµένου Hall (transducers) Ανάλυση Μαγνητικού Αισθητήρα Φαινοµένου Hall Κατασκευαστική Υλοποίηση Αισθητήρα Φαινοµένου Hall-A Κατασκευή Ανάλυση και Ρύθµιση του Software του Κυκλώµατος Ανάλυση ADC Αντιστοίχιση αναλογικών τιµών σε ψηφιακές Παράδειγµα ΒΥΤΕ Αποτελέσµατος USB Επικοινωνία Η/Υ µε το κύκλωµά µας (HID) Compiler και προγραµµατισµός της USB Compiler και προγραµµατισµός του PIC 18F Κώδικας σε τύπου Basic Compiler Ανάλυση και Ρύθµιση του Hardware του κυκλώµατος Evaluation board PIC Υλικά Kρίσιµα σηµεία υλοποίησης Συµπεράσµατα Βιβλιογραφία Παράρτηµα Α: Σχέδια Κυκλωµάτων Για Την Κατασκευή Της Πλακέτας Με Το Πρόγραµµα E.A.G.L.E. 33 Παράρτηµα Β: Προγράµµατα σε C#(C-sharp) για την επικοινωνία Η/Υ-USB Θύρας Γεώργιος Μπέλης Α.Ε.Μ

4 1. Περίληψη Στην παρούσα διπλωµατική εργασία υλοποιείται ένα κύκλωµα που µετράει µαγνητική επαγωγή µέσω του αισθητήρα (transducer) Hall A3507 µε σύνδεση USB. Επειδή η υλοποίηση µας είναι γενική για να µπορεί κάποιος πάνω σε αυτή να εφαρµόσει πολλές θεωρητικές υλοποιήσεις, έχουµε προσαρµόσει στη δοκιµαστική πλακέτα ένα ποτενσιόµετρο που προσοµοιάζει όλες τις γενικές περιπτώσεις µετατροπής αναλογικού σήµατος σε ψηφιακό, οπότε και αυτό του αισθητήρα Hall. Αρχικά ο µετατροπέας µετατρέπει την αναλογική τιµή της µαγνητικής ροής σε αναλογικό επίπεδο τάσης από 0 έως 5 V. Η έξοδος του οδηγείται στο κανάλι RA0 της µονάδας µετατροπής ADC του µικροελεγκτή PIC18F4550 (pin 2)(ΠΑΡΑΡΤΗΜΑ Α,Σχήµα 1.). Στη µονάδα αυτή, η αναλογική τάση θα γίνει ψηφιακή. Ο µετατροπέας από αναλογικό σε ψηφιακό σήµα είναι της τάξεως των 10 bit. Επιπροσθέτως, προγραµµατίζεται και η θύρα USB του υπολογιστή, ώστε να λαµβάνεται η ψηφιακή τιµή που στέλνει το κύκλωµα και να εµφανίζει µέσω προγράµµατος την επιθυµητή τιµή. Παρακάτω αναλύεται ο κώδικας σωστής λειτουργίας τόσο του µικροελεγκτή PIC18F4550 όσο και της θύρας USB. Στη συνέχεια, αναλύονται οι βασικές πτυχές και τα κρίσιµα σηµεία ελέγχου της όλης υλοποίησης γενικά τόσο σε επίπεδο Hardware όσο και σε επίπεδο Software. O PIC έχει πάρα πολλές εφαρµογές και γενικά είναι απο τους πιο δηµοφιλείς µικρουπολογιστές στο κοινό ανάλογου ενδιαφέροντος. Ανοίγει ένα «κόσµο» υλοποίησης θεωρητικών σκέψεων σε πρακτικές εφαρµογές και δίνει τη λύση σε εύκολες έως πάρα πολύ δύσκολες ιδέες και σε διάφορα περιβάλλοντα εργασίας ακόµα και στα πιο αντίξοα. Οι εφαρµογές του στη σύγχρονη εποχή είναι ανεξάντλητες όπως : Η αυτοκινητοβιοµηχανία Η ροµποτική Η ιατρική Η βιοτεχνολογία (ιατρικά µηχανήµατα) Η βιοµηχανία αυτοµάτου ελέγχου. Γεώργιος Μπέλης Α.Ε.Μ

5 Abstract In our project we create a circuit that measures magnetic flow using a transducer Hall with USB connection. Because of our project, in order someone to be able to apply many theoretical implementations, we have adapted in the plaque a potentiometer that simulates all general cases of transformation of analog to digital signal, therefore also that of transducer Hall A3507. This converter transforms the analog credit of magnetic flow to analog level of operating voltage from 0 to 5 V. Exit is in channel RA0 of transformation unit ADC of the microcontroller PIC18F4550 (pin2). In this unit analog operating voltage is transformed into digital. The converter of analog to digital signal consists of 10 bits. The USB port is programmed so that the digital credit that the circuit sends is presented via a program. The code of correct operation of the microcontroller is analyzed as well as the USB port. Afterwards the main aspects and the critical points of the materialization are analyzed both in hardware and software. The PIC has many applications and is one of the most famous microprocessor. It gives results in different situations and in different work environments. Its use in the modern era are : In the car industry In the robotics In medicine In the biotechnology In the industry of automatic control Γεώργιος Μπέλης Α.Ε.Μ

6 2. Στάθµη Γνώσεων Αισθητήρες Φαινοµένου Hall (transducers) Οι αισθητήρες (transducers) µπορούν να χρησιµοποιηθούν για τον εντοπισµό ενός µεγάλου φάσµατος διαφορετικών ενεργειακών µορφών όπως της µετακίνησης, των ηλεκτρικών σηµάτων, της ακτινοβολούµενης ενέργειας, της θερµικής ή µαγνητικής ενέργειας κλπ, και υπάρχουν πολλοί διαφορετικοί τύποι συσκευών εξόδου µε αναλογική και ψηφιακή είσοδο διαθέσιµοι για να επιλέξουµε. Ο τύπος του αισθητήρα εισόδου ή εξόδου που χρησιµοποιείται, εξαρτάται από τον τύπο του σήµατος ή από την διαδικασία "Sensed" ή "Controlled", αλλά µπορούµε να ορίσουµε και ένα µετατροπέα ως µια συσκευή που µετατρέπει µία φυσική ποσότητα σε µια άλλη Ανάλυση Μαγνητικού Αισθητήρα Φαινοµένου Hall Η τάση εξόδου, η οποία ονοµάζεται τάση Hall (VH) του βασικού στοιχείου Hall είναι ευθέως ανάλογη στην ένταση του µαγνητικού πεδίου που διέρχεται από το υλικό ηµιαγωγών (εξόδου H). Αυτή η τάση εξόδου µπορεί να είναι αρκετά µικρή, ακόµη και όταν υποβάλλεται σε ισχυρά µαγνητικά πεδία. Έτσι οι περισσότερες συσκευές που είναι εµπορικά διαθέσιµες στηριζόµενες στο φαινόµενο Hall, κατασκευάζονται µε ενσωµατωµένους DC ενισχυτές, λογικά µεταβαλλόµενα κυκλώµατα και ρυθµιστές τάσης για τη βελτίωση της ευαισθησίας των αισθητήρων, της υστέρησης και της εξωτερικής τάσης. Αυτό επιτρέπει στον αισθητήρα Hall να λειτουργεί σε ένα ευρύτερο φάσµα τροφοδοσίας και συνθηκών µαγνητικού πεδίου. Γεώργιος Μπέλης Α.Ε.Μ

7 2.3. Κατασκευαστική Υλοποίηση Αισθητήρα Φαινοµένου Hall- A3507 Σχήµα 1 Κύκλωµα αισθητήρα Hall A3507 Οι Hall Effect αισθητήρες είναι διαθέσιµοι είτε µε ψηφιακή είτε µε γραµµική εξόδο. Το σήµα εξόδου για γραµµικούς (αναλογικούς) αισθητήρες λαµβάνεται απευθείας από την έξοδο του ενισχυτή, µε την τάση εξόδου να είναι άµεσα ανάλογη µε το µαγνητικό πεδίο που διέρχεται από τον αισθητήρα Hall. Αυτή η τάση εξόδου Hall δίνεται ως εξής : Γεώργιος Μπέλης Α.Ε.Μ

8 V Η είναι η Hall τάση σε volt R H είναι το φαινόµενο Hall coefficient Ι είναι η τρέχουσα ροή µέσω του αισθητήρα σε αµπέρ t είναι το πάχος του αισθητήρα σε mm b είναι η µαγνητική πυκνότητα ροής σε Teslas Σχήµα 2 ιάγραµµα φαινοµένου Hall Οι γραµµικοί ή αναλογικοί αισθητήρες δίνουν µία έξοδο συνεχούς τάσης που αυξάνεται µε ένα ισχυρό µαγνητικό πεδίο και µειώνεται µε ένα ασθενές µαγνητικό πεδίο. Στους αισθητήρες Hall µε γραµµική έξοδο, καθώς η δύναµη του µαγνητικού πεδίου αυξάνει, το σήµα εξόδου από το ενισχυτή αυξάνεται επίσης. Μετά αρχίζει ο κορεσµός µέχρι ένα όριο που επιβάλλεται από την παροχή ενέργειας. Κάθε πρόσθετη αύξηση του µαγνητικού πεδίου δεν θα έχει καµία επίπτωση στο αποτέλεσµα, αλλά το οδηγεί σε επιπλέον κορεσµό. Συγκεκριµένα ο Α3507 αισθητήρας που χρησιµοποιείται στην υλοποίηση, είναι γραµµικός µε τα εξής χαρακτηριστικά: Η έξοδός του, σε τάση είναι ανάλογη του εφαρμοζόμενου μαγνητικού πεδίου Τµηµατικά συνεχής έξοδος Μεγαλύτερη ευαισθησία Μέγιστη σταθερότητα σε μεταβολές θερμοκρασίας Λειτουργία σε τάση μεταξύ 4.5 V και 5.5 V Μικρό σε μέγεθος Μεγάλη αξιοπιστία Παρακάτω παρουσιάζονται τα ηλεκτρικά και µαγνητικά χαρακτηριστικά του µαγνητικού αισθητήρα, καθώς και ο τρόπος υπολογισµού όλων των κρίσιµων µεγεθών που διέπουν την λειτουργία του για τάση Vcc = 5 V και ρεύµα Iο = 1 ma. Γεώργιος Μπέλης Α.Ε.Μ

9 Σχήµα 3 Ηλεκτρικά Χαρακτηριστικά Αισθητήρα Σχήµα 4 Μαγνητικά Χαρακτηριστικά Αισθητήρα Γεώργιος Μπέλης Α.Ε.Μ

10 Στη συνέχεια παρουσιάζονται οι βασικοί τύποι υπολογισµού των διάφορων µεγεθών που αφορούν τον µαγνητικό αισθητήρα και οι διάφορες µετρήσιµες παράµετροι.οι τύποι έλαβαν υπ όψην µέση θερµοκρασία ίση µε Ta = 25 C. Ο τύπος 1 µας δίνει την τάση εξόδου λαµβάνοντας υπ όψην την θερµοκρασία σε GAUSS.Επίσης αυτός ο υπολογισµός οδηγεί στην ακρίβεια για θερµοκρασίες εντός των ορίων σωστής λειτουργίας που ορίζεται στο manual της συσκευής.στον δικό µας αισθητήρα οι τιµές του µαγνητικού πεδίου που εφαρµόζεται και µετράται είναι +35 και -35 GAUSS. Τύπος 1 Τάση εξόδου συναρτήση της θερµοκρασίας Ευαισθησία:Ορίζεται ως η διαφορά τάσης του θετικού πόλου του µαγνήτη µε τον αρνητικό, προς την συνολική ένταση του µαγνητικού πεδίου σε GAUSS.Η µέση ευαισθησία του αισθητήρα είναι 2.5mV/G Τύπος 2 Ευαισθησία Τύπος 3 Επί τοις 100 σταθερότητα ευαισθησίας συναρτήση της θερµοκρασίας. Ευθεία Αναλογία:Η τάση εξόδου και η ευαισθησία είναι αναλογικές στην τάση τροφοδοσίας. Τύπος 4 Επί τοις 100 Αναλογική Αλλαγή της Τάσης Τύπος 5 Επί τοις 100 Αναλογική Αλλαγή Ευαισθησίας Γεώργιος Μπέλης Α.Ε.Μ

11 Γραµµικότητα και Συµµετρία:Στους τύπους 6,7 µετράται η επί τοις 100 γραµµικότητα µε θετικό εφαρµοζόµενο µαγνητικό πεδίο και αρνητικό αντίστοιχα σε GAUSS. Τύπος 6 Επί τοις 100 γραµµικότητα της τάσης(+g) Τύπος 7 Επί τοις 100 γραµµικότητα της τάσης (-G) Στον τύπο 8 ορίζεται η συµµετρία εξόδου της τάσης. Τύπος 8 Επί τοις 100 συµµετρία εξόδου. Γεώργιος Μπέλης Α.Ε.Μ

12 3. Κατασκευή 3.1. Ανάλυση και Ρύθμιση του Software του Κυκλώματος Ανάλυση ADC Ένας µετατροπέας αναλογικού σήµατος σε ψηφιακό (ADC) είναι µια συσκευή η οποία µετατρέπει µία συνεχή ποσότητα σε διακριτό χρόνο µε ψηφιακή αναπαράσταση. Ένας ADC µπορεί επίσης να παράσχει µία µεµονωµένη µέτρηση. Η αντίστροφη λειτουργία εκτελείται από ψηφιακό σε αναλογικό µετατροπέα (DAC). Τυπικά, ένας ADC είναι µια ηλεκτρονική συσκευή που µετατρέπει ένα αναλογικό σήµα τάσης ή ρεύµατος σε ένα ψηφιακό αριθµό ανάλογο µε το µέγεθος της τάσης ή του ρεύµατος. Ωστόσο, ορισµένες µη-ηλεκτρονικές ή µόνο εν µέρει ηλεκτρονικές συσκευές, όπως περιστροφικοί κωδικοποιητές, µπορούν επίσης να θεωρηθούν ADCs. Η ψηφιακή έξοδος µπορεί να χρησιµοποιήσει διαφορετικά συστήµατα κωδικοποίησης. Τυπικά η ψηφιακή έξοδος θα είναι ένας δυαδικός αριθµός (συµπλήρωµα ως προς 2) που είναι ανάλογη µε την είσοδο. Παρακάτω δίνονται γενικά οι καταχωρητές του ADC που µπορούµε να προγραµµατίσουµε. Γεώργιος Μπέλης Α.Ε.Μ

13 Σχήµα 5 Καταχωρητές ADC Επίσης στο σχήµα 6 βλέπουµε τις αναλογικές εισόδους που δέχεται ο ADC και που µπορούµε να ελέγξουµε ώστε να παίρνουµε σωστά δεδοµένα αναλογικής εισόδου. Σχήµα 6 ιάγραµµα AD Αντιστοίχιση αναλογικών τιµών σε ψηφιακές Η αντιστοίχιση των αναλογικών τιµών σε ψηφιακές τιµές γίνεται ως εξής : Ο µετατροπέας είναι των 10 bit. Από τα ψηφιακά κυκλώµατα, αυτό σηµαίνει ότι η ελάχιστη τιµή σε bit είναι η µηδενική και σε δυαδική µορφή θα είναι , δηλαδή θα παριστάνεται από 10 µηδενικά. Αντίστοιχα η µέγιστη τιµή του µετατροπέα θα είναι η δυαδική ψηφιακή λέξη , δηλαδή θα παριστάνεται µε 10 άσους. Πώς θα γίνεται, όµως, η αντιστοιχία αναλογικών και ψηφιακών τιµών ή η διακριτικότητα του µετατροπέα ; Γεώργιος Μπέλης Α.Ε.Μ

14 Θα πρέπει αρχικά η µέγιστη τιµή των 5 V να διαιρεθεί µε την µέγιστη δυαδική τιµή του µετατροπέα. Έτσι, θα φανεί η διακριτή και όχι η συνεχής όπως θα περίµενε κάποιος, µεταβολή που εισάγει ένας µετατροπέας από αναλογικό σε ψηφιακό σήµα. Κατά αυτόν τον τρόπο βρίσκεται το ελάχιστο βήµα µετατροπής των αναλογικών τιµών σε ψηφιακές τιµές. Η ψηφιακή δυαδική λέξη είναι σε δεκαδική τιµή ίση µε 1024 ή Οπότε διαιρώντας τα 5 V µε το 1024 λαµβάνουµε την τιµή που πολλαπλασιαζόµενη µε τον δυαδικό αριθµό του µετατροπέα, βρίσκεται η αναλογική τιµή των Volt και κατά επέκταση του µετατροπέα Hall. 3. 5/1024 = Παράδειγµα Τρόπος υπολογισµού τιµών. Υποθέτουµε ότι ο µετατροπέας Hall έχει δώσει την αναλογική τιµή τάσης των 2.5 V στον ADC του PIC. Τότε, ο ADC θα δώσει έξοδο την ψηφιακή λέξη ( ) 10 3 = σε δεκαδικό ή αλλιώς σε δυαδικό ΒΥΤΕ Αποτελέσµατος Λόγω του ότι η διακριτικότητα του µετατροπέα A/D είναι 10 bit, κάθε παραγόµενη ψηφιακή λέξη θα πρέπει να καταχωρηθεί σε δύο byte των 8 bit. Λόγω όµως, του γεγονότος ότι θέλω να εκπέµψω ένα µόνο byte κάθε φορά, θα πρέπει αυτή η τιµή να µετατραπεί σε τιµή των 8 bit, ούτως ώστε να καταχωρηθεί σε ένα byte. Στα ψηφιακά συστήµατα, ο πλέον διαδεδοµένος και πιο συνηθισµένος τρόπος είναι η µετακίνηση ή ολίσθηση των bit που απαρτίζουν την µεταβλητή wadcvalue κατά 2 θέσεις δεξιά. Με αυτόν τον τρόπο χάνονται τα 2 τελευταία-ελάχιστα σηµαντικά bit ή ψηφία. Η νέα πια τιµή καταχωρείται σε µια άλλη µεταβλητή, την badcvalue. Στη συνέχεια, γίνεται η παρακάτω διαδικασία. Επειδή ο µετατροπέας A/D λειτουργεί σε κάθε κύκλο εκτέλεσης του προγράµµατος (κάθε 100 ms) θα απασχολούσε τον δίαυλο επικοινωνίας (USB) συνεχώς κάθε 100 ms. Αυτό θα είχε ως αποτέλεσµα την Γεώργιος Μπέλης Α.Ε.Μ

15 υπερφόρτωση ή την υπεραπασχόληση του προγράµµατος απεικόνισης ή ακόµα και του υπολογιστή του ίδιου, καθυστερώντας τυχόν άλλες εφαρµογές. Για το λόγο αυτό, στο σηµείο αυτό πραγµατοποιείται ο έλεγχος της τρέχουσας τιµής µετατροπής µε την αµέσως προηγούµενη και αν αυτές είναι ίδιες τότε δεν εκπέµπεται η νέα αφού είναι ίδια µε την προηγούµενη που έχει µεταδοθεί ήδη. Με την εντολή : If badcvalue <> boldadcvalue Then LatD = badcvalue 'Άναψε τα led της PotrD boldadcvalue = badcvalue USB Το επόµενο στάδιο είναι η µεταβίβαση της ψηφιολέξης στη µονάδα USB. Εκεί θα φορτωθεί στο δίαυλο USB για να σταλεί στον υπολογιστή σε µια θύρα USB. Παρακάτω βλέπουµε την υλοποίηση του κυκλώµατος της θύρας USB και το σχέδιο της. Σχήµα 7 Γενική υλοποίηση του USB Στο σχήµα 8 παρουσιάζεται η εσωτερική σύνδεση του PIC µε τη USB θύρα. Γεώργιος Μπέλης Α.Ε.Μ

16 Σχήµα 8 Εσωτερική τυπική σύνδεση PIC USB Επικοινωνία Η/Υ µε το κύκλωµά µας (HID) Η επικοινωνία του υπολογιστή µε το κύκλωµα γίνεται µέσω ενός ειδικού προγράµµατος software που λέγεται HID (Human Interface Descriptor). Η δουλειά αυτού του προγράµµατος είναι η εξής. Καταρχήν αναγνωρίζει κάθε συσκευή USB που είναι προσαρµοσµένη στον υπολογιστή. Εκεί, στο µενού του HID φαίνεται και η δική µας συσκευή USB. Με την επιλογή της συσκευής µας εµφανίζεται ένα µενού το οποίο οδηγεί σε µια οθόνη όπου απεικονίζονται οι τιµές που µετατρέπει το κύκλωµα µε τη δυνατότητα επιλογής απεικόνισης σε δυαδικό, σε δεκαδικό και σε δεκαεξαδικό. Αυτό το πρόγραµµα χρησιµοποιήθηκε δοκιµαστικά για την αρχική επικοινωνία, µέσω υπολογιστή, µε το κύκλωµα, για να ελεγχθούν ο κώδικας προγραµµατισµού του PIC, η δυνατότητα επικοινωνίας του µε τον υπολογιστή καθώς και η σωστή ή µη µετάδοση του επεξεργασµένου αναλογικού σήµατος σε ψηφιακό. Γεώργιος Μπέλης Α.Ε.Μ

17 Σχήµα 9 Έτοιµο πρόγραµµα HID (Device Monitoring) Compiler και προγραµµατισµός της USB Ο προγραµµατισµός της θύρας USB αναλύεται σε επιµέρους τµήµατα κώδικα παρακάτω.επίσης παρέχεται και σε ηλεκτρονική µορφή αποθηκευµένος σε CD. Αξίζει να αναφερθεί ότι παρ όλο τον επιµερισµό σε τµήµατα, για την καλύτερη κατανόηση του προγραµµατισµού, ο κώδικας λειτουργεί σαν ολότητα και τα τµήµατά του είναι αλληλοεξαρτόµενα και αλληλοϋποστηριζόµενα,µε «βιβλιοθήκες» προγραµµατισµού κοινές και «κλάσεις» αλληλένδετες. Μια σύντοµη περιγραφή για τα αρχεία που χρειάστηκαν για την επικοινωνία Η/Υ-USB παρατίθεται αναλυτικά στο ΠΑΡΑΡΤΗΜΑ Β και επιγραµµατικά παρακάτω: To solution (USB_Win.sln) αποτελείται από δύο projects γραµµένα σε γλώσσα C# (C-sharp): Γεώργιος Μπέλης Α.Ε.Μ

18 USB_IO: είναι το project που ασχολείται µε τη σύνδεση USB µε τον driver επικοινωνίας (Ι/Ο). εν πειράχτηκε σχεδόν τίποτα εδώ, παρά µόνο η διεύθυνση του USB device που σχεδιάστηκε (PID & VID). Οι ρυθµίσεις USB γίνονται στη γραµµή 64 του αρχείου USB_HandsetDevice.cs. Τα PID & VID σηµαίνουν:pid=product ID και VID=Vendor ID και χρησιµοποιούνται για την αναγνώριση USB συσκευής.είναι και τα δύο των 16-bit και ο Η/Υ χρησιµοποιεί τον συνδυασµό αυτών για να βρίσκει drives για να χρησιµοποιηθούν στην USB συσκευή.γι αυτό πρέπει ο συνδυασµός αυτών να είναι µοναδικός, ώστε κάθε συσκευή µε αυτόν τον συνδυασµό να χρησιµοποιεί αυτόν τον driver.έτσι όποτε θέλουµε έναν συγκεκριµένο driver για µια συσκευή, το µόνο που χρειαζόµαστε είναι τα µοναδικά VID/PID για αυτήν την συσκευή. Αυτοί οι κωδικοί αποκτούνται µε διάφορους τρόπους.ή θα δίνονται µαζί µε την συσκευή, ή µπορούν να αγοραστούν, ή µια τελευταία λύση είναι να γίνει µια αίτηση στην εταιρία του chipset(π.χ. microchip) για την χορήγηση των κωδικών όπως αυτήν εδώ: (http://ww1.microchip.com/downloads/en/appnotes/application%20for%20usb%20ven dor%20id%20sublicense.pdf) USB_Win: είναι το κυρίως project που περιέχει τη φόρµα διεπαφής µε τον χρήστη (GUI). Το βασικό αρχείο είναι το USB_Form.cs, όπου περιέχονται δύο τµήµατα: η φόρµα του GUI (η οποία είναι µέσα στον solution explorer του Visual Studio και µετά στο αρχείο USB_Form.cs) και ο αντίστοιχος πηγαίος κώδικα της φόρµας (ο οποίος εµφανίζεται στο αρχείο µε την επιλογή: View Code). Όλα τα υπόλοιπα αρχεία (π.χ. resx, cs, ico κλπ) είναι συµπληρωµατικά αρχεία της συνολικής λύσης (solution). Στο ΠΑΡΑΡΤΗΜΑ Β µαζί µε τον κώδικα των αρχείων παρέχεται και αναλυτικός σχολιασµός κάθε εντολής ανά γραµµή καθώς και γενικές πληροφορίες για γλώσσα assembly και χειρισµού της µέσα από την συγκεκριµένη γλώσσα(c#-c sharp). Στο σχήµα 10 βλέπουµε το Microsoft Visual C# 2008 όπoυ προγραµµατίζουµε τη USB. Γεώργιος Μπέλης Α.Ε.Μ

19 Σχήµα 10 Προγραµµατισµός σε C Sharp για το διάβασµα της USB. Σχήµα 11 Εµφάνιση της τελικής τιµής σε Volt Γεώργιος Μπέλης Α.Ε.Μ

20 Compiler και προγραµµατισµός του PIC 18F4550 Έγινε download της freeware έκδοσης του τύπου BASIC Compiler από την Σέρβικη εταιρία MIKROELEKTRONIKA (http://www.mikroe.com). Ακολούθησε µελέτη της γλώσσας προγραµµατισµού και εν συνεχεία η συγγραφή του κώδικα. Παρακάτω σε ξεχωριστή παράγραφο και κεφάλαιο αναλύονται τα σηµεία του προγραµµατισµού που έχουν αυξηµένη σηµασία για τον σωστό έλεγχο του προγράµµατος µε σχόλια για κάποιον που θα θέλει να ασχοληθεί παραπάνω, καθώς και διάφορες δυσκολίες που αντιµετωπίστηκαν στην υλοποίηση και στην επικοινωνία του κυκλώµατος µε τον υπολογιστή. Γεώργιος Μπέλης Α.Ε.Μ

21 Κώδικας σε τύπου Basic Compiler Στο παρακάτω σχήµα γίνεται η επιλογή του συγκεκριµένου µοντέλου PIC18F4550 καθώς και η συχνότητα του κρυσταλλικού ταλαντωτή 8 MHz. Σχήµα 12 Επιλογή συσκευής PIC και ρύθµιση παραµέτρων Γεώργιος Μπέλης Α.Ε.Μ

22 Σχήµα 13 Στιγµιότυπο του compiler φορτωµένο µε το πρόγραµµα λειτουργίας Ο κώδικας που χρησιµοποιήθηκε είναι τύπου BASIC καθώς και τα υποστηρικτικά προγράµµατα και βιβλιοθήκες που χρησιµοποιήθηκαν. program HID_Read_Write_Interrupt2 dim cnt as char dim readbuff as byte[1] absolute 0x500 'Buffers should be in USB RAM dim writebuff as byte[1] absolute 0x540 ' please consult datasheet dim wadcvalue as word dim badcvalue as byte dim boldadcvalue as byte sub procedure Interrupt() USB_Interrupt_Proc() end sub 'USB servicing is done inside the interrupt Γεώργιος Μπέλης Α.Ε.Μ

23 Main: 'Μέχρι την ταµπέλα ProgrammeContiniusExecute: γίνονται οι πρωτοποθετήσεις τιµών 'για τον έλεγχο των διαφόρων µονάδων που περιέχονται στο chip (εδώ το 18F4550) 'Στους καταχωριτές Tris το 1 δηλώνει είσοδο και το 0 έξοδο. 'Bit num TRISA = % ' Set PORTA as input TRISB = % ' Set PORTB as input TRISC = % ' Set PORTC as input TRISD = % ' Set PORTD as output TRISE = % ' Set PORTE bit 0,1,2 as output PortA = 0 PortB = 0 PortC = 0 PortD = 0 PortE = 0 LatA = 0 LatB = 0 LatC = 0 LatD = 0 LatE = 0 'Latency καταχωρητές 'Bit num ADCON0 = ADCON0 or % 'Enable Analog-to-Digital (A/D) Converter 'module ADCON1 = ADCON1 or % ' Set AN0 as analog input ADCON2 = ADCON2 or % CMCON = CMCON or 7 ' Disable comparators ' Enable HID communication ProgrammeContiniusExecute: 'διάβασε την αναλογική τιµή από το κανάλι 0 και βάλε την τιµή αυτή στην wadcvalue 'η οποία είναι τύπου word (2 byte). Κάνε αυτό συνεχώς. wadcvalue = ADC_Read(0) 'Λόγω του οτι η διακριτικότητα του µετατροπέα A/D είναι 10 bit αυτή περιέχεται 'σε δύο byte των 8 bit, επειδή όµως θέλω να εκπέµψω ένα µόνο byte κάθε φορά πρέπει 'αυτή την τιµή να την µετατρέψω σε τιµή των 8 bit, ο συνηθισµένος τρόπος είναι 'η µετακίνηση των bit που απαρτίζουν την wadcvalue κατα 2 θέσεις δεξιά χάνοντας 'έτσι τα 2 τελευταία ελάχιστα σηµαντικά ψηφία και καταχωρώντας την νέα τιµή σε 'µια άλλη µεταβλητή την badcvalue. badcvalue = wadcvalue >> 2 Γεώργιος Μπέλης Α.Ε.Μ

24 'Σκοπός του παρακάτω ελέγχου είναι ο εξής: 'επειδή ο µετατροπέας A/D λειτουργεί σε κάθε κύκλο εκτέλεσης του προγράµµατος '(κάθε 100 ms) θα απασχολούσε τον δίαυλο επικοινωνίας (USB) συνεχώς κάθε 100 ms 'µε πιο πιθανή συνέπεια την υπερφόρτωση ή την υπεραπασχόληση του προγράµµατος 'απεικόνισης ή και του υπολογιστή του ιδίου, καθυστερόντας τυχόν άλλες εφαρµογές. 'Έτσι λοιπόν πραγµατοποιώ έλεγχο της τρέχουσας τιµής µετατροπής µε την αµέσως 'προηγούµενη και αν αυτές είναι ίδιες τότε δεν εκπέµπεται η νέα αφού είναι ίδια 'µε την προηγούµενη που έχει µεταδοθεί ήδη. If badcvalue <> boldadcvalue Then LatD = badcvalue 'Αναψε τα led της PotrD boldadcvalue = badcvalue 'Επειδή η Writebuff ορίζεται ως πίνακας µε στοιχεία byte, κάνω απόδοση τιµής 'στο πρώτο στοιχείο του πίνακα το οποίο είναι τύπου byte. Writebuff[0] = badcvalue 'Η λειτουργία HID_Write όταν αστοχήσει στην εκποµπή δεδοµένων επιστρέφει τιµή 0 'αλλιώς επιστρέφει τον αριθµό των εκπεµποµένων byte. Έτσι αν αστοχήσει µε τον 'βρόγχο While την αναγκάζουµε να ξαναεκπέµψει τα δεδοµένα. = 0) Wend End if 'If wadcvalue <> boldadcvalue Then Delay_ms(100) Goto ProgrammeContiniusExecute End. Γεώργιος Μπέλης Α.Ε.Μ

25 Ανάλυση και Ρύθμιση του Hardware του κυκλώματος Evaluation board Πρόκειται για µια πλακέτα δοκιµής-εκτίµησης κώδικα. Η πλακέτα αυτή έχει επάνω τον PIC18F4550, τον κρυσταλλικό ταλαντωτή µε τα στοιχεία υποστήριξής του (πυκνωτές, αντιστάσεις) (σχήµα 12). Στην πλακέτα αυτή µπορούµε και προγραµµατίζουµε τον PIC και βλέπουµε, ελέγχουµε, διορθώνουµε τυχόν λάθη του προγράµµατος που δεν ανταποκρίνονται στις απαιτήσεις µας. Σχήµα 14 οκιµαστική πλακέτα µε τον PIC18F4550 Γεώργιος Μπέλης Α.Ε.Μ

26 PIC Σχήµα 15 PIC18F4550 Χαρακτηριστικά Σωστής Λειτουργίας PIC18F4550 Operating frequency DC 48 MHz Program Memory (Bytes) Program Memory (Instructions) Data Memory (Bytes) 2048 Data EEPROM Memory (Bytes) 256 Interrupt Sources 20 I/O Ports Ports A, B, C, D, E Timers 4 Capture/Compare/PWM Modules 1 Enhanced Capture/Compare/PWM Modules 1 Serial Communications MSSP, Enhanced USART Universal Serial Bus (USB) module 1 Streaming Parallel Port (SPP) Yes 10-Bit Analog to Digital Module 13 Input Channels Comparators 2 POR, BOR, RESET Instruction, Stack Resets (and Delays) Full, Stack Underflow, (PWRT, OST) MCLR (optional), WDT Programmable Low-Voltage Detect Yes Programmable Brown-out Reset Yes 75 Instructions; Instruction Set 83 with Extended Instruction Set enabled 40 Pin PDIP Packages 44 Pin QFN 44 Pin TQFP Πίνακας 1 Χαρακτηριστικά ορθής λειτουργίας PIC Γεώργιος Μπέλης Α.Ε.Μ

27 Υλικά PIC 18F4550 ΚΡΥΣΤΑΛΛΙΚΟΣ ΤΑΛΑΝΤΩΤΗΣ 8 ΜΗz ΠΥΚΝΩΤΕΣ: 2x15pF/32volt 1x220nF/32 volt 1x100nF/32 volt ΑΝΤΙΣΤΑΣΗ 1x4.7 kω USB CONNECTOR HALL EFFECT SENSOR A3507 Γεώργιος Μπέλης Α.Ε.Μ

28 4. Kρίσιµα σηµεία υλοποίησης Στην πλακέτα γενικής χρήσης-δοκιµής-εκτίµησης κώδικα, προσαρµόστηκε ένας connector USB. Το πρώτο πρόβληµα που παρουσιάστηκε ήταν η αστάθεια στην επικοινωνία µε την πλακέτα. Αυτό οφειλόταν σε θέµατα τροφοδοσίας. H θύρα USB παρέχει από µόνη της τροφοδοσία +5V/GROUND. Οπότε η πλακέτα έπρεπε να παίρνει τροφοδοσία από την θύρα USB. Έτσι διακόπηκε η παροχή τροφοδοσίας από εξωτερικό κύκλωµα και προσαρµόστηκε ένας πυκνωτής 220 nf στο pin 18 που είναι το VUSB (τροφοδοσία pic USB) και στο GROUND. Πλέον το κύκλωµα τροφοδοτείται µόνο από την θύρα USB και όλες οι µονάδες του pic λειτουργούν κανονικά. Από εδώ και πέρα ακολουθεί ο προγραµµατισµός του PIC. Αρχικά έγινε download της freeware έκδοσης του τύπου BASIC Compiler από την Σέρβικη εταιρία MIKROELEKTRONIKA (http://www.mikroe.com). Ακολούθησε µελέτη της γλώσσας προγραµµατισµού και εν συνεχεία η συγγραφή του κώδικα. Εδώ ήταν το µεγαλύτερο πρόβληµα. Στην αρχή έπρεπε να εγκατασταθεί στον υπολογιστή ένα πρόγραµµα που θα εγκαθίδρυε επικοινωνία µεταξύ υπολογιστή και θύρας USB του PIC και άρα µε όλο το κύκλωµα. Αυτό το πρόγραµµα λέγεται HID το οποίο σηµαίνει Human Interface Descriptor. Απεικονίζει τα δεδοµένα που στέλνει ο PIC στην οθόνη του υπολογιστή. Με αναζήτηση στο ίντερνετ βρέθηκε ο κατάλληλος HID που λέγεται Device Monitoring Studio. Μας δίνει την δυνατότητα ελέγχου και πρόσβασης όλων των θυρών USB του υπολογιστή και όλες τις συσκευές USB. Μετά από πολλαπλές εγκαταστάσεις προγράµµατος στον πυρήνα του PIC, το κύκλωµα πάντα παρουσίαζε αστάθεια ως προς την συµπεριφορά του. Kάποιες φορές έβλεπε ο HID την πλακέτα και µετά κολλούσε, κάποιες φορές δεν τον έβλεπε καθόλου, κάποιες φορές έστελνε δεδοµένα και µετά από λίγο κολλούσε, γενικά η διαδικασία όλη δεν προχωρούσε.αυτό οφειλόταν στο γεγονός ότι η freeware έκδοση του compiler έδινε δυνατότητα προγραµµατισµού µέχρι 2KBYTE. Mετά από επικοινωνία µε την εταιρία MIKROELEKTRONIKA, χρειάστηκε να γίνει download της πλήρους έκδοσης του compiler, δίνοντάς µας την δυνατότητα προγραµµατισµού σε όλη την µνήµη του PIC (πέραν των 2ΚΒ). Από την εταιρεία αυτή δόθηκαν και οι κατάλληλες βιβλιοθήκες και παραδείγµατα χρήσης του PIC-USB. Έτσι λοιπόν συντάχθηκε κώδικας 600 byte περίπου Γεώργιος Μπέλης Α.Ε.Μ

29 υποστηριζόµενος από τα 5.5kbyte περίπου προγραµµάτων που «τρέχουν» παράλληλα µε το κυρίως πρόγραµµα που ορίζουν,παραµετροποιούν,ελέγχουν την λειτουργία USB του PIC και γενικά την επικοινωνία του PIC µε τον υπολογιστή µέσω θύρας USB. Με την εγκατάσταση αυτού του κώδικα στον PIC λύθηκαν όλα τα προβλήµατα αναγνώρισης, επικοινωνίας και απεικόνισης (µέσω HID) της πλακέτας από τον υπολογιστή. Πλέον µπορούν να απεικονιστούν οι αναλογικές τιµές του σένσορα HALL στην οθόνη του υπολογιστή. Ο HID απεικονίζει τις τιµές του σένσορα στο δεκαδικό σύστηµα οπότε η πραγµατική τιµή του µετατροπέα θα υπολογίζεται ως εξής : µε το πολλαπλασιασµό της decimal τιµής µε τον αριθµό 0, που αντιστοιχεί στην αναλογική τιµή τάσης του ενός bit. Υπενθυµίζεται ότι η χρήση έτοιµου προγράµµατος HID έγινε δοκιµαστικά για λόγους που εξηγούνται παραπάνω, καθώς το «διάβασµα» και η απεικόνιση της τιµής που µετράµε στον υπολογιστή έγινε µε δικό µας πρόγραµµα σε visual c για windows. Γεώργιος Μπέλης Α.Ε.Μ

30 5. Συµπεράσµατα Για τη διπλωµατική αυτή µε θέµα «Συσκευή USB για µέτρηση µαγνητικού πεδίου µε αισθητήρα Hall (γκαουσόµετρο Hall)» χρησιµοποιήθηκαν ηλεκτρονικά υλικά (hardware) και κατάλληλα λογισµικά (software). Για το hardware χρησιµοποιήθηκε ο µικροελεγκτής PIC18F4550 της εταιρείας MICROCHIP TECHNOLOGΥ (http://www.microchip.com/). Οι λόγοι που χρησιµοποιήθηκε o PIC είναι οι εξής : Είναι αρχιτεκτονικής τύπου εντολών Reduced Instruction Set Computing (RISC) γεγονός που σηµαίνει ότι έχει λίγες και πάνω από όλα λειτουργικές και εύχρηστες εντολές. Όλη η σειρά ελεγκτών PIC έχει το χαρακτηριστικό ότι αν τοποθετηθεί ανάποδα στην πλακέτα λειτουργίας το CHIP, αυτό δεν καίγεται απλά δεν λειτουργεί το σύστηµα. Ο συγκεκριµένος µικροελεγκτής διαθέτει ενσωµατωµένο ADC γρήγορο, οπότε αυτό το περιφερειακό σύστηµα ενσωµατώνεται στο CHIP. ίνει τη δυνατότητα επικοινωνίας µε Η/Υ µέσω θύρας USB, διαθέτoντας on-chip το USB περιφερειακό. Το αποτέλεσµα όλων αυτών είναι η δηµιουργία µιας µικρής ηλεκτρονικής κατασκευής που διέπεται από τις προηγούµενες αρχές και επιπλέον είναι ανεξάρτητη εξωτερικής τροφοδοσίας. Αυτό συµβαίνει διότι στην πλακέτα παρέχεται τροφοδοσία από την θύρα USB 0 5 V. Όλα αυτά καθιστούν το PIC ένα πολύ έυχρηστο, αξιόπιστο εργαλείο το οποίο όµως για τον προγραµµατισµό του απαιτεί εξειδίκευση σε προγραµµατισµό σε γλώσσες τύπου assembly. Για το λόγο αυτό χρησιµοποιήθηκε ένας τύπου Basic compiler. Γενικά είναι πολύ δύσκολο να προγραµµατιστεί ένα τέτοιoυ είδους chip εάν δεν υπάρχει ανάλογη τριβή γενικά µε το αντικείµενο των µικροϋπολογιστών. Σε σχέση µε το software για την υλοποιήση του προγράµµατος της επικοινωνίας και απεικόνισης χρησιµοποιήθηκε η γλώσσα προγραµµατισµού C sharp σε περιβάλλον Microsoft Visual Studio Γενικά ο έλεγχος της θύρας USB είναι µία αρκετά πολύπλοκη διαδικασία και η δηµιουργία προγράµµατος παρακολούθησής της είναι επίπονη και απαιτεί πλήρης γνώση της λειτουργίας της θύρας USB. Η βιβλιογραφία θύρας USB είναι ανεξάντλητη και αναλύεται σε παράλληλα θεωρητικά κυρίως επίπεδα, πράγµα που καθιστά τον προγραµµατισµό της ακόµα πιο δύσκολο. Εν κατακλείδι ήταν µία διπλωµατική απαιτητική που προϋπόθεται γνώση πολλών αντικειµένων, το αποτέλεσµα όµως είναι αυτό που ανταµείβει τους κόπους κάθε ερευνητή! Γεώργιος Μπέλης Α.Ε.Μ

31 Πιθανές Βελτιώσεις : Είναι µία εφαρµογή µε ένα απλό ποτενσιόµετρο που προσοµοιώνει τέλεια τη λειτουργία κάθε αναλογικού αισθητήρα και µιας εξόδου USB. Άρα καταλαβαίνει κάποιος άµεσα ότι µπορεί να εισάγει διάφορους αναλογικούς αισθητήρες και να συλλέγει δεδοµένα µετρήσεων τα οποία µπορεί µε κατάλληλες τροποποιήσεις στο software, να προσπελαύνει θύρες USB και να απεικονίζει τα δεδοµένα αυτά στην οθόνη του υπολογιστή. Εν κατακλείδι θα µπορούσαµε να χαρακτηρίσουµε αυτή την εφαρµογή σαν µία βάση για την υλοποίηση κάθε συστήµατος αναλογικής εισόδου ψηφιακής εξόδου στον υπολογιστή µέσω USB, η οποία µε διάφορες ρυθµίσεις στο hardware και στο software θα µπορεί να µας παράγει κάθε θεωρητική προσέγγιση προβλήµατος σε απτό αποτέλεσµα. Σχήµα 16 Παράδειγµα Βελτιστοποίησης-Τελικής Μορφής Γεώργιος Μπέλης Α.Ε.Μ

32 6. Βιβλιογραφία PIC18F2455/2550/4455/4550 Data Sheet. 28/40/44-Pin High-Performance, Enhanced Flash USB Microcontrollers. with nanowatt Technology, MICROCHIP TECHNOLOGY «ΑΝΑΛΥΣΗ ΚΑΙ ΣΧΕ ΙΑΣΗ ΨΗΦΙΑΚΩΝ ΚΥΚΛΩΜΑΤΩΝ» Ι.Μ.ΚΟΝΤΟΛΕΩΝ,ΕΚ ΟΣΕΙΣ ΑΠΘ,ΘΕΣΣΑΛΟΝΙΚΗ «ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ»,Γ.Κ.ΠΑΠΑΚΩΝΣΤΑΝΤΙΝΟΥ, Π..ΤΣΑΝΑΚΑΣ,Γ.Π.ΦΡΑΓΚΑΚΗΣ,ΕΚ ΟΣΕΙΣ ΣΥΜΜΕΤΡΙΑ,1999. «ΗΛΕΚΤΡΙΚΕΣ ΜΕΤΡΗΣΕΙΣ»,ΠΕΤΡΙ ΗΣ ΒΑΣΙΛΕΙΟΣ,ΕΚ ΟΣΕΙΣ. ΑΠΘ,ΘΕΣΣΑΛΟΝΙΚΗ USB COMPLETE FOURTH EDITION THE DEVELOPER S GUIDE,JAN AXELSON,LAKEVIEW RESEARCH LLC,JUNE «8-bit microprocessor compatible A/D Converters With 8 Channels Multiplexer»,National Semiconductors,USA «E.A.G.L.E EASILY APPLICABLE GRAPHICS LIGHT EDITION». BASIC COMPILER, MICROELECTRONICA COMPANY,SERBIA «DEVICE MONITORING STUDIO». PIC Communication with USB, Roy Seifert &3508 sensor Data Sheet Γεώργιος Μπέλης Α.Ε.Μ

33 Παράρτημα Α: Σχέδια Κυκλωμάτων Για Την Κατασκευή Της Πλακέτας Με Το Πρόγραμμα E.A.G.L.E. Σχήµα 1 Ολοκληρωµένο κύκλωµα υλοποίησης Γεώργιος Μπέλης Α.Ε.Μ

34 UsbSensor-2 bottom UsbSensor-2 place plan Σχήµα 2 Πλακέτα (ΦΥΣΙΚΟ ΜΕΓΕΘΟΣ) Γεώργιος Μπέλης Α.Ε.Μ

35 Παράρτημα Β: Προγράμματα σε C#(C sharp) για την επικοινωνία Η/Υ USB Θύρας Το προγραµµατιστικό περιβάλλον της MICROSOFT VISUAL C# είναι αυτό, όπως φαίνεται παρακάτω στο Σχήµα 1 Σχήµα 1 Γεώργιος Μπέλης Α.Ε.Μ

36 1. PROJECT USB_IO Πρόγραµµα AssemblyInfo.cs using System.Reflection; using System.Runtime.CompilerServices; // // General Information about an assembly is controlled through the following // set of attributes. Change these attribute values to modify the information // associated with an assembly. // [assembly: AssemblyTitle("USB_IO")] [assembly: AssemblyDescription("USB_ Handset USB Controller")] [assembly: AssemblyConfiguration("")] [assembly: AssemblyCompany("")] [assembly: AssemblyProduct("")] [assembly: AssemblyCopyright("")] [assembly: AssemblyTrademark("")] [assembly: AssemblyCulture("")] // // Version information for an assembly consists of the following four values: // // Major Version // Minor Version // Build Number // Revision // // You can specify all the values or you can default the Revision and Build Numbers // by using the '*' as shown below: [assembly: AssemblyVersion(" ")] // // In order to sign your assembly you must specify a key to use. Refer to the // Microsoft.NET Framework documentation for more information on assembly signing. // // Use the attributes below to control which key is used for signing. // // Notes: // (*) If no key is specified, the assembly is not signed. // (*) KeyName refers to a key that has been installed in the Crypto Service // Provider (CSP) on your machine. KeyFile refers to a file which contains // a key. // (*) If the KeyFile and the KeyName values are both specified, the // following processing occurs: Γεώργιος Μπέλης Α.Ε.Μ

37 // (1) If the KeyName can be found in the CSP, that key is used. // (2) If the KeyName does not exist and the KeyFile does exist, the key // in the KeyFile is installed into the CSP and used. // (*) In order to create a KeyFile, you can use the sn.exe (Strong Name) utility. // When specifying the KeyFile, the location of the KeyFile should be // relative to the project output directory which is // %Project Directory%\obj\<configuration>. For example, if your KeyFile is // located in the project directory, you would specify the AssemblyKeyFile // attribute as [assembly: AssemblyKeyFile("..\\..\\mykey.snk")] // (*) Delay Signing is an advanced option - see the Microsoft.NET Framework // documentation for more information on this. // [assembly: AssemblyDelaySign(false)] [assembly: AssemblyKeyFile("")] [assembly: AssemblyKeyName("")] Πρόγραµµα HIDDevice.cs using System; using System.IO; using System.Text; using System.Runtime.InteropServices; namespace USB_Win #region Custom exception /// Generic HID device exception public class HIDDeviceException : ApplicationException public HIDDeviceException(string strmessage) : base(strmessage) public static HIDDeviceException GenerateWithWinError(string strmessage) return new HIDDeviceException(string.Format("Msg:0 WinEr:1:X8", strmessage, Marshal.GetLastWin32Error())); #endregion /// Abstract HID device : Derive your new device controller class from this public abstract class HIDDevice : Win32Usb, IDisposable #region Privates variables Filestream we can use to read/write from</summary> private FileStream m_ofile; Length of input report : device gives us this</summary> private int m_ninputreportlength; Length if output report : device gives us this</summary> private int m_noutputreportlength; Γεώργιος Μπέλης Α.Ε.Μ

38 Handle to the device</summary> private IntPtr m_hhandle; #endregion #region IDisposable Members /// Dispose method public void Dispose() Dispose(true); GC.SuppressFinalize(this); /// Disposer called by both dispose and finalise /// <param name="bdisposing">true if disposing</param> protected virtual void Dispose(bool bdisposing) if (bdisposing) // if we are disposing, need to close the managed resources resources if (m_ofile!= null) m_ofile.close(); m_ofile = null; if (m_hhandle!= IntPtr.Zero) CloseHandle(m_hHandle); #endregion // Dispose and finalize, get rid of unmanaged #region Privates/protected /// Initialises the device /// <param name="strpath">path to the device</param> private void Initialise(string strpath) // Create the file from the device path m_hhandle = CreateFile(strPath, GENERIC_READ GENERIC_WRITE, 0, IntPtr.Zero, OPEN_EXISTING, FILE_FLAG_OVERLAPPED, IntPtr.Zero); if ( m_hhandle!= InvalidHandleValue ) // if the open worked... IntPtr lpdata; Γεώργιος Μπέλης Α.Ε.Μ

39 if (HidD_GetPreparsedData(m_hHandle, out lpdata)) // get windows to read the device data into an internal buffer try HidCaps ocaps; HidP_GetCaps(lpData, out ocaps); // extract the device capabilities from the internal buffer m_ninputreportlength = ocaps.inputreportbytelength; // get the input... m_noutputreportlength = ocaps.outputreportbytelength; //... and output report lengths m_ofile = new FileStream(m_hHandle, FileAccess.Read FileAccess.Write, true, m_ninputreportlength, true); // wrap the file handle in a.net file stream BeginAsyncRead(); // kick off the first asynchronous read finally HidD_FreePreparsedData(ref lpdata); // before we quit the funtion, we must free the internal buffer reserved in GetPreparsedData else // GetPreparsedData failed? Chuck an exception throw HIDDeviceException.GenerateWithWinError("GetPreparsedData failed"); else // File open failed? Chuck an exception m_hhandle = IntPtr.Zero; throw HIDDeviceException.GenerateWithWinError("Failed to create device file"); /// Kicks off an asynchronous read which completes when data is read or when the device /// is disconnected. Uses a callback. private void BeginAsyncRead() byte[] arrinputreport = new byte[m_ninputreportlength]; // put the buff we used to receive the stuff as the async state then we can get at it when the read completes m_ofile.beginread(arrinputreport, 0, m_ninputreportlength, new AsyncCallback(ReadCompleted), arrinputreport); Γεώργιος Μπέλης Α.Ε.Μ

40 /// Callback for above. Care with this as it will be called on the background thread from the async read /// <param name="iresult">async result parameter</param> protected void ReadCompleted(IAsyncResult iresult) byte[] arrbuff = (byte[])iresult.asyncstate; // retrieve the read buffer try m_ofile.endread(iresult); // call end read : this throws any exceptions that happened during the read try InputReport oinrep = CreateInputReport(); // Create the input report for the device oinrep.setdata(arrbuff); // and set the data portion - this processes the data received into a more easily understood format depending upon the report type HandleDataReceived(oInRep); // pass the new input report on to the higher level handler finally BeginAsyncRead(); // when all that is done, kick off another read for the next report catch(ioexception ex) // if we got an IO exception, the device was removed HandleDeviceRemoved(); if (OnDeviceRemoved!= null) OnDeviceRemoved(this, new EventArgs()); Dispose(); /// Write an output report to the device. /// <param name="ooutrep">output report to write</param> protected void Write(OutputReport ooutrep) try m_ofile.write(ooutrep.buffer, 0, ooutrep.bufferlength); catch(ioexception ex) Γεώργιος Μπέλης Α.Ε.Μ

41 Γεώργιος Μπέλης Α.Ε.Μ // The device was removed! throw new HIDDeviceException("Device was removed"); /// virtual handler for any action to be taken when data is received. Override to use. /// <param name="oinrep">the input report that was received</param> protected virtual void HandleDataReceived(InputReport oinrep) /// Virtual handler for any action to be taken when a device is removed. Override to use. protected virtual void HandleDeviceRemoved() /// Helper method to return the device path given a DeviceInterfaceData structure and an InfoSet handle. /// Used in 'FindDevice' so check that method out to see how to get an InfoSet handle and a DeviceInterfaceData. /// <param name="hinfoset">handle to the InfoSet</param> /// <param name="ointerface">deviceinterfacedata structure</param> /// <returns>the device path or null if there was some problem</returns> private static string GetDevicePath(IntPtr hinfoset, ref DeviceInterfaceData ointerface) uint nrequiredsize = 0; // Get the device interface details if (!SetupDiGetDeviceInterfaceDetail(hInfoSet, ref ointerface, IntPtr.Zero, 0, ref nrequiredsize, IntPtr.Zero)) DeviceInterfaceDetailData odetail = new DeviceInterfaceDetailData(); odetail.size = 5; // hardcoded to 5! Sorry, but this works and trying more future proof versions by setting the size to the struct sizeof failed miserably. If you manage to sort it, mail me! Thx if (SetupDiGetDeviceInterfaceDetail(hInfoSet, ref ointerface, ref odetail, nrequiredsize, ref nrequiredsize, IntPtr.Zero)) return odetail.devicepath; return null; #endregion

42 #region Public static /// Finds a device given its PID and VID /// <param name="nvid">vendor id for device (VID)</param> /// <param name="npid">product id for device (PID)</param> /// <param name="otype">type of device class to create</param> /// <returns>a new device class of the given type or null</returns> public static HIDDevice FindDevice(int nvid, int npid, Type otype) string strpath = string.empty; string strsearch = string.format("vid_0:x4&pid_1:x4", nvid, npid); // first, build the path search string Guid ghid; HidD_GetHidGuid(out ghid); // next, get the GUID from Windows that it uses to represent the HID USB interface IntPtr hinfoset = SetupDiGetClassDevs(ref ghid, null, IntPtr.Zero, DIGCF_DEVICEINTERFACE DIGCF_PRESENT); // this gets a list of all HID devices currently connected to the computer (InfoSet) try DeviceInterfaceData ointerface = new DeviceInterfaceData(); // build up a device interface data block ointerface.size = Marshal.SizeOf(oInterface); // Now iterate through the InfoSet memory block assigned within Windows in the call to SetupDiGetClassDevs // to get device details for each device connected int nindex = 0; while (SetupDiEnumDeviceInterfaces(hInfoSet, 0, ref ghid, (uint)nindex, ref ointerface)) // this gets the device interface information for a device at index 'nindex' in the memory block string strdevicepath = GetDevicePath(hInfoSet, ref ointerface); // get the device path (see helper method 'GetDevicePath') if (strdevicepath.indexof(strsearch) >= 0) // do a string search, if we find the VID/PID string then we found our device! HIDDevice onewdevice = (HIDDevice)Activator.CreateInstance(oType);// create an instance of the class for this device onewdevice.initialise(strdevicepath); // initialise it with the device path next one. finally return onewdevice; // and return it nindex++; Γεώργιος Μπέλης Α.Ε.Μ // if we get here, we didn't find our device. So move on to the

43 // Before we go, we have to free up the InfoSet memory reserved by SetupDiGetClassDevs SetupDiDestroyDeviceInfoList(hInfoSet); return null; // oops, didn't find our device #endregion #region Publics /// Event handler called when device has been removed public event EventHandler OnDeviceRemoved; /// Accessor for output report length public int OutputReportLength get return m_noutputreportlength; /// Accessor for input report length public int InputReportLength get return m_ninputreportlength; /// Virtual method to create an input report for this device. Override to use. /// <returns>a shiny new input report</returns> public virtual InputReport CreateInputReport() return null; #endregion Γεώργιος Μπέλης Α.Ε.Μ

44 Πρόγραµµα Report.cs using System; namespace USB_Win /// Base class for report types. Simply wraps a byte buffer. public abstract class Report #region Member variables Buffer for raw report bytes</summary> private byte[] m_arrbuffer; Length of the report</summary> private int m_nlength; #endregion /// Constructor /// <param name="odev">constructing device</param> public Report(HIDDevice odev) // Do nothing /// Sets the raw byte array. /// <param name="arrbytes">raw report bytes</param> protected void SetBuffer(byte[] arrbytes) m_arrbuffer = arrbytes; m_nlength = m_arrbuffer.length; /// Accessor for the raw byte buffer public byte[] Buffer get return m_arrbuffer; /// Accessor for the buffer length Γεώργιος Μπέλης Α.Ε.Μ

45 public int BufferLength get return m_nlength; /// Defines a base class for output reports. To use output reports, just put the bytes into the raw buffer. public abstract class OutputReport : Report /// Construction. Setup the buffer with the correct output report length dictated by the device /// <param name="odev">creating device</param> public OutputReport(HIDDevice odev) : base(odev) SetBuffer(new byte[odev.outputreportlength]); /// Defines a base class for input reports. To use input reports, use the SetData method and override the /// ProcessData method. public abstract class InputReport : Report /// Construction. Do nothing /// <param name="odev">creating device</param> public InputReport(HIDDevice odev) : base(odev) /// Call this to set the buffer given a raw input report. Calls an overridable method to /// should automatically parse the bytes into meaningul structures. /// <param name="arrdata">raw input report.</param> public void SetData(byte[] arrdata) SetBuffer(arrData); ProcessData(); Γεώργιος Μπέλης Α.Ε.Μ

46 /// Override this to process the input report into something useful public abstract void ProcessData(); Πρόγραµµα USB_AwareForm.cs using System; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; namespace USB_Win /// Defines a simple base form class that registers itself for device notifications. public class UsbAwareForm : Form #region Member variables HID Guid</summary> private Guid m_gdeviceclass; Handle returned by RegisterForUsbEvents - need it when we unregister</summary> private IntPtr m_husbeventhandle; #endregion /// Constructor. No handle yet so can't register for USB events here public UsbAwareForm() InitializeComponent(); m_gdeviceclass = Win32Usb.HIDGuid; /// Accessor for device class guid public Guid DeviceClassGuid get return m_gdeviceclass; Event called when a new device is detected</summary> public event EventHandler DeviceArrived; Event called when a device is removed</summary> Γεώργιος Μπέλης Α.Ε.Μ

47 public event EventHandler DeviceRemoved; /// Overridable 'On' method called when a new device is detected protected virtual void OnDeviceArrived(EventArgs args) if ( DeviceArrived!= null ) DeviceArrived(this, args); /// Overridable 'On' method called when a device is removed protected virtual void OnDeviceRemoved(EventArgs args) if ( DeviceRemoved!= null ) DeviceRemoved(this, args); #region Overrides /// Override called when the window handle has been created. /// <param name="e"></param> protected override void OnHandleCreated(EventArgs e) base.onhandlecreated(e); m_husbeventhandle = Win32Usb.RegisterForUsbEvents(Handle, m_gdeviceclass); /// Override WndProc to handle incoming Windows messages. /// <param name="m">message from Windows</param> protected override void WndProc(ref Message m) if (m.msg == Win32Usb.WM_DEVICECHANGE) // we got a device change message! A USB device was inserted or removed switch(m.wparam.toint32()) // Check the W parameter to see if a device was inserted or removed case Win32Usb.DEVICE_ARRIVAL: // inserted OnDeviceArrived(new EventArgs()); break; Γεώργιος Μπέλης Α.Ε.Μ

48 removed case Win32Usb.DEVICE_REMOVECOMPLETE: // OnDeviceRemoved(new EventArgs()); break; base.wndproc(ref m); // pass message on to base form /// Clean up any resources being used. /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param> protected override void Dispose(bool disposing) Win32Usb.UnregisterForUsbEvents(m_hUsbEventHandle); if (disposing && (components!= null)) components.dispose(); base.dispose(disposing); #endregion #region Windows Form Designer generated code /// Required designer variable. private System.ComponentModel.IContainer components = null; /// Required method for Designer support - do not modify /// the contents of this method with the code editor. private void InitializeComponent() this.components = new System.ComponentModel.Container(); this.text = "UsbAwareForm"; #endregion Πρόγραµµα USB_HandsetDevice.cs using System; using System.IO; using System.Text; Γεώργιος Μπέλης Α.Ε.Μ

49 namespace USB_Win /// Class which defines the state of the buttons public class ButtonStates public byte val; #region Event definitions /// Arguments for button changed event public class USB_ButtonChangedEventArgs : EventArgs Current states of the buttons</summary> public readonly ButtonStates[] Buttons; /// Constructor /// <param name="arrstates">state of the buttons</param> public USB_ButtonChangedEventArgs(ButtonStates[] arrstates) Buttons = arrstates; /// Delegate for button event public delegate void USB_ButtonChangedEventHandler(object sender, USB_ButtonChangedEventArgs args); #endregion /// Class that defines a controller of USB handsets : Representation of the USB hardware device public class USB_HandsetDevice : HIDDevice #region Public attributes/methods /// Event fired when one or more button state changes public event USB_ButtonChangedEventHandler OnButtonChanged; /// Creates an input report for use in the HID device framework /// <returns>a new input report for this device</returns> Γεώργιος Μπέλης Α.Ε.Μ

50 public override InputReport CreateInputReport() return new USB_InputReport(this); /// Finds the USB handset. /// <returns>a new USB_HandsetDevice or null if not found.</returns> public static USB_HandsetDevice FindUSB_Handset() // VID and PID for our USB Board return (USB_HandsetDevice)FindDevice(0x1234, 0x0001, typeof(usb_handsetdevice)); #endregion #region Overrides /// Fired when data has been received over USB /// <param name="oinrep">input report received</param> protected override void HandleDataReceived(InputReport oinrep) // Fire the event handler if assigned if (OnButtonChanged!= null) USB_InputReport obuzin = (USB_InputReport)oInRep; OnButtonChanged(this, new USB_ButtonChangedEventArgs(oBuzIn.Buttons)); /// Dispose. /// <param name="bdisposing">true if object is being disposed - else is being finalised</param> protected override void Dispose(bool bdisposing) base.dispose(bdisposing); #endregion #region Device reports /// Output report for USB device public class USB_OutputReport : OutputReport Γεώργιος Μπέλης Α.Ε.Μ

(C) 2010 Pearson Education, Inc. All rights reserved.

(C) 2010 Pearson Education, Inc. All rights reserved. Connectionless transmission with datagrams. Connection-oriented transmission is like the telephone system You dial and are given a connection to the telephone of fthe person with whom you wish to communicate.

Διαβάστε περισσότερα

ΚΥΠΡΙΑΚΗ ΕΤΑΙΡΕΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ CYPRUS COMPUTER SOCIETY ΠΑΓΚΥΠΡΙΟΣ ΜΑΘΗΤΙΚΟΣ ΔΙΑΓΩΝΙΣΜΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ 19/5/2007

ΚΥΠΡΙΑΚΗ ΕΤΑΙΡΕΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ CYPRUS COMPUTER SOCIETY ΠΑΓΚΥΠΡΙΟΣ ΜΑΘΗΤΙΚΟΣ ΔΙΑΓΩΝΙΣΜΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ 19/5/2007 Οδηγίες: Να απαντηθούν όλες οι ερωτήσεις. Αν κάπου κάνετε κάποιες υποθέσεις να αναφερθούν στη σχετική ερώτηση. Όλα τα αρχεία που αναφέρονται στα προβλήματα βρίσκονται στον ίδιο φάκελο με το εκτελέσιμο

Διαβάστε περισσότερα

CYTA Cloud Server Set Up Instructions

CYTA Cloud Server Set Up Instructions CYTA Cloud Server Set Up Instructions ΕΛΛΗΝΙΚΑ ENGLISH Initial Set-up Cloud Server To proceed with the initial setup of your Cloud Server first login to the Cyta CloudMarketPlace on https://cloudmarketplace.cyta.com.cy

Διαβάστε περισσότερα

Homework 3 Solutions

Homework 3 Solutions Homework 3 Solutions Igor Yanovsky (Math 151A TA) Problem 1: Compute the absolute error and relative error in approximations of p by p. (Use calculator!) a) p π, p 22/7; b) p π, p 3.141. Solution: For

Διαβάστε περισσότερα

VBA ΣΤΟ WORD. 1. Συχνά, όταν ήθελα να δώσω ένα φυλλάδιο εργασίας με ασκήσεις στους μαθητές έκανα το εξής: Version 25-7-2015 ΗΜΙΤΕΛΗΣ!!!!

VBA ΣΤΟ WORD. 1. Συχνά, όταν ήθελα να δώσω ένα φυλλάδιο εργασίας με ασκήσεις στους μαθητές έκανα το εξής: Version 25-7-2015 ΗΜΙΤΕΛΗΣ!!!! VBA ΣΤΟ WORD Version 25-7-2015 ΗΜΙΤΕΛΗΣ!!!! Μου παρουσιάστηκαν δύο θέματα. 1. Συχνά, όταν ήθελα να δώσω ένα φυλλάδιο εργασίας με ασκήσεις στους μαθητές έκανα το εξής: Εγραφα σε ένα αρχείο του Word τις

Διαβάστε περισσότερα

Εγκατάσταση λογισμικού και αναβάθμιση συσκευής Device software installation and software upgrade

Εγκατάσταση λογισμικού και αναβάθμιση συσκευής Device software installation and software upgrade Για να ελέγξετε το λογισμικό που έχει τώρα η συσκευή κάντε κλικ Menu > Options > Device > About Device Versions. Στο πιο κάτω παράδειγμα η συσκευή έχει έκδοση λογισμικού 6.0.0.546 με πλατφόρμα 6.6.0.207.

Διαβάστε περισσότερα

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ - ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΠΛ 133: ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΕΦΗΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΕΡΓΑΣΤΗΡΙΟ 3 Javadoc Tutorial

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ - ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΠΛ 133: ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΕΦΗΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΕΡΓΑΣΤΗΡΙΟ 3 Javadoc Tutorial ΕΡΓΑΣΤΗΡΙΟ 3 Javadoc Tutorial Introduction Το Javadoc είναι ένα εργαλείο που παράγει αρχεία html (παρόμοιο με τις σελίδες στη διεύθυνση http://docs.oracle.com/javase/8/docs/api/index.html) από τα σχόλια

Διαβάστε περισσότερα

ΑΥΤΟΜΑΤΟΠΟΙΗΣΗ ΜΟΝΑΔΑΣ ΘΡΑΥΣΤΗΡΑ ΜΕ ΧΡΗΣΗ P.L.C. AUTOMATION OF A CRUSHER MODULE USING P.L.C.

ΑΥΤΟΜΑΤΟΠΟΙΗΣΗ ΜΟΝΑΔΑΣ ΘΡΑΥΣΤΗΡΑ ΜΕ ΧΡΗΣΗ P.L.C. AUTOMATION OF A CRUSHER MODULE USING P.L.C. ΤΕΧΝΟΛΟΓΙΚΟ ΕΚΠΑΙΔΕΥΤΙΚΟ ΙΔΡΥΜΑ ΑΝ. ΜΑΚΕΔΟΝΙΑΣ ΚΑΙ ΘΡΑΚΗΣ ΣΧΟΛΗ ΤΕΧΝΟΛΟΓΙΚΩΝ ΕΦΑΡΜΟΓΩΝ ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ Τ.Ε ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ ΑΥΤΟΜΑΤΟΠΟΙΗΣΗ ΜΟΝΑΔΑΣ ΘΡΑΥΣΤΗΡΑ ΜΕ ΧΡΗΣΗ P.L.C. AUTOMATION OF A

Διαβάστε περισσότερα

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

Μαθαίνοντας το hardware του αναπτυξιακού 1. ΑΣΚΗΣΗ 1 Μαθαίνοντας το hardware του αναπτυξιακού Προϋποθέσεις Το εργαστήριο αυτό προϋποθέτει το διάβασμα και χρήση των εξής: Αρχείο mcbstr9.chm HTML, που δίδεται με τα υπόλοιπα αρχεία του εργαστηρίου.

Διαβάστε περισσότερα

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

ΕΡΓΑΣΤΗΡΙΟ ΜΙΚΡΟΕΛΕΓΚΤΩΝ ΕΡΓΑΣΤΗΡΙΟ ΜΙΚΡΟΕΛΕΓΚΤΩΝ ATMEL AVR8 ΠΟΡΛΙΔΑΣ ΔΗΜΗΤΡΙΟΣ ATMEL AVR Atmega16 Χαρακτηριστικά Μικροελεγκτής 8-bit υψηλής απόδοσης και χαμηλής κατανάλωσης Προοδευμένη αρχιτεκτονική RISC (Reduced instruction

Διαβάστε περισσότερα

Κεφάλαιο 5 Διασύνδεση Αναλογικών & Ψηφιακών Συστηµάτων

Κεφάλαιο 5 Διασύνδεση Αναλογικών & Ψηφιακών Συστηµάτων Κεφάλαιο 5 Διασύνδεση Αναλογικών & Ψηφιακών Συστηµάτων Αναλογικές & Ψηφιακές Διατάξεις Control Systems Laboratory Τα διάφορα μεγέθη των φυσικών διεργασιών τα μετράμε με αισθητήρες που ουσιαστικά παρέχουν

Διαβάστε περισσότερα

ΚΥΠΡΙΑΚΗ ΕΤΑΙΡΕΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ CYPRUS COMPUTER SOCIETY ΠΑΓΚΥΠΡΙΟΣ ΜΑΘΗΤΙΚΟΣ ΔΙΑΓΩΝΙΣΜΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ 6/5/2006

ΚΥΠΡΙΑΚΗ ΕΤΑΙΡΕΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ CYPRUS COMPUTER SOCIETY ΠΑΓΚΥΠΡΙΟΣ ΜΑΘΗΤΙΚΟΣ ΔΙΑΓΩΝΙΣΜΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ 6/5/2006 Οδηγίες: Να απαντηθούν όλες οι ερωτήσεις. Ολοι οι αριθμοί που αναφέρονται σε όλα τα ερωτήματα είναι μικρότεροι το 1000 εκτός αν ορίζεται διαφορετικά στη διατύπωση του προβλήματος. Διάρκεια: 3,5 ώρες Καλή

Διαβάστε περισσότερα

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

Εφαρμογές μικροελεγκτών Μικροελεγκτές Έναν ορισμό που θα μπορούσαμε να δώσουμε για τους μικροελεγκτές είναι ο εξής: Μικροελεγκτής είναι ένα προγραμματιζόμενο ολοκληρωμένο κύκλωμα το οποίο διαθέτει επεξεργαστή, μνήμη, διάφορα

Διαβάστε περισσότερα

Κεφάλαιο 3 Αρχιτεκτονική Ηλεκτρονικού Τμήματος (hardware) των Υπολογιστικών Συστημάτων ΕΡΩΤΗΣΕΙΣ ΑΣΚΗΣΕΙΣ

Κεφάλαιο 3 Αρχιτεκτονική Ηλεκτρονικού Τμήματος (hardware) των Υπολογιστικών Συστημάτων ΕΡΩΤΗΣΕΙΣ ΑΣΚΗΣΕΙΣ Κεφάλαιο 3 Αρχιτεκτονική Ηλεκτρονικού Τμήματος (hardware) των Υπολογιστικών Συστημάτων ΕΡΩΤΗΣΕΙΣ ΑΣΚΗΣΕΙΣ 1. Τι εννοούμε με τον όρο υπολογιστικό σύστημα και τι με τον όρο μικροϋπολογιστικό σύστημα; Υπολογιστικό

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

ΕΙΣΑΓΩΓΗ. Αρχιτεκτονική Η/Υ ΗΜΟΣ ΜΠΟΛΑΝΑΚΗΣ

ΕΙΣΑΓΩΓΗ. Αρχιτεκτονική Η/Υ ΗΜΟΣ ΜΠΟΛΑΝΑΚΗΣ ΕΙΣΑΓΩΓΗ Θέµατα ❸Συστήµατα Η/Υ (αναφορά) ❸Γλώσσα υπολογιστών ❸Γλώσσες προγραµµατισµού (low-high level) ❸Low level VS high level programming ❸Βασικά µέρη Η/Υ ❸Μικροϋπολογιστές (µc µp) ❸Αρχιτεκτονική µικροελεγκτών

Διαβάστε περισσότερα

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

ΑΡΧΙΤΕΚΤΟΝΙΚΗ HARDWARE ΥΠΟΛΟΓΙΣΤΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ ΨΗΦΙΑΚΑ ΣΥΣΤΗΜΑΤΑ ΚΕΦΑΛΑΙΟ 7ο ΑΡΧΙΤΕΚΤΟΝΙΚΗ HARDWARE ΥΠΟΛΟΓΙΣΤΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ Γενικό διάγραμμα υπολογιστικού συστήματος Γενικό διάγραμμα υπολογιστικού συστήματος - Κεντρική Μονάδα Επεξεργασίας ονομάζουμε

Διαβάστε περισσότερα

How to register an account with the Hellenic Community of Sheffield.

How to register an account with the Hellenic Community of Sheffield. How to register an account with the Hellenic Community of Sheffield. (1) EN: Go to address GR: Πηγαίνετε στη διεύθυνση: http://www.helleniccommunityofsheffield.com (2) EN: At the bottom of the page, click

Διαβάστε περισσότερα

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

Πλακέτα Arduino. 1ο ΕΠΑΛ Περάματος - 7ο ΕΚ Πειραιά Πλακέτα Arduino Το 2005 oι Massimo Banzi και David Cueartielles στο Ivrea Δημιουργούν την υπολογιστική πλατφόρμα Arduino. Το Arduino είναι βασισμένο σε μια απλή μητρική πλακέτα ανοικτού κώδικα, με ενσωματωμένο

Διαβάστε περισσότερα

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

Ενότητα 4. Εισαγωγή στην Πληροφορική. Αναπαράσταση δεδοµένων. Αναπαράσταση πληροφορίας. υαδικοί αριθµοί. Χειµερινό Εξάµηνο 2006-07 Ενότητα 4 Εισαγωγή στην Πληροφορική Κεφάλαιο 4Α: Αναπαράσταση πληροφορίας Κεφάλαιο 4Β: Επεξεργαστές που χρησιµοποιούνται σε PCs Χειµερινό Εξάµηνο 2006-07 ρ. Παναγιώτης Χατζηδούκας (Π..407/80) Εισαγωγή

Διαβάστε περισσότερα

Εργαστήριο Δομημένος Προγραμματισμός (C#) Τμήμα Μηχανολογίας Νικόλαος Ζ. Ζάχαρης Καθηγητής Εφαρμογών

Εργαστήριο Δομημένος Προγραμματισμός (C#) Τμήμα Μηχανολογίας Νικόλαος Ζ. Ζάχαρης Καθηγητής Εφαρμογών Εργαστήριο Δομημένος Προγραμματισμός (C#) Τμήμα Μηχανολογίας Νικόλαος Ζ. Ζάχαρης Καθηγητής Εφαρμογών Σκοπός Nα κατασκευάσουν πίνακες από δεδομένα. Να κατασκευάσουν συναρτήσεις με πίνακες. Να κάνουν χρήση

Διαβάστε περισσότερα

SPEEDO AQUABEAT. Specially Designed for Aquatic Athletes and Active People

SPEEDO AQUABEAT. Specially Designed for Aquatic Athletes and Active People SPEEDO AQUABEAT TM Specially Designed for Aquatic Athletes and Active People 1 2 Decrease Volume Increase Volume Reset EarphonesUSBJack Power Off / Rewind Power On / Fast Forward Goggle clip LED Status

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

ΑΝΑLOG TO DIGITAL CONVERTER (ADC)

ΑΝΑLOG TO DIGITAL CONVERTER (ADC) ΑΝΑLOG TO DIGITAL CONVERTER (ADC) O ADC αναλαμβάνει να μετατρέψει αναλογικές τάσεις σε ψηφιακές ώστε να είναι διαθέσιμες εσωτερικά στο μικροελεγκτή για επεξεργασία. Η αναλογική τάση που θέλουμε να ψηφιοποιηθεί

Διαβάστε περισσότερα

EPL 603 TOPICS IN SOFTWARE ENGINEERING. Lab 5: Component Adaptation Environment (COPE)

EPL 603 TOPICS IN SOFTWARE ENGINEERING. Lab 5: Component Adaptation Environment (COPE) EPL 603 TOPICS IN SOFTWARE ENGINEERING Lab 5: Component Adaptation Environment (COPE) Performing Static Analysis 1 Class Name: The fully qualified name of the specific class Type: The type of the class

Διαβάστε περισσότερα

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

Αρχιτεκτονική υπολογιστών 1 Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου Αρχιτεκτονική υπολογιστών Ενότητα 4 : Κρυφή Μνήμη Καρβούνης Ευάγγελος Δευτέρα, 30/11/2015 Χαρακτηριστικά Θέση Χωρητικότητα Μονάδα Μεταφοράς

Διαβάστε περισσότερα

ιαδικτυακές Εφαρµογές

ιαδικτυακές Εφαρµογές ιαδικτυακές Εφαρµογές µε Java2 Στοιχεία ικτυακής Επικοινωνίας Όροι IP address 32bit αριθµός που χρησιµοποιείται από το Internet Protocol για την παράδοση δεδοµένων στο σωστό υπολογιστή στο δίκτυο. Port

Διαβάστε περισσότερα

CHAPTER 25 SOLVING EQUATIONS BY ITERATIVE METHODS

CHAPTER 25 SOLVING EQUATIONS BY ITERATIVE METHODS CHAPTER 5 SOLVING EQUATIONS BY ITERATIVE METHODS EXERCISE 104 Page 8 1. Find the positive root of the equation x + 3x 5 = 0, correct to 3 significant figures, using the method of bisection. Let f(x) =

Διαβάστε περισσότερα

ΤΕΧΝΟΛΟΓΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΣΧΟΛΗ ΜΗΧΑΝΙΚΗΣ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑΣ. Πτυχιακή εργασία

ΤΕΧΝΟΛΟΓΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΣΧΟΛΗ ΜΗΧΑΝΙΚΗΣ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑΣ. Πτυχιακή εργασία ΤΕΧΝΟΛΟΓΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΣΧΟΛΗ ΜΗΧΑΝΙΚΗΣ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑΣ Πτυχιακή εργασία ΑΝΑΠΤΥΞΗ ΕΙΚΟΝΙΚΗΣ ΠΛΑΤΦΟΡΜΑΣ ΠΡΟΣΟΜΟΙΩΣΗΣ ΤΗΣ ΠΑΡΑΜΟΡΦΩΣΗΣ ΑΝΘΡΩΠΙΝΟΥ ΗΠΑΤΟΣ ΜΕ ΤΗ ΧΡΗΣΗ ΑΠΤΙΚΟΥ ΜΕΣΟΥ Δηµήτρης Δούνας

Διαβάστε περισσότερα

ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 3, 7, 8 & 9 25/10/07

ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 3, 7, 8 & 9 25/10/07 ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 3, 7, 8 & 9 25/10/07 Αριθμητική στο δυαδικό σύστημα (γενικά) Συμπληρωματικά για δυαδικό σύστημα Η πρόσθεση στηρίζεται στους κανόνες: 0 + 0 = 0, 0 + 1 = 1, 1

Διαβάστε περισσότερα

Εξαιρέσεις Εισαγωγή. Εξαιρέσεις. ηµήτρης Λεβεντέας

Εξαιρέσεις Εισαγωγή. Εξαιρέσεις. ηµήτρης Λεβεντέας Εισαγωγή Εξαιρέσεις ηµήτρης Λεβεντέας 20 Μαΐου 2010 Εισαγωγή Ορισµός Τι είναι Ορισµός Ο χειρισµός εξαιρέσεων είναι µια κατασκευή η οποία µας επιτρέπει να χειριστούµε ειδικές συνθήκες που αλλάζουν την ϕυσιολογική

Διαβάστε περισσότερα

ΚΥΠΡΙΑΚΟΣ ΣΥΝΔΕΣΜΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ CYPRUS COMPUTER SOCIETY 21 ος ΠΑΓΚΥΠΡΙΟΣ ΜΑΘΗΤΙΚΟΣ ΔΙΑΓΩΝΙΣΜΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ Δεύτερος Γύρος - 30 Μαρτίου 2011

ΚΥΠΡΙΑΚΟΣ ΣΥΝΔΕΣΜΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ CYPRUS COMPUTER SOCIETY 21 ος ΠΑΓΚΥΠΡΙΟΣ ΜΑΘΗΤΙΚΟΣ ΔΙΑΓΩΝΙΣΜΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ Δεύτερος Γύρος - 30 Μαρτίου 2011 Διάρκεια Διαγωνισμού: 3 ώρες Απαντήστε όλες τις ερωτήσεις Μέγιστο Βάρος (20 Μονάδες) Δίνεται ένα σύνολο από N σφαιρίδια τα οποία δεν έχουν όλα το ίδιο βάρος μεταξύ τους και ένα κουτί που αντέχει μέχρι

Διαβάστε περισσότερα

ΣΥΣΚΕΥΕΣ ΑΠΟΘΗΚΕΥΣΗΣ (ΜΝΗΜΗ)

ΣΥΣΚΕΥΕΣ ΑΠΟΘΗΚΕΥΣΗΣ (ΜΝΗΜΗ) ΣΥΣΚΕΥΕΣ ΑΠΟΘΗΚΕΥΣΗΣ (ΜΝΗΜΗ) Συσκευές αποθήκευσης Ένας υπολογιστής προκειµένου να αποθηκεύσει δεδοµένα χρησιµοποιεί δύο τρόπους αποθήκευσης: Την Κύρια Μνήµη Τις συσκευές µόνιµης αποθήκευσης (δευτερεύουσα

Διαβάστε περισσότερα

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

Ενσωματωμένα Συστήματα Ενσωματωμένα Συστήματα Ενότητα: ΕΡΓΑΣΤΗΡΙΑΚΗ ΑΣΚΗΣΗ Νο 13 Δρ. Μηνάς Δασυγένης mdasyg@ieee.org Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών Εργαστήριο Ψηφιακών Συστημάτων και Αρχιτεκτονικής Υπολογιστών

Διαβάστε περισσότερα

Αντικειμενοστρεφής Προγραμματισμός

Αντικειμενοστρεφής Προγραμματισμός Πανεπιστήμιο Πειραιά Τμήμα Ψηφιακών Συστημάτων Αντικειμενοστρεφής Προγραμματισμός 30/5/2016 Δρ. Ανδριάνα Πρέντζα Αναπληρώτρια Καθηγήτρια aprentza@unipi.gr Συλλογή απορριμμάτων Συλλογή απορριμμάτων (Garbage

Διαβάστε περισσότερα

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

Συστήµατα DAQ. 6.1 Εισαγωγή 6 Συστήµατα DAQ 6.1 Εισαγωγή Με τον όρο Acquisition (Απόκτηση) περιγράφουµε τον τρόπο µε τον οποίο µεγέθη όπως η πίεση, η θερµοκρασία, το ρεύµα µετατρέπονται σε ψηφιακά δεδοµένα και απεικονίζονται στην

Διαβάστε περισσότερα

WDT και Power Up timer

WDT και Power Up timer Ο ΜΙΚΡΟΕΛΕΓΚΤΗΣ PIC O μικροελεγκτής PIC κατασκευάζεται από την εταιρεία Microchip. Περιλαμβάνει τις τρεις βασικές κατηγορίες ως προς το εύρος του δίαυλου δεδομένων (Data Bus): 8 bit (σειρές PIC10, PIC12,

Διαβάστε περισσότερα

2 Composition. Invertible Mappings

2 Composition. Invertible Mappings Arkansas Tech University MATH 4033: Elementary Modern Algebra Dr. Marcel B. Finan Composition. Invertible Mappings In this section we discuss two procedures for creating new mappings from old ones, namely,

Διαβάστε περισσότερα

TMA4115 Matematikk 3

TMA4115 Matematikk 3 TMA4115 Matematikk 3 Andrew Stacey Norges Teknisk-Naturvitenskapelige Universitet Trondheim Spring 2010 Lecture 12: Mathematics Marvellous Matrices Andrew Stacey Norges Teknisk-Naturvitenskapelige Universitet

Διαβάστε περισσότερα

Μικροεπεξεργαστές - Μικροελεγκτές Ψηφιακά Συστήματα

Μικροεπεξεργαστές - Μικροελεγκτές Ψηφιακά Συστήματα Μικροεπεξεργαστές - Μικροελεγκτές Ψηφιακά Συστήματα 1. Ποια είναι η σχέση της έννοιας του μικροεπεξεργαστή με αυτή του μικροελεγκτή; Α. Ο μικροεπεξεργαστής εμπεριέχει τουλάχιστο έναν μικροελεγκτή. Β. Ο

Διαβάστε περισσότερα

Δομές Δεδομένων - Εργαστήριο 2. Λίστες

Δομές Δεδομένων - Εργαστήριο 2. Λίστες Λίστες Λίστες (Lists) : Συλλογή δεδομένων σε δυναμικά δεσμευμένους κόμβους. Κάθε κόμβος περιέχει συνδέσεις προς άλλους κόμβους. Προσπέλαση -στού κόμβου διατρέχοντας όλους τους προηγούμενους. Πολλές παραλλαγές

Διαβάστε περισσότερα

ΤΕΧΝΟΛΟΓΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΣΧΟΛΗ ΜΗΧΑΝΙΚΗΣ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑΣ. Πτυχιακή εργασία

ΤΕΧΝΟΛΟΓΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΣΧΟΛΗ ΜΗΧΑΝΙΚΗΣ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑΣ. Πτυχιακή εργασία ΤΕΧΝΟΛΟΓΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΣΧΟΛΗ ΜΗΧΑΝΙΚΗΣ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑΣ Πτυχιακή εργασία ΕΝΕΡΓΟ ΦΙΛΤΡΟ ΔΙΑΚΟΠΤΙΚΟΥ ΠΗΝΙΟΥ ( Switched Inductor Variable Filter ) Ευτυχία Ιωσήφ Λεμεσός, Μάιος 2016 ΤΕΧΝΟΛΟΓΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ

Διαβάστε περισσότερα

Δημιουργία Λογαριασμού Διαχείρισης Business Telephony Create a Management Account for Business Telephony

Δημιουργία Λογαριασμού Διαχείρισης Business Telephony Create a Management Account for Business Telephony Δημιουργία Λογαριασμού Διαχείρισης Business Telephony Create a Management Account for Business Telephony Ελληνικά Ι English 1/7 Δημιουργία Λογαριασμού Διαχείρισης Επιχειρηματικής Τηλεφωνίας μέσω της ιστοσελίδας

Διαβάστε περισσότερα

Κεφάλαιο 5 Διασύνδεση Αναλογικών & Ψηφιακών Συστημάτων

Κεφάλαιο 5 Διασύνδεση Αναλογικών & Ψηφιακών Συστημάτων Κεφάλαιο 5 Διασύνδεση Αναλογικών & Ψηφιακών Συστημάτων Αναλογικές & Ψηφιακές Διατάξεις Τα διάφορα μεγέθη των φυσικών διεργασιών τα μετράμε με αισθητήρες που ουσιαστικά παρέχουν ηλεκτρικά σήματα χαμηλής

Διαβάστε περισσότερα

Συστήματα Διαχείρισης Βάσεων Δεδομένων

Συστήματα Διαχείρισης Βάσεων Δεδομένων ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ Συστήματα Διαχείρισης Βάσεων Δεδομένων Φροντιστήριο 9: Transactions - part 1 Δημήτρης Πλεξουσάκης Τμήμα Επιστήμης Υπολογιστών Tutorial on Undo, Redo and Undo/Redo

Διαβάστε περισσότερα

ΟΔΗΓΙΕΣ ΧΡΗΣΗΣ USE INSTRUCTIONS

ΟΔΗΓΙΕΣ ΧΡΗΣΗΣ USE INSTRUCTIONS ΟΔΗΓΙΕΣ ΧΡΗΣΗΣ USE INSTRUCTIONS ΤΗΛΕΦΩΝΟ ΜΕ ΑΝΑΓΝΩΡΙΣΗ ΚΛΗΣΗΣ /CORDED PHONE WITH CALLER ID ΜΟΝΤΕΛΟ/MODEL: TM09-448 DC48V Παρακαλούμε διαβάστε προσεκτικά όλες τις οδηγίες χρήσης πριν την χρήση της συσκευής

Διαβάστε περισσότερα

Περιεχόµενα. Ανασκόπηση - Ορισµοί. Ο κύκλος ανάπτυξης προγράµµατος. Γλώσσες Προγραµµατισµού Ασκήσεις

Περιεχόµενα. Ανασκόπηση - Ορισµοί. Ο κύκλος ανάπτυξης προγράµµατος. Γλώσσες Προγραµµατισµού Ασκήσεις Προγραµµατισµός Η/Υ Ανασκόπηση - Ορισµοί Περιεχόµενα Ο κύκλος ανάπτυξης προγράµµατος Περιγραφή προβλήµατος Ανάλυση προβλήµατος Λογικό ιάγραµµα Ψευδοκώδικας Κωδικοποίηση Συντήρηση Γλώσσες Προγραµµατισµού

Διαβάστε περισσότερα

ΗΜΥ 210 ΣΧΕΔΙΑΣΜΟΣ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ. Χειµερινό Εξάµηνο 2016 ΔΙΑΛΕΞΗ 13: Διαδικασία Σχεδιασµού Ακολουθιακών Κυκλωµάτων (Κεφάλαιο 6.

ΗΜΥ 210 ΣΧΕΔΙΑΣΜΟΣ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ. Χειµερινό Εξάµηνο 2016 ΔΙΑΛΕΞΗ 13: Διαδικασία Σχεδιασµού Ακολουθιακών Κυκλωµάτων (Κεφάλαιο 6. ΗΜΥ 210 ΣΧΕΔΙΑΣΜΟΣ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ Χειµερινό Εξάµηνο 2016 ΔΙΑΛΕΞΗ 13: Διαδικασία Σχεδιασµού Ακολουθιακών Κυκλωµάτων (Κεφάλαιο 6.3) ΧΑΡΗΣ ΘΕΟΧΑΡΙΔΗΣ Επίκουρος Καθηγητής, ΗΜΜΥ (ttheocharides@ucy.ac.cy)

Διαβάστε περισσότερα

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

Έλεγχος με Μικροϋπολογιστές Εργαστήριο ενσωματωμένων συστημάτων Εργαστήριο ενσωματωμένων συστημάτων Παρουσίαση 1: Εισαγωγή στα ενσωματωμένα συστήματα (embedded systems) Εργαστήριο Αυτομάτου Ελέγχου Ενσωματωμένα συστήματα (Embedded Systems) Ενσωματωμένα συστήματα (Embedded

Διαβάστε περισσότερα

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Κλάσεις και Αντικείμενα Αναφορές

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Κλάσεις και Αντικείμενα Αναφορές ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Κλάσεις και Αντικείμενα Αναφορές Μαθήματα από το lab Υπενθύμιση: Η άσκηση ζητούσε να υλοποιήσετε μία κλάση vector που να διαχειρίζεται διανύσματα οποιουδήποτε

Διαβάστε περισσότερα

ΚΥΠΡΙΑΚΗ ΕΤΑΙΡΕΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ CYPRUS COMPUTER SOCIETY ΠΑΓΚΥΠΡΙΟΣ ΜΑΘΗΤΙΚΟΣ ΔΙΑΓΩΝΙΣΜΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ 24/3/2007

ΚΥΠΡΙΑΚΗ ΕΤΑΙΡΕΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ CYPRUS COMPUTER SOCIETY ΠΑΓΚΥΠΡΙΟΣ ΜΑΘΗΤΙΚΟΣ ΔΙΑΓΩΝΙΣΜΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ 24/3/2007 Οδηγίες: Να απαντηθούν όλες οι ερωτήσεις. Όλοι οι αριθμοί που αναφέρονται σε όλα τα ερωτήματα μικρότεροι του 10000 εκτός αν ορίζεται διαφορετικά στη διατύπωση του προβλήματος. Αν κάπου κάνετε κάποιες υποθέσεις

Διαβάστε περισσότερα

Διαφορές single-processor αρχιτεκτονικών και SoCs

Διαφορές single-processor αρχιτεκτονικών και SoCs 13.1 Τα συστήματα και η επικοινωνία μεταξύ τους γίνονται όλο και περισσότερο πολύπλοκα. Δεν μπορούν να περιγραφούνε επαρκώς στο επίπεδο RTL καθώς αυτή η διαδικασία γίνεται πλέον αρκετά χρονοβόρα. Για αυτό

Διαβάστε περισσότερα

2. Δήλωση μεταβλητών. #include #include unsigned char i=0xa0; register unsigned char i asm("r3");

2. Δήλωση μεταβλητών. #include <avr/io.h> #include <util/delay.h> unsigned char i=0xa0; register unsigned char i asm(r3); 2. Δήλωση μεταβλητών Οι μεταβλητές είναι τα βασικά στοιχεία που διαπραγματεύεται ένα πρόγραμμα. Περιέχουν τιμές ή δεδομένα και μπορεί να έχουν μια σταθερή τιμή ή το περιεχόμενό τους να εξαρτάται από τις

Διαβάστε περισσότερα

Το «κλειστό» σύστημα. Ανοικτές επικοινωνίες... Εισαγωγή στην Τεχνολογία της Πληροφορικής. Εισαγωγή στην τεχνολογία της πληροφορικής

Το «κλειστό» σύστημα. Ανοικτές επικοινωνίες... Εισαγωγή στην Τεχνολογία της Πληροφορικής. Εισαγωγή στην τεχνολογία της πληροφορικής ΕΘΝΙΚΟ ΚΑΙ ΚΑΠΟΔΙΣΤΡΙΑΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ Εισαγωγή στην Τεχνολογία της Πληροφορικής ΓΙΩΡΓΟΣ Ν. ΓΙΑΝΝΟΠΟΥΛΟΣ Λέκτορας στο Πανεπιστήμιο Αθηνών gyannop@law.uoa.gr Το «κλειστό» σύστημα ΕΙΣΟΔΟΣ ΕΠΕΞΕΡΓΑΣΙΑ

Διαβάστε περισσότερα

Κατανεμημένα Συστήματα. Javascript LCR example

Κατανεμημένα Συστήματα. Javascript LCR example Κατανεμημένα Συστήματα Javascript LCR example Javascript JavaScript All JavaScript is the scripting language of the Web. modern HTML pages are using JavaScript to add functionality, validate input, communicate

Διαβάστε περισσότερα

Capacitors - Capacitance, Charge and Potential Difference

Capacitors - Capacitance, Charge and Potential Difference Capacitors - Capacitance, Charge and Potential Difference Capacitors store electric charge. This ability to store electric charge is known as capacitance. A simple capacitor consists of 2 parallel metal

Διαβάστε περισσότερα

Διπλωματική Εργασία του φοιτητή του Τμήματος Ηλεκτρολόγων Μηχανικών και Τεχνολογίας Υπολογιστών της Πολυτεχνικής Σχολής του Πανεπιστημίου Πατρών

Διπλωματική Εργασία του φοιτητή του Τμήματος Ηλεκτρολόγων Μηχανικών και Τεχνολογίας Υπολογιστών της Πολυτεχνικής Σχολής του Πανεπιστημίου Πατρών ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑΣ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ:ΗΛΕΚΤΡΟΝΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ ΕΡΓΑΣΤΗΡΙΟ ΗΛΕΚΤΡΟΝΙΚΩΝ ΕΦΑΡΜΟΓΩΝ Διπλωματική Εργασία του φοιτητή του Τμήματος Ηλεκτρολόγων

Διαβάστε περισσότερα

ΙΠΛΩΜΑΤΙΚΗ ΕΡΓΑΣΙΑ. Μύρων Ε. Μπουρλάκης ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΥΠΟΛΟΓΙΣΤΩΝ ΚΑΙ ΠΛΗΡΟΦΟΡΙΚΗΣ

ΙΠΛΩΜΑΤΙΚΗ ΕΡΓΑΣΙΑ. Μύρων Ε. Μπουρλάκης ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΥΠΟΛΟΓΙΣΤΩΝ ΚΑΙ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΥΠΟΛΟΓΙΣΤΩΝ ΚΑΙ ΠΛΗΡΟΦΟΡΙΚΗΣ ΙΠΛΩΜΑΤΙΚΗ ΕΡΓΑΣΙΑ Έλεγχος Συσκευών µε Embedded Ethernet και CAN Βus Μύρων

Διαβάστε περισσότερα

Potential Dividers. 46 minutes. 46 marks. Page 1 of 11

Potential Dividers. 46 minutes. 46 marks. Page 1 of 11 Potential Dividers 46 minutes 46 marks Page 1 of 11 Q1. In the circuit shown in the figure below, the battery, of negligible internal resistance, has an emf of 30 V. The pd across the lamp is 6.0 V and

Διαβάστε περισσότερα

Physical DB Design. B-Trees Index files can become quite large for large main files Indices on index files are possible.

Physical DB Design. B-Trees Index files can become quite large for large main files Indices on index files are possible. B-Trees Index files can become quite large for large main files Indices on index files are possible 3 rd -level index 2 nd -level index 1 st -level index Main file 1 The 1 st -level index consists of pairs

Διαβάστε περισσότερα

ΑΣΚΗΣΗ 5 η Η σειριακή επικοινωνία ΙΙ 1.1 ΣΚΟΠΟΣ Σκοπός της άσκησης αυτής είναι η κατανόηση σε βάθος των λειτουργιών που παρέχονται από το περιβάλλον LabView για τον χειρισµό της σειριακής επικοινωνίας

Διαβάστε περισσότερα

Ανάπτυξη Μεγάλων Εφαρµογών στη Γλώσσα C (2)

Ανάπτυξη Μεγάλων Εφαρµογών στη Γλώσσα C (2) Ανάπτυξη Μεγάλων Εφαρµογών στη Γλώσσα C (2) Στην ενότητα αυτή θα µελετηθούν τα εξής επιµέρους θέµατα: Οργάνωση Προγράµµατος Header Files Μετάφραση και σύνδεση αρχείων προγράµµατος ΕΠΛ 132 Αρχές Προγραµµατισµού

Διαβάστε περισσότερα

ΙΚΤΥΩΤΟ ΜΟΝΤΕΛΟ (Network Model) Μαθ. # 15

ΙΚΤΥΩΤΟ ΜΟΝΤΕΛΟ (Network Model) Μαθ. # 15 ΙΚΤΥΩΤΟ ΜΟΝΤΕΛΟ (Network Model) Μαθ. # 15 DBTG Γλώσσα επεξεργασίας Σκελετός ενός προγράµµατος Βρες την εγγραφή FIND FIND...... FIND Ανάκτησε την τιµή εγγραφής στον κατάλληλο επίγραµµα τύπου GET RECORD

Διαβάστε περισσότερα

ΕΛΕΓΧΟΣ ΑΝΤΛΙΟΣΤΑΣΙΟΥ ΜΕ ΔΕΞΑΜΕΝΗ ΜΕΣΩ GSM CHECK IN TANK PUMPING THROUGH GSM

ΕΛΕΓΧΟΣ ΑΝΤΛΙΟΣΤΑΣΙΟΥ ΜΕ ΔΕΞΑΜΕΝΗ ΜΕΣΩ GSM CHECK IN TANK PUMPING THROUGH GSM ΣΧΟΛΗ ΤΕΧΝΟΛΟΓΙΚΏΝ ΕΦΑΡΜΟΓΏΝ ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ Τ.Ε. ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ CHECK IN TANK PUMPING THROUGH GSM Επιβλέπων Καθηγητής: Κόγιας Παναγιώτης Επιβλέπουσα Καθηγήτρια: Κόγια Φωτεινή ΚΑΒΑΛΑ, ΦΕΒΡΟΥΑΡΙΟΣ

Διαβάστε περισσότερα

Συστήματα Μικροεπεξεργαστών

Συστήματα Μικροεπεξεργαστών Εργαστήριο 1 ο Εισαγωγή στον AVR Περίγραμμα Εργαστηριακής Άσκησης Εισαγωγή... 2 Κατηγορίες μικροελεγκτών AVR... 2 Εξοικείωση με το περιβάλλον AVR Studio 4... 3 Βήμα 1ο: Δημιουργία νέου έργου (project)...

Διαβάστε περισσότερα

Αρχές Τεχνολογίας Λογισμικού Εργαστήριο

Αρχές Τεχνολογίας Λογισμικού Εργαστήριο Αρχές Τεχνολογίας Λογισμικού Εργαστήριο Κωδικός Μαθήματος: TP323 Ώρες Εργαστηρίου: 2/εβδομάδα (Διαφάνειες Νίκου Βιδάκη) 1 JAVA Inheritance Εβδομάδα Νο. 3 2 Προηγούμενο μάθημα (1/2) Τι είναι αντικείμενο?

Διαβάστε περισσότερα

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

Εργαστηριακές ασκήσεις λογικών κυκλωμάτων 11 A/D-D/A 11.1 Θεωρητικό μέρος 11 A/D-D/A 11.1.1 Μετατροπέας αναλογικού σε ψηφιακό σήμα (A/D converter) με δυαδικό μετρητή Σχ.1 Μετατροπέας A/D με δυαδικό μετρητή Στο σχήμα 1 απεικονίζεται σε block diagram ένας

Διαβάστε περισσότερα

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

Αρχιτεκτονική Υπολογιστών Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών Αρχιτεκτονική Υπολογιστών Ενότητα 13: Λειτουργίες Αρχείων Δρ. Μηνάς Δασυγένης mdasyg@ieee.org Εργαστήριο Ψηφιακών Συστημάτων και Αρχιτεκτονικής Υπολογιστών

Διαβάστε περισσότερα

Ενσωµατωµένα Υπολογιστικά Συστήµατα (Embedded Computer Systems)

Ενσωµατωµένα Υπολογιστικά Συστήµατα (Embedded Computer Systems) Ενσωµατωµένα Υπολογιστικά Συστήµατα (Embedded Computer Systems) Μαθηµα 2 ηµήτρης Λιούπης 1 Intel SA-1110 µc StrongARM core. System-on-Chip. Εξέλιξη των SA-110 και SA-1100. 2 ARM cores ARM: IP (intellectual

Διαβάστε περισσότερα

Test Data Management in Practice

Test Data Management in Practice Problems, Concepts, and the Swisscom Test Data Organizer Do you have issues with your legal and compliance department because test environments contain sensitive data outsourcing partners must not see?

Διαβάστε περισσότερα

Right Rear Door. Let's now finish the door hinge saga with the right rear door

Right Rear Door. Let's now finish the door hinge saga with the right rear door Right Rear Door Let's now finish the door hinge saga with the right rear door You may have been already guessed my steps, so there is not much to describe in detail. Old upper one file:///c /Documents

Διαβάστε περισσότερα

ΤΕΧΝΟΛΟΓΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΣΧΟΛΗ ΓΕΩΤΕΧΝΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΚΑΙ ΔΙΑΧΕΙΡΙΣΗΣ ΠΕΡΙΒΑΛΛΟΝΤΟΣ. Πτυχιακή εργασία

ΤΕΧΝΟΛΟΓΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΣΧΟΛΗ ΓΕΩΤΕΧΝΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΚΑΙ ΔΙΑΧΕΙΡΙΣΗΣ ΠΕΡΙΒΑΛΛΟΝΤΟΣ. Πτυχιακή εργασία ΤΕΧΝΟΛΟΓΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΣΧΟΛΗ ΓΕΩΤΕΧΝΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΚΑΙ ΔΙΑΧΕΙΡΙΣΗΣ ΠΕΡΙΒΑΛΛΟΝΤΟΣ Πτυχιακή εργασία ΑΝΑΛΥΣΗ ΚΟΣΤΟΥΣ-ΟΦΕΛΟΥΣ ΓΙΑ ΤΗ ΔΙΕΙΣΔΥΣΗ ΤΩΝ ΑΝΑΝΕΩΣΙΜΩΝ ΠΗΓΩΝ ΕΝΕΡΓΕΙΑΣ ΣΤΗΝ ΚΥΠΡΟ ΜΕΧΡΙ ΤΟ 2030

Διαβάστε περισσότερα

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

Εισαγωγή στην Πληροφορική Εισαγωγή στην Πληροφορική Χειµερινό Εξάµηνο 2006-07 ρ. Παναγιώτης Χατζηδούκας (Π..407/80) Εισαγωγή στην Πληροφορική 1 Γενικές πληροφορίες Εισαγωγή στην Πληροφορική ιδασκαλία: Παναγιώτης Χατζηδούκας Email:

Διαβάστε περισσότερα

Πρόβλημα 1: Αναζήτηση Ελάχιστης/Μέγιστης Τιμής

Πρόβλημα 1: Αναζήτηση Ελάχιστης/Μέγιστης Τιμής Πρόβλημα 1: Αναζήτηση Ελάχιστης/Μέγιστης Τιμής Να γραφεί πρόγραμμα το οποίο δέχεται ως είσοδο μια ακολουθία S από n (n 40) ακέραιους αριθμούς και επιστρέφει ως έξοδο δύο ακολουθίες από θετικούς ακέραιους

Διαβάστε περισσότερα

Σελίδα 1 από 11. Απαντήσεις στο φυλλάδιο 57 Ερώτηση: 1 η : Οι ακροδέκτες αυτοί χρησιµοποιούνται για:

Σελίδα 1 από 11. Απαντήσεις στο φυλλάδιο 57 Ερώτηση: 1 η : Οι ακροδέκτες αυτοί χρησιµοποιούνται για: Σελίδα 1 από 11 Απαντήσεις στο φυλλάδιο 57 Ερώτηση: 1 η : Οι ακροδέκτες αυτοί χρησιµοποιούνται για: την επικοινωνία, µε τα υπόλοιπα ολοκληρωµένα κυκλώµατα του υπολογιστικού συστήµατος. την παροχή τροφοδοσίας

Διαβάστε περισσότερα

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

ΤΕΧΝΟΛΟΓΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΝΟΣΗΛΕΥΤΙΚΗΣ ΤΕΧΝΟΛΟΓΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΝΟΣΗΛΕΥΤΙΚΗΣ ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ ΨΥΧΟΛΟΓΙΚΕΣ ΕΠΙΠΤΩΣΕΙΣ ΣΕ ΓΥΝΑΙΚΕΣ ΜΕΤΑ ΑΠΟ ΜΑΣΤΕΚΤΟΜΗ ΓΕΩΡΓΙΑ ΤΡΙΣΟΚΚΑ Λευκωσία 2012 ΤΕΧΝΟΛΟΓΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΣΧΟΛΗ ΕΠΙΣΤΗΜΩΝ

Διαβάστε περισσότερα

ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ ΤΜΗΜΑ ΠΟΛΙΤΙΚΩΝ ΜΗΧΑΝΙΚΩΝ ΤΟΜΕΑΣ ΥΔΡΑΥΛΙΚΗΣ ΚΑΙ ΠΕΡΙΒΑΛΛΟΝΤΙΚΗΣ ΤΕΧΝΙΚΗΣ. Ειδική διάλεξη 2: Εισαγωγή στον κώδικα της εργασίας

ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ ΤΜΗΜΑ ΠΟΛΙΤΙΚΩΝ ΜΗΧΑΝΙΚΩΝ ΤΟΜΕΑΣ ΥΔΡΑΥΛΙΚΗΣ ΚΑΙ ΠΕΡΙΒΑΛΛΟΝΤΙΚΗΣ ΤΕΧΝΙΚΗΣ. Ειδική διάλεξη 2: Εισαγωγή στον κώδικα της εργασίας ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ ΤΜΗΜΑ ΠΟΛΙΤΙΚΩΝ ΜΗΧΑΝΙΚΩΝ ΤΟΜΕΑΣ ΥΔΡΑΥΛΙΚΗΣ ΚΑΙ ΠΕΡΙΒΑΛΛΟΝΤΙΚΗΣ ΤΕΧΝΙΚΗΣ Ειδική διάλεξη 2: Εισαγωγή στον κώδικα της εργασίας Χειμερινό εξάμηνο 2008 Αρχίζοντας... Αρχίζοντας... http://folk.ntnu.no/nilsol/ssiim/

Διαβάστε περισσότερα

Electronics μαζί με τα συνοδευτικά καλώδια και το αισθητήριο θερμοκρασίας LM335 που περιέχονται

Electronics μαζί με τα συνοδευτικά καλώδια και το αισθητήριο θερμοκρασίας LM335 που περιέχονται Τομέας: Ηλεκτρονικός Εκπαιδευτικός: Μπουλταδάκης Στέλιος Μάθημα: Συλλογή και μεταφορά δεδομένων μέσω Η/Υ, Αισθητήρες-Ενεργοποιητές Αντικείμενο: α) Μέτρηση θερμοκρασίας με το αισθητήριο LM335 και μεταφορά

Διαβάστε περισσότερα

EE512: Error Control Coding

EE512: Error Control Coding EE512: Error Control Coding Solution for Assignment on Finite Fields February 16, 2007 1. (a) Addition and Multiplication tables for GF (5) and GF (7) are shown in Tables 1 and 2. + 0 1 2 3 4 0 0 1 2 3

Διαβάστε περισσότερα

Σχεδίαση με Ηλεκτρονικούς Υπολογιστές (ΗΥ)

Σχεδίαση με Ηλεκτρονικούς Υπολογιστές (ΗΥ) ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΑΝΟΙΧΤΑ ΑΚΑΔΗΜΑΙΚΑ ΜΑΘΗΜΑΤΑ Σχεδίαση με Ηλεκτρονικούς Υπολογιστές (ΗΥ) Ενότητα # 1: Εισαγωγή Ιωάννης Γ. Παρασχάκης Τμήμα Αγρονόμων & Τοπογράφων Μηχανικών Άδειες Χρήσης

Διαβάστε περισσότερα

Επιτεύγµατα των Λ.Σ.

Επιτεύγµατα των Λ.Σ. Επιτεύγµατα των Λ.Σ. ιεργασίες ιαχείριση Μνήµης Ασφάλεια και προστασία δεδοµένων Χρονοπρογραµµατισµός & ιαχείρηση Πόρων οµή Συστήµατος ιεργασίες Ένα πρόγραµµα σε εκτέλεση Ένα στιγµιότυπο ενός προγράµµατος

Διαβάστε περισσότερα

Breadboard PIC Μέρος 1 1 Σταύρος Σ. Φώτογλου. BreadBoard PIC

Breadboard PIC Μέρος 1 1 Σταύρος Σ. Φώτογλου. BreadBoard PIC Breadboard PIC Μέρος 1 1 Σταύρος Σ. Φώτογλου BreadBoard PIC Στο άρθρο αυτό θα δούμε αναλυτικά την κατασκευή ενός συστήματος μικροϋπολογιστή κατασκευασμένο πάνω σε breadboard. Το σύστημα διαθέτει κοινούς

Διαβάστε περισσότερα

Advanced Subsidiary Unit 1: Understanding and Written Response

Advanced Subsidiary Unit 1: Understanding and Written Response Write your name here Surname Other names Edexcel GE entre Number andidate Number Greek dvanced Subsidiary Unit 1: Understanding and Written Response Thursday 16 May 2013 Morning Time: 2 hours 45 minutes

Διαβάστε περισσότερα

Βασίλης Χριστοφίδης Επαναληπτική Εξέταση (3 ώρες) Ηµεροµηνία: 21 Σεπτεµβρίου 2012

Βασίλης Χριστοφίδης Επαναληπτική Εξέταση (3 ώρες) Ηµεροµηνία: 21 Σεπτεµβρίου 2012 Πανεπιστήµιο Κρήτης Τµήµα Επιστήµης Υπολογιστών ΗΥ-252 Αντικειµενοστρεφής Προγραµµατισµός Βασίλης Χριστοφίδης Επαναληπτική Εξέταση (3 ώρες) Ηµεροµηνία: 21 Σεπτεµβρίου 2012 Θέμα 1 Θέμα 2 Θέμα 3 Θέμα 4 Θέμα

Διαβάστε περισσότερα

Εφαρμογές Arduino Σεμινάριο Ηλεκτρονικού Τομέα

Εφαρμογές Arduino Σεμινάριο Ηλεκτρονικού Τομέα Εφαρμογές Arduino Σεμινάριο Ηλεκτρονικού Τομέα 1ο ΕΠΑΛ Περάματος 7ο ΕΚ Πειραιά Πλακέτα Arduino Το 2005 oι Massimo Banzi και David Cueartielles στο Ivrea Δημιουργούν την υπολογιστική πλατφόρμα Arduino.

Διαβάστε περισσότερα

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

Γενικά Στοιχεία Ηλεκτρονικού Υπολογιστή Γενικά Στοιχεία Ηλεκτρονικού Υπολογιστή 1. Ηλεκτρονικός Υπολογιστής Ο Ηλεκτρονικός Υπολογιστής είναι μια συσκευή, μεγάλη ή μικρή, που επεξεργάζεται δεδομένα και εκτελεί την εργασία του σύμφωνα με τα παρακάτω

Διαβάστε περισσότερα

Areas and Lengths in Polar Coordinates

Areas and Lengths in Polar Coordinates Kiryl Tsishchanka Areas and Lengths in Polar Coordinates In this section we develop the formula for the area of a region whose boundary is given by a polar equation. We need to use the formula for the

Διαβάστε περισσότερα

ΗY335: Δίκτυα Υπολογιστών Χειμερινό Εξάμηνο Τμήμα Επιστήμης Υπολογιστών Πανεπιστήμιο Κρήτης Διδάσκουσα: Μαρία Παπαδοπούλη

ΗY335: Δίκτυα Υπολογιστών Χειμερινό Εξάμηνο Τμήμα Επιστήμης Υπολογιστών Πανεπιστήμιο Κρήτης Διδάσκουσα: Μαρία Παπαδοπούλη ΗY335: Δίκτυα Υπολογιστών Χειμερινό Εξάμηνο 2012-2013 Τμήμα Επιστήμης Υπολογιστών Πανεπιστήμιο Κρήτης Διδάσκουσα: Μαρία Παπαδοπούλη Project 2012-2013 Υλοποίηση ενός chat server-client Παράδοση: 7/2/2013

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

Εισαγωγή στον Προγραμματισμό Εισαγωγή στον Προγραμματισμό Έλεγχος Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ακ. Έτος 2012-2013 Σχεσιακοί Τελεστές και Ισότητας Ένα πρόγραμμα εκτός από αριθμητικές πράξεις

Διαβάστε περισσότερα

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

Έλεγχος με Μικροϋπολογιστές Εργαστήριο ενσωματωμένων συστημάτων Εργαστήριο ενσωματωμένων συστημάτων Παρουσίαση 2: Βασικός Προγραμματισμός Arduino (AVR) Εργαστήριο Αυτομάτου Ελέγχου Η πλατφόρμα Arduino Microcontroller: ATmega328 Operating Voltage: 5V Digital I/O Pins:

Διαβάστε περισσότερα

Εισαγωγή στην Πληροφορική ΓΕΝΙΚΟ ΤΜΗΜΑ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ TEI ΧΑΛΚΙ ΑΣ

Εισαγωγή στην Πληροφορική ΓΕΝΙΚΟ ΤΜΗΜΑ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ TEI ΧΑΛΚΙ ΑΣ Εισαγωγή στην Πληροφορική 1 Περιεχόµενα - Κωδικοποιήσεις - Αριθµητικά Συστήµατα 2 Ηλεκτρονικός Υπολογιστής Είπαµε ότι είναι, µία Ηλεκτρονική Μηχανή, που δουλεύει κάτω από τον έλεγχο εντολών αποθηκευµένων

Διαβάστε περισσότερα

LAYER 3 ( NETWORΚ LEVEL ) - ΣΤΡΩΜΑ 3 ( ΕΠΙΠΕ Ο ΙΚΤΥΟΥ)

LAYER 3 ( NETWORΚ LEVEL ) - ΣΤΡΩΜΑ 3 ( ΕΠΙΠΕ Ο ΙΚΤΥΟΥ) ΕΡΓΑΣΤΗΡΙΑΚΗ ΑΣΚΗΣΗ 6 LAYER 3 ( NETWORΚ LEVEL ) - ΣΤΡΩΜΑ 3 ( ΕΠΙΠΕ Ο ΙΚΤΥΟΥ) Αυτή η ενότητα του δευτέρου κεφαλαίου περιέχει τα ακόλουθα: - που βρίσκεται το επίπεδο δικτύου - ποιός είναι ο ρόλος του - ποιά

Διαβάστε περισσότερα

Hancock. Ζωγραφάκης Ιωάννης Εξαρχάκος Νικόλαος. ΕΠΛ 428 Προγραμματισμός Συστημάτων

Hancock. Ζωγραφάκης Ιωάννης Εξαρχάκος Νικόλαος. ΕΠΛ 428 Προγραμματισμός Συστημάτων Hancock Ζωγραφάκης Ιωάννης Εξαρχάκος Νικόλαος Χ346339 Τ911778 ΕΠΛ 428 Προγραμματισμός Συστημάτων Ιστορική Αναδρομή Δημιουργήθηκε από την εταιρεία ΑΤ&Τ LAB Αφορμή δημιουργίας: Η ανάγκη για καθαρό και αποδοτικό

Διαβάστε περισσότερα

ΚΥΠΡΙΑΚΗ ΕΤΑΙΡΕΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ CYPRUS COMPUTER SOCIETY ΠΑΓΚΥΠΡΙΟΣ ΜΑΘΗΤΙΚΟΣ ΔΙΑΓΩΝΙΣΜΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ 11/3/2006

ΚΥΠΡΙΑΚΗ ΕΤΑΙΡΕΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ CYPRUS COMPUTER SOCIETY ΠΑΓΚΥΠΡΙΟΣ ΜΑΘΗΤΙΚΟΣ ΔΙΑΓΩΝΙΣΜΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ 11/3/2006 ΠΑΓΚΥΠΡΙΟΣ ΜΑΘΗΤΙΚΟΣ ΔΙΑΓΩΝΙΣΜΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ 11/3/26 Οδηγίες: Να απαντηθούν όλες οι ερωτήσεις. Ολοι οι αριθμοί που αναφέρονται σε όλα τα ερωτήματα μικρότεροι το 1 εκτός αν ορίζεται διαφορετικά στη διατύπωση

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

Στο εστιατόριο «ToDokimasesPrinToBgaleisStonKosmo?» έξω από τους δακτυλίους του Κρόνου, οι παραγγελίες γίνονται ηλεκτρονικά.

Στο εστιατόριο «ToDokimasesPrinToBgaleisStonKosmo?» έξω από τους δακτυλίους του Κρόνου, οι παραγγελίες γίνονται ηλεκτρονικά. Διαστημικό εστιατόριο του (Μ)ΑστροΈκτορα Στο εστιατόριο «ToDokimasesPrinToBgaleisStonKosmo?» έξω από τους δακτυλίους του Κρόνου, οι παραγγελίες γίνονται ηλεκτρονικά. Μόλις μια παρέα πελατών κάτσει σε ένα

Διαβάστε περισσότερα

Καταχωρητής STATUS. IRP: Bit επιλογής περιοχής μνήμης (Bank) για την έμμεση διευθυνσιοδότηση 1= Bank2, Bank3 0= Bank0, Bank1

Καταχωρητής STATUS. IRP: Bit επιλογής περιοχής μνήμης (Bank) για την έμμεση διευθυνσιοδότηση 1= Bank2, Bank3 0= Bank0, Bank1 Καταχωρητής STATUS bit 7 IRP: Bit επιλογής περιοχής μνήμης (Bank) για την έμμεση διευθυνσιοδότηση 1= Bank2, Bank3 0= Bank0, Bank1 bit 6-5 RP1:RP0: Bit επιλογής περιοχής μνήμης (Bank) για την άμεση διευθυνσιοδότηση

Διαβάστε περισσότερα

ΗΜΥ 213 Εργαστήριο Οργάνωσης Ηλεκτρονικών Υπολογιστών και Μικροεπεξεργαστών

ΗΜΥ 213 Εργαστήριο Οργάνωσης Ηλεκτρονικών Υπολογιστών και Μικροεπεξεργαστών ΗΜΥ 213 Εργαστήριο Οργάνωσης Ηλεκτρονικών Υπολογιστών και Μικροεπεξεργαστών Διδάσκων: Δρ. Γιώργος Ζάγγουλος Email: zaggoulos.george@ucy.ac.cy www.ece.ucy.ac.cy/courses/ece213 Μετατροπή ASCII σε Δεκαδικό

Διαβάστε περισσότερα

SOAP API. https://bulksmsn.gr. Table of Contents

SOAP API. https://bulksmsn.gr. Table of Contents SOAP API https://bulksmsn.gr Table of Contents Send SMS...2 Query SMS...3 Multiple Query SMS...4 Credits...5 Save Contact...5 Delete Contact...7 Delete Message...8 Email: sales@bulksmsn.gr, Τηλ: 211 850

Διαβάστε περισσότερα