1ο ΕΠΑΛ Περάματος -7ο ΕΚ Πειραιά. Εφαρμογές Arduino. Σεμινάριο Ηλεκτρονικού Τομέα. Φεβρουάριος 2014

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

Download "1ο ΕΠΑΛ Περάματος -7ο ΕΚ Πειραιά. Εφαρμογές Arduino. Σεμινάριο Ηλεκτρονικού Τομέα. Φεβρουάριος 2014"

Transcript

1 1 1ο ΕΠΑΛ Περάματος -7ο ΕΚ Πειραιά Εφαρμογές Arduino Σεμινάριο Ηλεκτρονικού Τομέα Φεβρουάριος 2014

2 2 Εισαγωγή Με αυτό το σεμιναρίο φιλοδοξούμε να μάθουμε ο ένας στον άλλο βασικές αρχές και εφαρμογές που αφορούν την πλατφόρμα arduino. Σχεδιάστηκε από την Σύμβουλο των Ηλεκτρονικών (ΠΕ12.10) Κα Σαλωνίδου Αθηνά και τον συνάδελφο Μαλτέζο Γιάννη, ενώ στην επιμέλεια του υλικού συμμετείχαν οι συνάδελφοι Νίκας Αναστάσιος, Κουβαράκης Γιάννης και Δερμάτης Χαράλαμπος. Γενική φιλοσοφία του σεμιναρίου είναι η πρακτική εξάσκηση (Hands on Training). Κάθε αντικείμενο θα συζητηθεί μέσω ασκήσεων και παραδειγμάτων χρήσιμων για την κατανοηση και σωστή χρήση του arduino. Το σεμινάριο έχει σχεδιαστεί έτσι ώστε κάποιες βασικές γνώσεις να μην είναι απαραίτητες, μιας και η προσέγγιση του αντικειμένου γίνεται από την αρχή. Οι σημειώσεις είναι προιόν επεξεργασίας των πηγών που αναφέρουμε και τα πνευματικά δικαιώματα ανήκουν στους δημιουργούς τους. Σε όλες τις πρακτικές εφαρμογές έχει γίνει πειραματική επαλήθευση στο εργαστήριο Ηλεκτρονικών του σχολείου μας. Το θεωρητικό μέρος του υλικού είναι από την πτυχιακή εργασία των σπουδαστών του ΤΕΙ Σερρών Φελλόπουλου Αναστάσιου και Σπύρου Μαρίας με επιβλέποντα τον Δρ. Σταύρο Βολογιαννίδη, που αφορά την κατασκευή ενός τρίτροχου κινούμενου ρομπότ με πλατφόρμα Arduino. Από την πτυχιακή χρησιμοποιήθηκαν τα κεφάλαια 1,2 και 8 αυτούσια και χωρίς καμία επέμβαση στο υλικό των δημιουργών τους που ευχαριστούμε θερμά

3 3 Τεχνολογικό Εκπαιδευτικό Ίδρυμα Σερρών Σχολή Τεχνολογικών Εφαρμογών Τμήμα Πληροφορικής και Επικοινωνιών Υλοποίηση ενός τρίτροχου κινούμενου ρομπότ χρησιμοποιώντας πλατφόρμα Arduino Πτυχιακή Εργασία Φελλόπουλος Αναστάσιος ΑΜ: 1989 Σπύρου Μαρία ΑΜ: 2084 Επιβλέπων: Δρ. Σταύρος Βολογιαννίδης, Επιστημονικός Συνεργάτης ΣΕΡΡΕΣ, ΜΑΪΟΣ 2012 i

4 4 Περιεχόμενα Περιεχόμενα... vi ΚΕΦΑΛΑΙΟ Arduino... 1 ΚΕΦΑΛΑΙΟ Arduino Uno Γενικά Μέρη ενός Arduino Uno Σειριακή Θύρα Χαρακτηριστικά του Arduino Βασικές μνήμες Τροφοδοσία Επικοινωνία Γλώσσα Προγραμματισμού Εγκατάσταση του προγράμματος Ολοκληρωμένο Περιβάλλον Ανάπτυξης του Arduino Σειριακή οθόνη (Serial Monitor) H Δομή το προγράμματος Βασικές δομές και λειτουργίες προγραμματισμού Ψηφιακές ακίδες (Digital pins) Αναλογικές ακίδες εισόδου (Analog input pins) Υποστήριξη Βιβλιοθηκών (Libraries) vi

5 5 ΚΕΦΑΛΑΙΟ Processing Χαρακτηριστικά της Processing Έργα βασισμένα στην Processing Η δομή του προγράμματος Βιβλιοθήκες και εργαλεία Πρόγραμμα 5: Αναπαράσταση αποτελεσμάτων σε πραγματικό χρόνο ΚΕΦΑΛΑΙΟ Βιβλιογραφία Πηγές πληροφοριών viii

6 6 Κεφάλαιο 1 : Arduino ΚΕΦΑΛΑΙΟ 1 Arduino Οι πλατφόρμες Arduino κατασκευάζονται κυρίως από την εταιρία Smart Project. Ωστόσο, το Arduino ξεκίνησε ως έργο προς ανάπτυξη το 2005 στην Ιταλία, στο Ινστιτούτο Αλληλεπίδρασης Σχεδίασης Ivrea ώστε οι φοιτητές του Ινστιτούτου να αναπτύσσουν ενσωματωμένα συστήματα οικονομικά και αποδοτικά αξιοποιώντας τις δυνατότητες και τις ευκαιρίες που μπορεί να προσφέρει το ελεύθερο λογισμικό. Γενικότερα, το Arduino θα λέγαμε ότι είναι ένα εργαλείο που μπορούμε να κατασκευάσουμε ένα υπολογιστικό σύστημα με την έννοια ότι αυτό θα ελέγχει συσκευές του φυσικού κόσμου, σε αντίθεση με τον κοινό Ηλεκτρονικό Υπολογιστή. Βασίζεται σε ευέλικτο, εύκολο στη χρήση υλικό και λογισμικό, σε μια αναπτυξιακή πλακέτα που ενσωματώνει επάνω έναν μικροελεγκτή και συνδέεται με τον Η/Υ για να προγραμματιστεί μέσα από ένα απλό περιβάλλον ανάπτυξης. Με το Arduino δημιουργούνται συσκευές οι οποίες εξυπηρετούν διάφορους σκοπούς έχοντας την δυνατότητα να δέχονται ερεθίσματα από το περιβάλλον τους (μέσω των αισθητήρων) και να αντιδρούν ανάλογα με το πως έχουν προγραμματιστεί. Τα παραπάνω δεν ακούγονται πρωτότυπα. Υπάρχουν και άλλες πλατφόρμες και υλοποιήσεις που μπορούν να κάνουν τα ίδια πράγματα. Ποια είναι η ειδοποιός διαφορά; Το Arduino βασίζεται σε τεχνολογίες ανοιχτού κώδικα. Μπορεί να κατασκευαστεί από τον καθένα, μπορεί να ενσωματωθεί σε συσκευές ακόμα και για εμπορικούς σκοπούς και το σημαντικότερο είναι ότι υπάρχει μια ολόκληρη κοινότητα που χρησιμοποιεί το Arduino σε κατασκευές άρα υπάρχει μεγάλος όγκος ελεύθερης πληροφορίας. Γενικά, τα Projects στον εν λόγω Μικροελεγκτή μπορούν να είναι αυτόνομα (σε επίπεδο hardware) ή να επικοινωνούν με κάποιο software στον Η/Υ του προγραμματιστή (προγράμματα όπως τα Flash, Processing, MaxMSP). Το Arduino χρησιμοποιεί τώρα ένα ειδικά προγραμματιζόμενο Atmega382 αντί του chip FTDI ώστε αυτό να επιτρέπει τόσο την πιο γρήγορη ταχύτητα μεταφοράς όσο και τη γρήγορη σειριακή επικοινωνία. Ο μικροεπεξεργαστής ενός Arduino συνήθως προγραμματίζεται εκ των προτέρων ώστε να παρέχει κάποιο φορτωτή εκκίνησης (BootLoader). Ο φορτωτής εκκίνησης υπάρχει ώστε να απλοποιεί την διαδικασία της αποθήκευσης των προγραμμάτων στην Flash Memory του Arduino μέσω σειριακής USB θύρας. Επιπλέον, η γλώσσα προγραμματισμού, οι διάφορες βιβλιοθήκες και το ολοκληρωμένο περιβάλλον ανάπτυξης που υπάρχουν για τον προγραμματισμό της πλατφόρμας Arduino αποτελούν ανοιχτό λογισμικό προσφέροντας έτσι ανεκτίμητη γνώση σε όλους. 1

7 7 Βασικά Πλεονεκτήματα πλατφόρμας Arduino: Κεφάλαιο 1 : Arduino Οικονομική: Η πλατφόρμα Arduino αποτελεί οικονομική λύση διότι είναι φθηνότερη. Επιπλέον, είναι αρχιτεκτονικά ανοιχτή και μπορεί ο οποιοσδήποτε να την αναπτύξει από μόνος του. Μεταφέρσιμη: Σε σχέση με τις υπάρχουσες πλατφόρμας στο εμπόριο η πλατφόρμα Arduino παρέχει πλήρη μεταφερσιμότητα με αποτέλεσμα να μπορεί να προγραμματιστεί στα περισσότερα λειτουργικά συστήματα. Επεκτάσιμη: Το υλικό και το λογισμικό της πλατφόρμας Arduino είναι ανοιχτά και ελεύθερα για όλους. Καθημερινά, χιλιάδες υποστηρικτές του ελεύθερου λογισμικού αναπτύσσουν διάφορες βιβλιοθήκες για την υποστήριξη της πλατφόρμας. Παράλληλα, τόσο η αρχιτεκτονική όσο και το υλικό της πλατφόρμας εξελίσσονται συνεχώς. Παρακάτω ακολουθούν μερικές από τις πλατφόρμες Arduino που έχουν αναπτυχθεί και όπου η κάθε μία είτε αποτελεί εξέλιξη κάποιας άλλης, είτε έχει αναπτυχθεί για κάποιο συγκεκριμένο σκοπό : Arduino Uno Arduino Stamp Arduino Diecimila Arduino Fio Arduino Duemilanove Arduino NG Arduino Mega1280 Arduino NG+ Arduino Mega2560 Arduino Extreme Arduino Mini Arduino Bluetooth Arduino Nano LilyPad Arduino Arduino USB Serial Arduino Ακολουθεί ένας πίνακας όπου περιέχει για τις πιο τυπικές πλατφόρμες Arduino τα βασικά χαρακτηριστικά όσο αφορά το υλικό τους μέρος. Πλατφόρμα Arduino Μικροελεγκτής Atmel AVR Flash KiB EEPROM KiB SRAM KiB Ψηφιακές Επαφές Ε / Ε PWM Αναλογικές Επαφές Εισόδου Diecimila ATmega Duemilanove ATmega168/ Uno ATmega Mega ATmega Fio ATmega328P Mega 2560 ATmega

8 8 1.1 Το λογισμικό του Arduino Κεφάλαιο 1 : Arduino Το περιβάλλον ανάπτυξης του Arduino (IDE) έχει συγγραφεί με την γλώσσα προγραμματισμού Java και αυτό το καθιστά μεταφέρσιμο στα περισσότερα λειτουργικά συστήματα. Το IDE του Arduino περιέχει έναν έξυπνο συντάκτη, μεταγλωττιστή της C, C++, τερματικό για σειριακή επικοινωνία με το Arduino, κ.α. Πιο συγκεκριμένα, η γλώσσα προγραμματισμού που χρησιμοποιείται για την συγγραφή προγραμμάτων στο Arduino είναι η Wiring (C, C++). Το IDE του Arduino χρησιμοποιεί εργαλεία GNU toolchain και AVR Libc για να παρέχει την μεταγλώττιση προγραμμάτων από C, C++ σε κατάλληλες AVR εντολές γλώσσας μηχανής, καθώς και το εργαλείο avrudude για την αποστολή του εκτελέσιμου προγράμματος στην Flash memory του Arduino. Η ψηφιακή σχεδίαση του υλικού μέρους του Arduino είναι ανοιχτή και προσβάσιμη από όλους μια και είναι δημοσιευμένη υπό την άδεια Creative Commons Attribution Share-Alike 2.5. Επίσης, το περιβάλλον ανάπτυξης (IDE) του Arduino είναι ελεύθερο λογισμικό και είναι δημοσιευμένο υπό την άδεια GNU General Public License Version2. 3

9 9 Κεφάλαιο 2 : Arduino Uno ΚΕΦΑΛΑΙΟ 2 Arduino Uno 2.1 Γενικά Η καρδιά του Arduino Uno είναι φυσικά ένας μικροεπεξεργαστής. Αυτός είναι το «μυαλό» του Arduino και είναι προγραμματιζόμενος ώστε να ελέγχει τα 14 ψηφιακά input/output pins και τα 6 αναλογικά που υπάρχουν πάνω στην πλακέτα ανάπτυξης. Δια μέσου αυτών των 20 pins γίνονται όλες οι διασυνδέσεις με εξωτερικά στοιχεία (κινητήρες, LEDs, LCD οθόνες κλπ) και αισθητήρες (Ultrasonic, θερμόμετρα, accelometers κ.α). Στην πλακέτα ανάπτυξης υπάρχει μια θύρα USB. Μέσω αυτής γίνεται η μεταφορά δεδομένων από αυτήν προς κάποια άλλη συσκευή, συνήθως έναν υπολογιστή, και το αντίστροφο. Ωστόσο, η κύρια χρήση στα αρχικά στάδια εκμάθησης είναι η μεταφορά του προγράμματος από τον υπολογιστή στον μικροεπεξεργαστή αλλά και η οπτικοποίηση των δεδομένων που απορρέουν από την λειτουργία της συσκευής μετά από το προγραμματισμό. 2.2 Μέρη ενός Arduino Uno Το Arduino έχει 14 ψηφιακούς ακροδέκτες Εισόδου/Εξόδου οι οποίοι μπορούν να τεθούν ως είσοδοι ή ως έξοδοι με τις εντολές-συναρτήσεις pinmode(), digitalwrite(), και digitalread() που θα αναλυθούν παρακάτω. Λειτουργούν στα 5 Volts και έχουν την δυνατότητα να παρέχουν ή να καταβυθίζουν ένταση της τάξεως των 40mA. Σε κάθε pin υπάρχει εσωτερικά ένας Pull-up αντιστάτης στα 20-50KΩ. Επιπλέον, έχει 6 αναλογικούς ακροδέκτες Εισόδου. Αυτοί μπορούν να διαβάσουν αναλογικές τιμές όπως η τάση μιας μπαταρίας κτλ και να τις μετατρέψουν σε έναν αριθμό από Η μέτρηση της τάσης γίνεται από προκαθορισμένα από 0 έως 5 volts. Εκτός αυτού, 6 εκ των 14 ψηφιακών ακροδεκτών οι P3, P5, P6, P9, P10 και P11 έχουν την δυνατότητα να προγραμματιστούν ώστε να λειτουργούν ως αναλογικές Έξοδοι. Κάποιοι ακροδέκτες έχουν συγκεκριμένες λειτουργίες. Σειριακή Λειτουργία: 0 (RX) και 1 (TX). Χρησιμοποιούνται για λήψη (RX) και εκπομπή (TX) TTL σειριακών δεδομένων. Εξωτερικές Διακοπές: 2 και 3. Αυτοί οι ακροδέκτες μπορούν να ενεργοποιούν διακοπές αν ανιχνευθεί παλμός χαμηλής τάσης. Με την συνάρτηση 4

10 10 Κεφάλαιο 2 : Arduino Uno attachinterrupt(). Ο σκανδαλισμός των διακοπών μπορεί να γίνεται στο λογικό 0,1. PWM: 3, 5, 6, 9, 10, και 11 pins. Παρέχουν Έξοδο 8-bit PWM με την συνάρτηση analogwrite(). SPI: 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK). Αυτοί οι ακροδέκτες επιτρέπουν επικοινωνία SPI, η οποία αν και παρέχεται από το hardware δεν είναι ακόμα διαθέσιμη στην γλώσσα προγραμματισμού του Arduino. LED: 13. Στον ακροδέκτη 13 υπάρχει ένα ενσωματωμένο LED. Όταν ο ακροδέκτης έχει τιμή HIGH, το LED ανάβει ενώ όταν το pin είναι LOW δεν ανάβει. Εικόνα 2.1 Μέρη της πλατφόρμας Arduino Uno 2.3 Σειριακή Θύρα Χρησιμοποιείται για επικοινωνία μεταξύ της πλατφόρμας Arduino και ενός υπολογιστή ή με άλλες συσκευές. Επομένως, όλες οι πλακέτες έχουν τουλάχιστον μια σειριακή θύρα. Επικοινωνεί με τις ψηφιακές ακίδες 0 (RX) και 1 (TX), καθώς και με τον υπολογιστή μέσω USB. Έτσι, εάν χρησιμοποιείται αυτή η λειτουργία(usb), δεν μπορούν ταυτόχρονα να χρησιμοποιηθούν οι ακίδες 0 και 1 για ψηφιακή είσοδο ή έξοδο. Αξίζει να αναφερθεί, η ενσωματωμένη σειριακή οθόνη στο περιβάλλον του Arduino μπορεί να χρησιμοποιηθεί για να επικοινωνεί με την πλακέτα Arduino. Κάνοντας κλικ στο κουμπί Serial Monitor στην γραμμή εργαλείων και επιλέγοντας την ίδια ταχύτητα που χρησιμοποιείται στην κλήση της Serial.begin(). 5

11 11 Κεφάλαιο 2 : Arduino Uno Οι βασικές συναρτήσεις της σειριακής θύρας είναι: begin() (αρχικοποίηση της σειριακής) end() (κλείσιμο της σειριακής) available() (έλεγχος αν υπάρχουν δεδομένα να διαβαστούν) read() (ανάγνωση των εισερχόμενων σειριακών δεδομένων) peek() (επιστρέφει το επόμενο byte από την σειριακή) flush() (άδειασμα του buffer της σειριακής από δεδομένα που έχει) print() (γράψιμο δεδομένων στη σειριακή) println() (το ίδιο με την Print(), αλλά με αλλαγή γραμμής στο τέλος) write() (γράφει δυαδικά δεδομένα στη σειριακή) 2.4 Χαρακτηριστικά του Arduino Microcontroller: ATmega328 Τάση λειτουργίας: 5V Τάση εισόδου: 7-12V Τάση εισόδου (όριο): 6-20V Digital I/O Pins: 14 (εκ των οποίων 6 περιέχουν PWM εξόδους) Analog Input Pins: 6 DC ρεύματος I/O Pin: 40 ma DC τρέχουσα για 3.3V Pin: 50 ma Flash Memory: 32 KB εκ των οποίων 0,5 KB που χρησιμοποιούνται από τον bootloader SRAM: 2 KB EEPROM: 1 KB Clock Speed: 16 MHz 2.5 Βασικές μνήμες Οι πλατφόρμες Arduino διαθέτουν τρείς βασικές μνήμες: Flash memory (32 Kbytes) στην οποία τοποθετείται κάθε φορά το πρόγραμμα που πρόκειται να εκτελεστεί καθώς και ο φορτωτής εκκίνησης που διευκολύνει την διαδικασία του προγραμματισμού της πλατφόρμας. SRAM memory (στατική μνήμη τυχαίας προσπέλασης των 2 Kbytes) η οποία χρησιμοποιείται για την προσωρινή αποθήκευση των στατικών και των μεταβλητών δεδομένων του προγράμματος που εκτελείται. ΕEPROM memory (1 Kbytes) στην οποία αποθηκεύονται οι τιμές των μεταβλητών όταν η πλατφόρμα σβήσει(off). Χρησιμοποιείται για την αποθήκευση ρυθμίσεων και άλλων παραμέτρων ανάμεσα στα Reset του Arduino. 6

12 12 Κεφάλαιο 2 : Arduino Uno Πρέπει να προστεθεί, η μνήμη Flash και η μνήμη ΕEPROM είναι σταθερές (οι πληροφορίες παραμένουν μετά την απενεργοποίησης του ρεύματος). Η μνήμη SRAM είναι ασταθής και οι πληροφορίες χάνονται όταν εναλλάσσεται το ρεύμα. Επειδή δεν υπάρχει πολύ διαθέσιμη SRAM, αν τελειώσει, το πρόγραμμα μπορεί να αποτύχει με απροσδόκητους τρόπους. Μπορεί να φαίνεται ότι φορτώνει με επιτυχία, αλλά δεν τρέχει, ή τρέχει παράξενα. Για να ελεγχθεί εάν αυτό συμβαίνει, μπορούν να μειωθούν τα σχόλια ή οι σειρές ή άλλες δομές δεδομένων στο sketch (χωρίς να αλλάξει ο κώδικας). Εάν λειτουργεί με επιτυχία στη συνέχεια, κατά πάσα πιθανότητα έχει εξαντληθεί η SRAM. Ένας τρόπος για να αντιμετωπιστεί αυτό το πρόβλημα είναι αν υπάρχουν πίνακες αναζήτησης ή άλλοι μεγάλοι πίνακες, τότε μπορεί να χρησιμοποιηθεί ο μικρότερος τύπος δεδομένων που είναι αναγκαίος για να αποθηκευτούν οι τιμές που χρειάζονται. 2.6 Τροφοδοσία Το Arduino Uno τροφοδοτείται είτε από εξωτερική τροφοδοσία που παρέχεται είτε μέσω μιας υποδοχής των 2.1mm (θετικός πόλος στο κέντρο) που βρίσκεται στην κάτω αριστερή γωνία του Arduino είτε απευθείας από την θύρα USB του υπολογιστή. H επιλογή της πηγής γίνεται αυτόματα από το αναπτυξιακό. Ως εξωτερική τροφοδοσία ορίζεται είτε μια μπαταρία, είτε μετασχηματιστής των 9Volt από 220V. Η μπαταρία μπορεί να συνδεθεί στις υποδοχές του Arduino Vin και GND όπου τοποθετούνται ο θετικός πόλος και ο αρνητικός αντίστοιχα. Από την άλλη αν τροφοδοτηθεί με μετασχηματιστή απλά πρέπει να τοποθετηθεί το βύσμα στην υποδοχή που υπάρχει θετικό πόλο στο κέντρο. Η πλακέτα μπορεί να λειτουργήσει με εξωτερική πηγή από 6 έως 20 Volts. Αν ωστόσο τροφοδοτηθεί με λιγότερα από 7 Volt τα pin εξόδου 5Volt δεν θα καταφέρουν να εξάγουν τάση 5 Volts. Αντίθετα, αν δώσουμε πάνω από 12 Volts θα υπερθερμανθεί ο σταθεροποιητής τάσης στην πλακέτα και ενδεχομένως να καταστραφεί. Συνεπώς, μια ιδανική τάση είναι τα 9 Volts. Οι ακροδέκτες τροφοδοσίας είναι οι εξής: VIN. Ακροδέκτης για μη σταθεροποιημένη τάση. Συνήθως εδώ συνδέεται μια εξωτερική πηγή τροφοδοσίας. 5V. Ακροδέκτης σταθεροποιημένης τάσης 5Volt. Η ρυθμιζόμενη παροχή ηλεκτρικού ρεύματος που χρησιμοποιείται για την τροφοδοσία του μικροελεγκτή ή άλλων ηλεκτρονικών στοιχείων της πλακέτας. Αυτό μπορεί να προέρχεται είτε από Vin με ενσωματωμένο ρυθμιστή, ή να παρέχεται από USB ή άλλη ρυθμιζόμενη παροχή 5V 3V3. Μέγιστη κατανάλωση ρεύματος είναι 50mA. GND. Γειωμένες ακίδες 7

13 Επικοινωνία Κεφάλαιο 2 : Arduino Uno Το Αrduino Uno έχει την δυνατότητα να επικοινωνεί με τον Ηλεκτρονικό Υπολογιστή, έναν άλλον Arduino ή άλλους μικροελεγκτές. Το ολοκληρωμένο ATMega382 παρέχει σειριακή επικοινωνία ΤΤL 5 Volt UART, η οποία είναι διαθέσιμη από τους ακροδέκτες (λήψη RX) 0 και (εκπομπή TX) 1 του ολοκληρωμένου. Επιπλέον, η αναπτυξιακή πλακέτα του Arduino παρέχει σειριακή επικοινωνία με τον Ηλεκτρονικό Υπολογιστή για προγραμματισμό με την βοήθεια ενός ειδικά προγραμματιζόμενου ενσωματωμένου ολοκληρωμένου ATmega382 αντί του chip FTDI. Ωστόσο, αυτό επιτρέπει την πιο γρήγορη ταχύτητα μεταφοράς και γρήγορης σειριακής επικοινωνίας. Με την σύνδεση του Arduino μέσω της θύρας USB αυτό εμφανίζεται ως εικονική σειριακή θύρα COM στο λογισμικό Εικόνα 2.2 Μικροελεγκτής ATmega328 του υπολογιστή. Το firmware ATmega382 χρησιμοποιεί τα προγράμματα οδήγησης USB COM και δεν χρειάζεται να υπάρχει εξωτερικός παράγοντας. Επομένως, στα Windows απαιτείται μόνο ένα αρχείο.inf. Ένα Arduino περιλαμβάνει ένα τμηματικό όργανο ελέγχου το οποίο επιτρέπει την απλή μορφή κειμένου δεδομένων που αποστέλλονται προς και από τη πλακέτα Arduino. Οι RX και TX λυχνίες LED στην πλακέτα θα αναβοσβήνουν όταν γίνεται μετάδοση δεδομένων μέσω του USB-to-chip σειριακή και USB σύνδεση με τον υπολογιστή (αλλά όχι για σειριακή επικοινωνία στις ακίδες 0 και 1). 2.8 Γλώσσα Προγραμματισμού Το Arduino Uno μπορεί να προγραμματιστεί με τη γλώσσα Wiring (ουσιαστικά πρόκειται για τη C++ με κάποιες μετατροπές). Έρχεται με ένα φορτωτή εκκίνησης που μας επιτρέπει να ανεβάζουμε νέο κώδικα χωρίς τη χρήση εξωτερικού υλικού προγραμματιστή. Επικοινωνεί χρησιμοποιώντας το αρχικό πρωτόκολλο αναπτυξιακής κάρτας STK500. Το περιβάλλον ανάπτυξης του λογισμικού βασίζεται στην γλώσσα προγραμματισμού Processing και την γλώσσα προγραμματισμού Wiring, οι οποίες είναι ανοιχτού κώδικα (οpen source). Το περιβάλλον ανάπτυξης μπορεί κάποιος να το "κατεβάσει δωρεάν". 2.9 Εγκατάσταση του προγράμματος Για να γίνει σωστή εγκατάσταση του προγράμματος, πρέπει να ακολουθηθεί μια σειρά από βήματα, ανάλογα με το λειτουργικό σύστημα που διαθέτει. Στην περίπτωση μας θα εγκατασταθεί σε λειτουργικό σύστημα των Windows XP. 8

14 14 Κεφάλαιο 2 : Arduino Uno 1. Πλακέτα Arduino και καλώδιο USB Στην παρούσα πτυχιακή εργασία επιλέχθηκε να χρησιμοποιηθεί η πλακέτα Arduino Uno. Θα χρειαστούμε ένα καλώδιο USB για να συνδεθούν πλακέτα και υπολογιστής. 2. Περιβάλλον Arduino Μεταφορτώνουμε δωρεάν την τελευταία έκδοση Arduino-1.0 από την ιστοσελίδα 3. Σύνδεση της πλακέτα στον υπολογιστή Συνδέουμε την πλακέτα Arduino Uno στον υπολογιστή χρησιμοποιώντας το καλώδιο USB. Παρατηρούμε ότι το LED της πλακέτας ανάβει. 4. Εγκατασταση του προγράμματος + Κάνουμε κλικ στο μενού Έναρξη, και ανοίγουμε τον Πίνακα Ελέγχου. + Από τον Πίνακα Ελέγχου, μεταβαίνουμε στο «Σύστημα» και ακολούθως «Υλικό» και ανοίγουμε τη διαχείριση συσκευών. 9

15 15 Κεφάλαιο 2 : Arduino Uno + Βλέπουμε στις συσκευές το όνομα Arduino Uno. Κάνουμε δεξί κλικ και επιλέγουμε το «Ενημέρωση προγράμματος οδήγησης». + Ξεκινάει εγκατάσταση λογισμικού για το Arduino. 10

16 16 Κεφάλαιο 2 : Arduino Uno + Κάνουμε εγκατάσταση τα drivers στον υπολογιστή μας. + Περιμένουμε μέχρι να τελειώσει η εγκατάσταση λογισμικού για το Arduino. + Τελειώνοντας παρατηρούμε ότι στις Θύρες (COM & LPT) εμφανίστηκε το Serial Port COM 15 για το Arduino που θα χρησιμοποιήσουμε. Οπότε το Arduino έχει προγραμματιστεί στη σειριακή θύρα

17 17 Κεφάλαιο 2 : Arduino Uno 5. Έναρξη της εφαρμογής Arduino Κάνουμε διπλό κλικ στην εφαρμογή Arduino.exe 6. Επιλογή Board και Σειριακής θύρας Από το περιβάλλον ανάπτυξης του, από το μενού Tools επιλέγουμε για Board το Arduino Uno και για Σειριακή θύρα το COM15. 12

18 18 Κεφάλαιο 2 : Arduino Uno 2.10 Ολοκληρωμένο Περιβάλλον Ανάπτυξης του Arduino Το περιβάλλον ανάπτυξης Arduino περιέχει μια περιοχή επεξεργασίας κειμένου για τη συγγραφή κώδικα, μια περιοχή μηνυμάτων, ένα μενού, μια γραμμή εργαλείων με κουμπιά για κοινές λειτουργίες, καθώς και μια σειρά από μενού. Συνδέεται με το υλικό Arduino για τη φόρτωση προγραμμάτων και για να επικοινωνούν μεταξύ τους. Ένα ολοκληρωμένο πρόγραμμα συνήθως ονομάζεται sketch. Αυτό το sketch είναι γραμμένο με το πρόγραμμα επεξεργασίας κειμένου. Έχει δυνατότητες για την αντιγραφή/επικόλληση και για την αναζήτηση/αντικατάσταση κειμένου. Η κονσόλα απεικονίζει την έξοδο του κειμένου από το περιβάλλον Arduino συμπεριλαμβάνοντας πλήρη μηνύματα λάθους και άλλες πληροφορίες. Τα κουμπιά της γραμμής εργαλείων επιτρέπουν τον έλεγχο και το ανέβασμα των προγραμμάτων, τη δημιουργία νέου sketch, το άνοιγμα και την αποθήκευση των sketch και άνοιγμα της σειριακής οθόνης. Μενού Εργαλειοθήκη Καρτέλες (Tabs) Επεξεργαστής κειμένου Κονσόλα μηνυμάτων Εικόνα 2.3 Ολοκληρωμένο περιβάλλον ανάπτυξης (IDE) του Arduino 13

19 19 Κεφάλαιο 2 : Arduino Uno Τα κουμπιά της γραμμής εργαλείων: Verify/Compile (Έλεγχος/Μεταγλώττιση): Έλεγχος για λάθη στον κώδικα Upload: Ανέβασμα του κώδικα στον μικροελεγκτή New(Νέο): Δημιουργεί ένα νέο sketch Open(Άνοιγμα): Παρουσιάζει ένα μενού με όλα τα sketch, κάνοντας κλικ σε ένα από αυτά θα ανοίξει μέσα στο τρέχον παράθυρο Save(Αποθήκευση): Αποθηκεύει το sketch Serial Monitor(Σειριακή οθόνη): Ανοίγει την σειριακή οθόνη ώστε να μπορούμε να δώσουμε δεδομένα από το πληκτρολόγιο 2.11 Σειριακή οθόνη (Serial Monitor) Εμφανίζει τα σειριακά δεδομένα που αποστέλλονται από την πλακέτα Arduino. Πιο συγκεκριμένα, η αποστολή δεδομένων στην πλακέτα γίνεται, εισάγοντας κείμενο και πατώντας το κουμπί send ή πατώντας το Enter. Επίσης, στο κάτω μέρος της σειριακής οθόνης, μπορεί να γίνει η επιλογή της κατάλληλης ταχύτητας (baud) από την λίστα που εμφανίζεται ανάλογα με την τιμή που θα επιλεχθεί στο προγραμματισμό του Arduino με το Serial.begin(). Εικόνα 2.4 Serial Monitor Εικόνα 2.4: Serial Monitor 14

20 H Δομή το προγράμματος Κεφάλαιο 2 : Arduino Uno Ένα τυπικό πρόγραμμα Arduino έχει την παρακάτω δομή: //δήλωση μεταβλητών void setup () { //αρχικοποιήσεις void loop () { //Κώδικας Υπάρχουν δυο ειδικές συναρτήσεις που είναι μέρος του κάθε sketch του Arduino οι οποίες είναι η setup() και η loop(). Η setup() καλείται μια φορά, όταν το sketch ξεκινά ή όποτε κάνει επαναφορά (reset) η πλατφόρμα Arduino. Κυρίως, σε αυτήν γίνονται οι αρχικοποιήσεις των μεταβλητών, η ρύθμιση της κατάστασης των ακίδων (pins) και η προετοιμασία των βιβλιοθηκών. Αντιθέτως, η συνάρτηση loop() καλείται ξανά και ξανά επιτρέποντας έτσι στο πρόγραμμα να ανταποκριθεί σε εξωτερικά ερεθίσματα. Και οι δυο συναρτήσεις πρέπει να περιλαμβάνονται στο sketch, ακόμα και αν δεν περιέχουν κάτι και να είναι κενές Βασικές δομές και λειτουργίες προγραμματισμού Παρακάτω, ακολουθούν μερικές από τις πιο βασικές δομές και λειτουργίες που μπορεί να αξιοποιηθεί ως εργαλεία κατά την συγγραφή ενός προγράμματος Arduino : Δομές ελέγχου ροής if (δομή ελέγχου μίας συνθήκης) if... else (δομή ελέγχου πολλαπλών συνθηκών) for (δομή επαναληπτικού ελέγχου συνθήκης) while (δομή επαναληπτικού ελέγχου συνθήκης) do... while (δομή επαναληπτικού ελέγχου συνθήκης) switch... case (δομή ελέγχου περιπτώσεων) break (εντολή διακοπής μιας επαναληπτικής δομής) continue (εντολή παράλειψης της τρέχουσας επανάληψης) return (εντολή επιστροφής από μία συνάρτηση) goto (εντολή μετάβασης σε κάποιο σημείο του κώδικα) Αριθμητικοί τελεστές = (τελεστής εκχώρησης) + (τελεστής πρόσθεσης) - (τελεστής αφαίρεσης) * (τελεστής πολλαπλασιασμού) 15

21 21 Κεφάλαιο 2 : Arduino Uno / (τελεστής διαίρεσης) % (τελεστής υπόλοιπου ακεραίας διαίρεσης) Λογικοί τελεστές && (λογική σύζευξη) (λογική διάζευξη)! (λογική άρνηση) Δυαδικοί τελεστές & (δυαδική σύζευξη) (δυαδική διάζευξη) ^ (δυαδική αποκλειστική διάζευξη) ~ (δυαδική άρνηση) << (δυαδική αριστερή ολίσθηση) >> (δυαδική δεξιά ολίσθηση) Τελεστές αύξησης και μείωσης ++ (αύξηση κατά μία ακέραιη μονάδα) -- (μείωση κατά μία ακέραιη μονάδα) Σύνθετοι τελεστές +=, -=, *=, /=, %= (σύνθετοι αριθμητικοί τελεστές) &=, =, ^=, ~=, <<=, >>= (σύνθετοι δυαδικοί τελεστές) Τελεστές σύγκρισης == (ισότητα)!= (ανισότητα) < (μικρότερο) > (μεγαλύτερο) <= (μικρότερο ή ίσο) >= (μεγαλύτερο ή ίσο) Τελεστές δεικτών * (τελεστής απόκτησης περιεχομένου) & (τελεστής απόκτησης διεύθυνσης) Σταθερές HIGH (τιμή υψηλής στάθμης για μία επαφή εισόδου ή εξόδου) LOW (τιμή χαμηλής στάθμης για μία επαφή εισόδου ή εξόδου) false (λογικό επίπεδο ψεύδους σε μία συνθήκη) true (λογικό επίπεδο αλήθειας σε μία συνθήκη) INPUT (χρησιμοποιείται για τον ορισμό μίας επαφής ως είσοδο) OUTPUT (χρησιμοποιείται για τον ορισμό μίας επαφής ως έξοδο) A0,..., Α5 (συμβολοσταθερές για τις αναλογικές επαφές εισόδου) 16

22 22 Κεφάλαιο 2 : Arduino Uno Τύποι δεδομένων boolean (λογική δυαδική τιμή) char (προσημασμένος χαρακτήρας 8 ψηφίων) unsigned char (μη προσημασμένος χαρακτήρας 8 ψηφίων) byte (μη προσημασμένος χαρακτήρας 8 ψηφίων) int (προσημασμένος ακέραιος αριθμός 16 ψηφίων) unsigned int (μη προσημασμένος ακέραιος αριθμός 16 ψηφίων) word (μη προσημασμένος ακέραιος αριθμός 16 ψηφίων) long (προσημασμένος ακέραιος αριθμός 32 ψηφίων) unsigned long (μη προσημασμένος ακέραιος αριθμός 32 ψηφίων) float, double (αριθμός κινητής υποδιαστολής απλής ακρίβειας) String (αντικείμενο αλφαριθμητικού με χρήσιμες μεθόδους) Ως αλφαριθμητικό μπορεί να θεωρηθεί και ο πίνακας χαρακτήρων Συναρτήσεις μετατροπής τύπων char(), byte() int(), word(), long() float(), double() Συναρτήσεις εισόδου και εξόδου pinmode() (ορίζει μια επαφή ως είσοδο ή έξοδο) Συναρτήσεις ψηφιακής εισόδου και εξόδου digitalwrite() (γράφει σε μία ψηφιακή επαφή εξόδου) digitalread() (διαβάζει από μία ψηφιακή επαφή εισόδου) Συναρτήσεις αναλογικής εισόδου και εξόδου analogreference() (ορίζει την τάση αναλογικής αναφοράς) analogwrite() (γράφει PWM σήματα σε μία επαφή εξόδου) analogread() (διαβάζει από μία αναλογική επαφή εισόδου) Προηγμένες συναρτήσεις εισόδου και εξόδου tone() (παράγει ένα τετραγωνικό σήμα ορισμένης συχνότητας) notone() (διακόπτει την παραγωγή τετραγωνικών σημάτων) shiftout() (ολισθαίνει τα ψηφία μιας τιμής σε μία επαφή εξόδου) pulsein() (επιστρέφει την διάρκεια σε μs ενός παλμού HIGH ή LOW) Συναρτήσεις χρόνου millis() (διάρκεια εκτέλεσης του προγράμματος σε ms) micros() (διάρκεια εκτέλεσης του προγράμματος σε μs) delay() (παύση προγράμματος - η διάρκεια δίδεται σε ms) delaymicroseconds() (παύση προγράμματος - η διάρκεια δίδεται σε μs) Μαθηματικές και Τριγωνομετρικές συναρτήσεις max() (βρίσκει τον μεγαλύτερο ανάμεσα σε δύο αριθμούς) min() (βρίσκει τον μικρότερο ανάμεσα σε δύο αριθμούς) abs() (επιστρέφει την απόλυτη τιμή ενός αριθμού) constrain() (ελέγχει για υπερχείλιση ή υποχείλιση ορίων) map() (πραγματοποιεί γραμμικό μετασχηματισμό ορίων) pow() (επιστρέφει το αποτέλεσμα μίας δύναμης) 17

23 23 Κεφάλαιο 2 : Arduino Uno sqrt() (επιστρέφει την ρίζα ενός αριθμού) sin() (υπολογίζει το ημίτονο ενός αριθμού) cos() (υπολογίζει το συνημίτονο ενός αριθμού) tan() (υπολογίζει την εφαπτομένη ενός αριθμού) Συναρτήσεις γεννήτριας ψευδοτυχαίων αριθμών random() (δίδεται ένας νέος αριθμός από την γεννήτρια) randomseed() (θέτει τον σπόρο της γεννήτριας παραγωγής) Συναρτήσεις επεξεργασίας δυαδικών αριθμών lowbyte() (επιστρέφει το δεξιότερο byte μίας μεταβλητής) highbyte() (επιστρέφει το αριστερότερο byte μίας μεταβλητής) bitread() (διαβάζει ένα συγκεκριμένο ψηφίο μίας μεταβλητής) bitwrite() (γράφει σε ένα συγκεκριμένο ψηφίο μιας μεταβλητής) bitset() (γράφει την τιμή 1 σε κάποιο ψηφίο μίας μεταβλητής) bitclear() (γράφει την τιμή 0 σε κάποιο ψηφίο μιας μεταβλητής) bit() (υπολογίζει μία συγκεκριμένη δύναμη με βάση το 2) Συναρτήσεις χρήσης ρουτινών εξυπηρέτησης διακοπών attachinterrupt() (ενεργοποιεί μία ρουτίνα εξυπηρέτησης διακοπής) detachinterrupt() (απενεργοποιεί μία ρουτίνα εξυπηρέτησης διακοπής) Συναρτήσεις ενεργοποίησης και απενεργοποίησης διακοπών interrupts() (ενεργοποιεί τα σήματα διακοπής) nointerrupts() (απενεργοποιεί τα σήματα διακοπής) Υποστήριξη σειριακής επικοινωνίας Serial (αντικείμενο σειριακής επικοινωνίας με χρήσιμες μεθόδους) 2.14 Ψηφιακές ακίδες (Digital pins) Οι ακίδες αυτές στο Arduino μπορούν να ρυθμιστούν είτε ως είσοδοι είτε ως έξοδοι, όμως από προεπιλογή είναι ρυθμισμένες ως είσοδοι. Επίσης αξίζει να σημειωθεί, ότι η πλειοψηφία των αναλογικών ακίδων του Arduino (Atmega), μπορεί να ρυθμιστεί και να χρησιμοποιηθεί, με τον ίδιο ακριβώς τρόπο όπως οι ψηφιακές ακίδες. Οι συναρτήσεις ψηφιακής εισόδου και εξόδου είναι οι παρακάτω: pinmode(): Ρυθμίζει τη συγκεκριμένη ακίδα να συμπεριφέρεται ως είσοδος/ έξοδος. Σύνταξη: pinmode(pin, mode) Παράμετροι: pin: Ο αριθμός της ακίδας της οποίας η λειτουργία είναι επιθυμητό να αλλάξει. mode: INPUT/OUTPUT 18

24 24 Κεφάλαιο 2 : Arduino Uno digitalwrite(): Γράφει μια υψηλή (HIGH) ή μια χαμηλή (LOW) τιμή σε μια ψηφιακή ακίδα. Αν η ακίδα έχει ρυθμιστεί ως έξοδος με την συνάρτηση pinmode(), τότε η τάση της θα καθορίσει στην αντίστοιχη τιμή: 5V για HIGH και 0V για LOW. Αν η ακίδα έχει ρυθμιστεί ως είσοδος, γράφοντας HIGH στην συνάρτηση digitalwrite() θα ενεργοποιήσει μια εσωτερική pullup-αντίσταση των 20 Κ ενώ γράφοντας LOW θα την απενεργοποιήσει. Σύνταξη: digitalwrite(pin,value) Παράμετροι: pin: Ο αριθμός της ακίδας της οποίας η λειτουργία είναι επιθυμητό να αλλάξει. Value: INPUT/OUTPUT digitalread(): Διαβάζει την τιμή από μια συγκεκριμένη ψηφιακή ακίδα, που είναι είτε HIGH είτε LOW. Σύνταξη: digitalread(pin) Παράμετροι: pin: Ο αριθμός της ακίδας της οποίας η λειτουργία είναι επιθυμητό να αλλάξει. Επιστρέφει: HIGH/LOW 2.15 Αναλογικές ακίδες εισόδου (Analog input pins) Οι ελεγκτές Atmega που χρησιμοποιούνται για την πλατφόρμα Arduino περιέχουν έναν ενσωματωμένο αναλογικό-σε-ψηφιακό μετατροπέα 6 καναλιών. Ο μετατροπέας διαθέτει ανάλυση 10 bit, επιστρέφοντας ακέραιους από 0 έως Ενώ η κύρια λειτουργία της αναλογικής ακίδας για τους περισσότερους χρήστες Arduino είναι να διαβάζει αναλογικούς αισθητήρες, οι αναλογικές ακίδες έχουν επίσης όλες τις λειτουργίες των γενικών ακίδων εισόδου/εξόδου. Οι συναρτήσεις αναλογικής εισόδου και εξόδου είναι οι παρακάτω: analogwrite(): Γράφει μια αναλογική τιμή (PWM κύμα) σε μια ακίδα. Μπορεί να χρησιμοποιηθεί για παράδειγμα να ανάψει ένα LED σε διάφορες φωτεινότητες ή να οδηγήσει ένα κινητήρα σε διάφορες ταχύτητες. Μετά από μια κλήση της analogwrite(), η ακίδα θα δημιουργήσει ένα σταθερό τετραγωνικό κύμα του καθορισμένου κύκλου λειτουργίας μέχρι την επόμενη κλήση της analogwrite() (ή μια κλήση της digitalwrite() ή digitalread() για την ίδια ακίδα). Η συχνότητα του σήματος PWM είναι περίπου 490 Hz. Στις περισσότερες πλατφόρμες Arduino η συνάρτηση αυτή λειτουργεί στις ακίδες 3, 5, 6, 9, 10, 11. Σύνταξη: analogwrite(pin, value) Παράμετροι: pin: Ο αριθμός της ακίδας της οποίας θα γράψει επάνω value: ο κύκλος λειτουργίας μεταξύ 0 και

25 25 Κεφάλαιο 2 : Arduino Uno analogread(): Διαβάζει την τιμή από την καθορισμένη αναλογική ακίδα. Σύνταξη: analogread(pin) Παράμετροι: pin: Ο αριθμός της αναλογικής ακίδας εισόδου από όπου θα διαβάζει Επιστέφει: ακέραιο από 0 έως Υποστήριξη Βιβλιοθηκών (Libraries) Η χρήση βιβλιοθηκών προσφέρουν περισσότερο λειτουργικότητα σε συνεργασία με το υλικό και τον χειρισμό των δεδομένων. Για να χρησιμοποιηθεί μια βιβλιοθήκη σε ένα sketch, μπορεί να επιλεγεί από το μενού Sketch Import Library. Αυτό θα εισάγει μια ή περισσότερες βιβλιοθήκες #include δηλώσεις στην κορυφή του sketch. Επειδή οι βιβλιοθήκες φορτώνονται στην πλακέτα με το sketch, αυξάνουν το μέγεθος του χώρου που καταλαμβάνεται. Εάν ένα sketch δεν χρειάζεται πλέον μια βιβλιοθήκη, απλά μπορούμε να την διαγράψουμε από την κορυφή του κώδικα. Για την εγκατάσταση των βιβλιοθηκών που δεν υπάρχουν ήδη στο λογισμικό, μπορεί να δημιουργηθεί ένας κατάλογος με την ονομασία libraries (βιβλιοθήκες), μέσα στον κατάλογο του sketchbook. Στην συνέχεια αποσυμπιέζουμε τη βιβλιοθήκη εκεί. Παρακάτω ακολουθούν μερικές από τις βιβλιοθήκες που υποστηρίζονται από το Arduino. Επικοινωνίας (δικτύωση και πρωτόκολλα): Messenger - για την επεξεργασία κειμένου με βάση τα μηνύματα από τον υπολογιστή. NewSoftSerial - βελτιωμένη έκδοση της βιβλιοθήκης SoftwareSerial. OneWire - συσκευές ελέγχου (της Dallas Semiconductor) που χρησιμοποιούν το πρωτόκολλο one Wire. PS2Keyboard - διαβάζει χαρακτήρες από ένα πληκτρολόγιο PS2. Simple Message System - στέλνει μηνύματα μεταξύ Arduino και του υπολογιστή SSerial2Mobile - αποστολή μηνυμάτων κειμένου ή χρησιμοποιώντας ένα κινητό τηλέφωνο (μέσω εντολών AT μέσω σειράς λογισμικού) Webduino - επεκτάσιμη βιβλιοθήκη web server (για χρήση με το Arduino Ethernet Shield) X10 - Αποστολή σημάτων X10 μέσω γραμμών εναλλασσόμενου ρεύματος Xbee - για την επικοινωνία με XBees σε λειτουργία API SerialControl - Τηλεχειριστήριο άλλες Arduino πάνω από μια σειριακή σύνδεση Servo για τον έλεγχο κινητήρων τύπου Servo. Ανίχνευσης: Capacitive Sensing - δύο ή περισσότερες ακίδες σε αισθητήρες πυκνωτή Debounce - για την ανάγνωση θορυβώδη ψηφιακών εισόδων (π.χ. από τα κουμπιά). 20

26 26 Κεφάλαιο 2 : Arduino Uno Εμφάνιση και LED: Improved LCD library - διορθώνει σφάλματα αρχικοποίησης LCD στην επίσημη Arduino LCD βιβλιοθήκη. GLCD γραφικές ρουτίνες για LCD με βάση την KS0108 ή ισοδύναμο chipset. LedControl - για τον έλεγχο των LED ή επτά τμημάτων οθόνες με MAX7221 ή MAX7219. LedControl - μια εναλλακτική λύση στη βιβλιοθήκη Matrix για την οδήγηση με πολλαπλούς LED. LedDisplay - τον έλεγχο της HCMS-29xx οθόνη LED. Συχνότητα παραγωγής ήχου: Tone - αναπαράγει κύματα ήχου συχνότητας στο παρασκήνιο σε κάθε καρφίτσα του μικροελεγκτή. Κινητήρες και PWM: TLC κανάλι 12 bit PWM ελεγκτή. Χρονοδιάγραμμα: DateTime - μια βιβλιοθήκη για την παρακολούθηση της τρέχουσας ημερομηνίας και ώρας. MsTime2 - χρησιμοποιεί το χρονόμετρο διακοπής 2 για να ενεργοποιήσει μια δράση κάθε χιλιοστά του δευτερολέπτου Ν. Βοηθητικά προγράμματα: Streaming - μια μέθοδο για την απλοποίηση δηλώσεων εκτύπωσης. Για την συγγραφή των παραπάνω υποκεφαλαίων πολύ χρήσιμες ήταν οι ιστοσελίδες [1], [2], [3], [4] και [5]. 21

27 27 Κεφάλαιο 8: Processing ΚΕΦΑΛΑΙΟ 8 Processing Η Processing είναι μια ανοιχτού κώδικα γλώσσα προγραμματισμού και παρέχει περιβάλλον ανάπτυξης για άτομα που θέλουν να δημιουργήσουν εικόνες, κινούμενα σχέδια και διάφορες αλληλεπιδράσεις. Αρχικά, αναπτύχθηκε ως ένα σχεδιαστικό πρόγραμμα για να διδάξει βασικές αρχές προγραμματισμού μέσα σε ένα οπτικό πλαίσιο, όμως στη συνέχεια εξελίχθηκε σε ένα εργαλείο δημιουργίας ολοκληρωμένων επαγγελματικών εργασιών. Αυτή τη στιγμή υπάρχουν δεκάδες χιλιάδες σπουδαστές, καλλιτέχνες, σχεδιαστές, ερευνητές και χομπιστές που χρησιμοποιούν την Processing για διδασκαλία, προτυποποίηση και παραγωγή. 8.1 Χαρακτηριστικά της Processing Είναι ελεύθερο/ανοικτό λογισμικό με άδεια χρήσης GPL/LGPL. Είναι πολυπλατφορμική, μπορεί να τρέξει σε λειτουργικά συστήματα GNU/Linux, Mac OS X και Windows. Δημιουργεί διαδραστικά προγράμματα, χρησιμοποιώντας δισδιάστατα(2d) ή τρισδιάστατα (3D) γραφικά. Ενσωμάτωση της OpelGL για επιτάχυνση 3D. Δημιουργία stand-alone desktop εφαρμογών και Web-based εφαρμογών (applets). Υπάρχουν αρκετές βιβλιοθήκες επέκτασης της γλώσσας για εφαρμογές ήχου, βίντεο, τεχνητής όρασης, κ.α. Η Processing βασίστηκε στις δυνατότητες γραφικών της γλώσσας προγραμματισμού Java, απλοποιώντας τη χρήση και δημιουργώντας νέα χαρακτηριστικά. 8.2 Έργα βασισμένα στην Processing Η Processing είναι πηγή έμπνευσης για αρκετά έργα ανοιχτού κώδικα. Δύο από τα σημαντικότερα έργα που χρησιμοποιούν τη γλώσσα και το περιβάλλον της είναι η 100

28 28 Κεφάλαιο 8: Processing Wiring και το Arduino, οι οποίες στοχεύουν στον απλό και άμεσο προγραμματισμό hardware. Σε αντίθεση με τη Wiring, το Arduino δημιούργησε πλακέτες απλές, οικονομικές και ευκολότερες στη χρήση, ενώ κατ επέκταση χρησιμοποιεί μια παραλλαγή της γλώσσας Processing για τον προγραμματισμό μικροελεγκτών AVR της εταιρείας Atmel. Άλλα έργα που εμπνεύστηκαν από την Processing είναι τα: Design By Numbers, Fritzing, Mobile Processing, Processing.js, Spde, Processing in Clojure και Processing Monsters. 8.3 Η δομή του προγράμματος Ένα τυπικό πρόγραμμα Processing έχει την παρακάτω δομή: //δήλωση μεταβλητών void setup() { //αρχικοποιήσεις void draw() { //Κώδικας Μενού Εργαλειοθήκη Καρτέλες (Tabs) Επεξεργαστής κειμένου Μηνύματα κονσόλα Εικόνα 9.1: Ολοκληρωμένο περιβάλλον ανάπτυξης (IDE) του Processing 101

29 29 Κεφάλαιο 8: Processing Όπως παρατηρούμε, υπάρχουν δύο βασικές συναρτήσεις σε ένα τυπικό πρόγραμμα της Processing. Η συνάρτηση setup() εκτελείται στην αρχή του προγράμματος και για μια φορά. Χρησιμοποιείται για τις αρχικοποιήσεις ιδιοτήτων και βιβλιοθηκών, για παράδειγμα το μέγεθος της οθόνης, το χρώμα του φόντου, το φόρτωμα εικόνων κ.α. Οι μεταβλητές που δηλώνονται στην setup() δεν είναι προσβάσιμες από άλλες συναρτήσεις, συμπεριλαμβανομένης και της draw() που θα αναλυθεί αμέσως μετά. Η συνάρτηση draw() εκτελείται μετά από την setup() και ο κώδικας που γράφεται μέσα στην συνάρτηση αυτή επαναλαμβάνεται συνεχώς έως ότου τερματιστεί η εφαρμογή ή μέχρι να κληθεί η συνάρτηση noloop(). 8.4 Βιβλιοθήκες και εργαλεία Η Processing συνοδεύεται από μια πληθώρα βιβλιοθηκών και εργαλείων ανοικτού κώδικα, που ως στόχο έχουν να επεκτείνουν τις δυνατότητες της γλώσσας. Υπάρχουν βιβλιοθήκες για κάθε σκοπό όπως για δημιουργία τρισδιάστατων γραφικών, δημιουργία κινουμένων σχεδίων, τεχνητή όραση, μαθηματικά, επεξεργασία ήχου, δημιουργία προσομοιώσεων κ.α. Μπορούμε να κατεβάσουμε αρκετές βιβλιοθήκες από την διεύθυνση Επίσης, υπάρχουν εργαλεία τα οποία μπορούμε να τα βρούμε στο μενού «Tools», τα οποία μας βοηθούν σε πολλές εργασίες. Πρέπει να φορτωθούν οι βιβλιοθήκες Arduinoscope από την ιστοσελίδα και ControlP5 από την ιστοσελίδα Αφού τα κατεβάσουμε πρέπει να κάνουμε αντίγραφο και των δυο βιβλιοθηκών και να επικολλήσουμε στον φάκελο processing-1.5\modes\java\libraries με ονόματα ControlP5 και arduinoscope αντίστοιχα (τα ονόματα έχουν μεγάλη σημασία). Για την συγγραφή αυτού του κεφαλαίου πολύ χρήσιμα ήταν οι ιστοσελίδες [22], [23]. 102

30 30 Κεφάλαιο 9: Βιβλιογραφία Πηγές πληροφοριών ΚΕΦΑΛΑΙΟ 9 Βιβλιογραφία Πηγές πληροφοριών Βιβλία και σημειώσεις που χρησιμοποιήθηκαν: [Α] Δρ. Βολογιαννίδης Σταύρος (2009). Ευφυής Έλεγχος, Θεωρία και Εφαρμογής. [Β] Banzi, M. (2009). Getting Started with Arduino. O'Reilly. Ιστοσελίδες που χρησιμοποιήθηκαν: Arduino [1] [2] [3] [4] [5] 110

31 31 Κεφάλαιο 9: Βιβλιογραφία Πηγές πληροφοριών Processing [22] [23] 111

32 32 ΚΕΦΑΛΑΙΟ 3 Πρακτικό μέρος o Επίσκεψη και περιήγηση στην Ιστοσελίδα o Κατέβασμα και εγκατάσταση εφαρμογής ARDUINO IDE o Επικοινωνία εφαρμογής ARDUINO IDE και της πλακέτας ARDUINO UNO 3.1 Απαραίτητα Υλικά Τα απαραίτητα υλικά που θα χρειαστούμε στη συχέχεια για την ολοκλήρωση του πρακτικού μέρους είναι τα παρακάτω: Arduino Uno BreadBroad Καλώδια USB καλώδια πλατφόρμων Arduino Διάφορα εξαρτήματα : Αντιστάσεις, LED, Ημιαγωγοί κλπ

33 Εφαρμογή 1 η Συνεχές αναβόσβημα ενός Led με περίοδο 1sec, με αλλαγή της στάθμης στην ψηφιακή θύρα Ι/Ο του μικροελεγκτή. (Οι γραμμές με πορτοκαλί είναι κώδικας-εντολές όλα τα άλλα είναι σχόλια) Το Arduino αποτελείται από δεκατρία ψηφιακά pin, τα οποία μπορούμε να τα χρησιμοποιήσουμε το κάθε ένα ξεχωριστά, είτε για είσοδο είτε για έξοδο. Μπορούμε να τα προγραμματίσουμε να συμπεριφέρονται όπως εμείς θέλουμε, αρκεί να κάνουμε τις σωστές δηλώσεις στο κώδικα που θα φορτώσουμε στη πλακέτα. Η έξοδος του κάθε pin μπορεί να προγραμματιστεί να δίνει τιμές HIGH ή LOW. Λέγοντας HIGH ενώνουμε το δυαδικό '1' και έχουμε τάση εξόδου 5V DC, ενώ το LOW είναι το δυαδικό '0' και έχει τάση εξόδου 0V DC (ground). Παρακάτω θα δούμε ένα παράδειγμα για να μπορέσουμε να κατανοήσουμε τον προγραμματισμό των ψηφιακών pin του Arduino. Θα ενώσουμε ένα led στη board και θα το προγραμματίσουμε να ανάβει και να σβήνει σε χρονικά διαστήματα ενός δευτερολέπτου Blink Αυτό το παράδειγμα παρουσιάζει το απλούστερο πράγμα που μπορείτε να κάνετε με ένα Arduino για να δείτε τη φυσική έξοδο: αναβοσβήνει ένα LED. Απαραίτητα Υλικά Arduino Board breadboard LED, αντίσταση 220Ω, Κύκλωμα Για να υλοποιήσετε το κύκλωμα, συνδέστε μια αντίσταση 220Ω με το pin 13. Κατόπιν συνδέστε τον μακρύτερο ακροδέκτη (άνοδο) με την αντίσταση. Συνδέστε το κοντό ακροδέκτη (κάθοδο) με τη γείωση. Κατόπιν συνδέστε το Arduino με τον υπολογιστή σας, ξεκινήστε το πρόγραμμα Arduino, και πληκτρολογείστε τον παρακάτω κώδικα. Τα περισσότερα Arduino ήδη έχουν ένα LED στο pin 13. Εάν τρέχετε αυτό το παράδειγμα χωρίς εξωτερικό LED και αντισταση, πρέπει να δείτε το ενσωματωμένο LED να αναβοσβήνει.

34 34 Για την δημιουργία της εικόνας χρησιμοποιήθηκε το προγραμμα Fritzing. Για περισσότερα παραδείγματα κυκλωμάτων, δείτε: Fritzing project page

35 35 Κώδικας // Pin 13 has an LED connected on most Arduino boards. // give it a name: int led = 13; // Ορίζουμε μία μεταβλητή τύπου Integer (Ακεραίου) με όνομα led και της δίνουμε την τιμή 13 με σκοπό να την χρησιμοποιήσουμε παρακάτω στον κώδικα και να δηλώσουμε που θα συνδέσουμε το led. // the setup routine runs once when you press reset: void setup() { // Η συνάρτηση αρχικών ρυθμίσεων του μικροελεγκτή // initialize the digital pin as an output. pinmode(led, OUTPUT); // Ορίζουμε χρησιμοποιώντας την μεταβλητή led, ότι το pin 13 θα λειτουργεί σαν ψηφιακή έξοδος 0-5V // the loop routine runs over and over again forever: void loop() { // Η κύρια ρουτίνα του προγράμματος που εκτελείται συνεχώς digitalwrite(led, HIGH); // turn the LED on (HIGH is the voltage level) // Βγάλε λογικό 1 (5V) στο pin 13, δηλαδή άναψε το led delay(1000); // wait for a second // Συνάρτηση καθυστέρησης χρόνου 1000ms digitalwrite(led, LOW); // turn the LED off by making the voltage LOW //Βγάλε λογικό 0 (0V) στο pin 13, δηλαδή σβήσε το led delay(1000); // wait for a second // Συνάρτηση καθυστέρησης χρόνου 1000ms // Επιστρέφει στην γραμμή digitalwrite(led, HIGH); [Get Code]

36 Εφαρμογή 2 η Άναμμα και σβήσιμο Led ελεγχόμενο από εξωτερικό button με την διαδικασία polling

37 37 // constants won't change. They're used here to // set pin numbers: const int buttonpin = 2; // the number of the pushbutton pin // Ορίζουμε μία σταθερά τύπου Integer (Ακεραίου) με όνομα buttonpin και της δίνουμε την τιμή 2 με σκοπό να την χρησιμοποιήσουμε παρακάτω στον κώδικα και να δηλώσουμε που θα συνδέσουμε το button. const int ledpin = 13; // the number of the LED pin // Ορίζουμε μία σταθερά τύπου Integer (Ακεραίου) με όνομα ledpin και της δίνουμε την τιμή 13 με σκοπό να την χρησιμοποιήσουμε παρακάτω στον κώδικα και να δηλώσουμε που θα συνδέσουμε το led. // variables will change: int buttonstate = 0; // variable for reading the pushbutton status // Ορίζουμε μία μεταβλητή τύπου? Integer (Ακεραίου) με όνομα buttonstate και της δίνουμε αρχικά την τιμή 0 με σκοπό να την χρησιμοποιήσουμε παρακάτω στον κώδικα για να αποθηκεύουμε την κατάσταση λειτουργίας του button (on-off) void setup() { // Η συνάρτηση αρχικών ρυθμίσεων του μικροελεγκτή // initialize the LED pin as an output: pinmode(ledpin, OUTPUT); // Ορίζουμε χρησιμοποιώντας την μεταβλητή ledpin, ότι το pin 13 θα λειτουργεί σαν ψηφιακή έξοδος 0-5V // initialize the pushbutton pin as an input: pinmode(buttonpin, INPUT); // Ορίζουμε χρησιμοποιώντας την μεταβλητή buttonpin, ότι το pin 2 θα λειτουργεί σαν ψηφιακή είσοδος 0-5V void loop(){ // Η κύρια ρουτίνα του προγράμματος που εκτελείται συνεχώς // read the state of the pushbutton value: buttonstate = digitalread(buttonpin); // Διαβάζουμε την ψηφιακή τιμή που έχει το Pin 2 (εκεί που συνδέεται το button) και την αποθηκεύουμε στην μεταβλητή buttonstate // check if the pushbutton is pressed. // if it is, the buttonstate is HIGH: if (buttonstate == HIGH) { //Ελέγχουμε αν το button είναι πατημένο, αν ναι τότε: // turn LED on: digitalwrite(ledpin, HIGH); // Βγάλε λογικό 1 (5V) στο pin 13, δηλαδή άναψε το led else { //αλλιώς: // turn LED off: digitalwrite(ledpin, LOW); //Βγάλε λογικό 0 (0V) στο pin 13, δηλαδή σβήσε το led

38 Εφαρμογή 3 η Άναμμα και σβήσιμο Led ελεγχόμενο από εξωτερικό button με την διαδικασία Interrupt (Η διαφορά με την προηγούμενη περίπτωση είναι ότι πρίν η ενεργοποίηση γίνεται μετά το loop ενώ τώρα άμεσα με την ενεργοποίηση της διακοπής) const byte LED = 13; // Ορίζουμε μία σταθερά τύπου Integer (Ακεραίου) με όνομα LED και της δίνουμε την τιμή 13 με σκοπό να την χρησιμοποιήσουμε παρακάτω στον κώδικα και να δηλώσουμε που θα συνδέσουμε το led. const byte BUTTON = 2; // Ορίζουμε μία σταθερά τύπου Integer (Ακεραίου) με όνομα BUTTON και της δίνουμε την τιμή 2 με σκοπό να την χρησιμοποιήσουμε παρακάτω στον κώδικα και να δηλώσουμε που θα συνδέσουμε το button. // Interrupt Service Routine (ISR) void pinchange () // Δημιουργία ρουτίνας εξυπηρέτησης διακοπής με όνομα pinchange (δηλώνεται μετά τις μεταβλητές και πριν την ρουτίνα αρχικών ρυθμίσεων του μικροελεγκτή { nointerrupts (); // Απενεργοποίηση των διακοπών με σκοπό να μην συμβεί κάποια άλλη διακοπή για όσο χρόνο εξυπηρετείται η παρούσα διακοπή if (digitalread (BUTTON) == HIGH) // Διαβάζουμε την ψηφιακή τιμή που έχει το Pin 2 (εκεί που συνδέεται το button) και ελέγχουμε αν το button είναι πατημένο, αν ναι τότε digitalwrite (LED, HIGH); // Βγάλε λογικό 1 (5V) στο pin 13, δηλαδή άναψε το led else //αλλιώς: digitalwrite (LED, LOW); //Βγάλε λογικό 0 (0V) στο pin 13, δηλαδή σβήσε το led interrupts (); //Ενεργοποίηση των διακοπών // end of pinchange void setup () // Η συνάρτηση αρχικών ρυθμίσεων του μικροελεγκτή { pinmode (LED, OUTPUT); // so we can update the LED // Ορίζουμε χρησιμοποιώντας την μεταβλητή LED, ότι το pin 13 θα λειτουργεί σαν ψηφιακή έξοδος 0-5V digitalwrite (BUTTON, HIGH); // internal pull-up resistor // Ορίζουμε χρησιμοποιώντας την μεταβλητή BUTTON, ότι το pin 2 θα λειτουργεί σαν ψηφιακή είσοδος 0-5V attachinterrupt (0, pinchange, CHANGE); // attach interrupt handler // Ενεργοποίηση της ρουτίνας που θα εξυπηρετεί την διακοπή. Η πρώτη παράμετρος με τιμή 0 μας ορίζει την πηγή της εξωτερικής διακοπής σύμφωνα με τον παρακάτω πίνακα. Η δεύτερη παράμετρος με τιμή pinchange μας ορίζει την ρουτίνα εξυπηρέτησης της διακοπής ISR που δημιουργήσαμε παραπάνω. Η τρίτη παράμετρος με τιμές LOW, RISING, FALLING, CHANGE μας ορίζει το είδος της αλλαγής λογικής στάθμης που ενεργοποιεί την διακοπή. // end of setup void loop () // Η κύρια ρουτίνα του προγράμματος που εκτελείται συνεχώς { // loop doing nothing // Δεν εκτελείται καμία εντολή αρά δεν γίνεται τίποτα και περιμένουμε να συμβεί μία διακοπή

39 39 Below is a list of interrupts, in priority order, for the Atmega328: 1 Reset 2 External Interrupt Request 0 (pin D2) (INT0_vect) 3 External Interrupt Request 1 (pin D3) (INT1_vect) 4 Pin Change Interrupt Request 0 (pins D8 to D13) (PCINT0_vect) 5 Pin Change Interrupt Request 1 (pins A0 to A5) (PCINT1_vect) 6 Pin Change Interrupt Request 2 (pins D0 to D7) (PCINT2_vect) 7 Watchdog Time-out Interrupt (WDT_vect) 8 Timer/Counter2 Compare Match A (TIMER2_COMPA_vect) 9 Timer/Counter2 Compare Match B (TIMER2_COMPB_vect) 10 Timer/Counter2 Overflow (TIMER2_OVF_vect) 11 Timer/Counter1 Capture Event (TIMER1_CAPT_vect) 12 Timer/Counter1 Compare Match A (TIMER1_COMPA_vect) 13 Timer/Counter1 Compare Match B (TIMER1_COMPB_vect) 14 Timer/Counter1 Overflow (TIMER1_OVF_vect) 15 Timer/Counter0 Compare Match A (TIMER0_COMPA_vect) 16 Timer/Counter0 Compare Match B (TIMER0_COMPB_vect) 17 Timer/Counter0 Overflow (TIMER0_OVF_vect) 18 SPI Serial Transfer Complete (SPI_STC_vect) 19 USART Rx Complete (USART_RX_vect) 20 USART, Data Register Empty (USART_UDRE_vect) 21 USART, Tx Complete (USART_TX_vect) 22 ADC Conversion Complete (ADC_vect) 23 EEPROM Ready (EE_READY_vect) 24 Analog Comparator (ANALOG_COMP_vect) 25 2-wire Serial Interface (I2C) (TWI_vect) 26 Store Program Memory Ready (SPM_READY_vect) Δεν έχουν όλοι οι Arduino διακοπές στα ίδια pins Most Arduino boards have two external interrupts: numbers 0 (on digital pin 2) and 1 (on digital pin 3). The table below shows the available interrupt pins on various boards. Board int.0 int.1 int.2 int.3 int.4 int.5 Uno, Ethernet 2 3 Mega Leonardo Due (see below) The Arduino Due board has powerful interrupt capabilities that allows you to attach an interrupt function on all available pins. You can directly specify the pin number in attachinterrupt().

40 3.5 Εφαρμογή 4 η Διάβασμα αναλογικής τάσης, αναβόσβημα Led1 ανάλογα με την στάθμη της τάσης και έλεγχος φωτεινότητας Led2 μέσω PWM ανάλογα με την στάθμη της τάσης.

41 41 Κώδικας: int sensorpin = A0; // select the input pin for the potentiometer // Ορίζουμε μία μεταβλητή τύπου Integer (Ακεραίου) με όνομα sensorpin και της δίνουμε την τιμή Α0 (το Α0 είναι μία ακέραια σταθερά και αντιστοιχεί σε έναν ακέραιο αριθμό που μας δείχνει το pin, του καναλιού 1 του ADC) με σκοπό να την χρησιμοποιήσουμε παρακάτω στον κώδικα και να δηλώσουμε που θα συνδέσουμε το ποτενσιόμετρο αναλογική είσοδος. int ledpin1 = 13; // select the pin for the LED1 // Ορίζουμε μία μεταβλητή τύπου Integer (Ακεραίου) με όνομα ledpin1 και της δίνουμε την τιμή 13 με σκοπό να την χρησιμοποιήσουμε παρακάτω στον κώδικα και να δηλώσουμε που θα συνδέσουμε το led1. int sensorvalue = 0; // variable to store the value coming from the sensor // Ορίζουμε μία μεταβλητή τύπου Integer (Ακεραίου) με όνομα sensorvalue και της δίνουμε αρχικά την τιμή 0 με σκοπό να την χρησιμοποιήσουμε παρακάτω στον κώδικα για να αποθηκεύουμε τις τιμές που διαβάζει ο ADC int ledpin2 = 9; // LED2 connected to digital pin 9 // Ορίζουμε μία μεταβλητή τύπου Integer (Ακεραίου) με όνομα ledpin2 και της δίνουμε την τιμή 9 με σκοπό να την χρησιμοποιήσουμε παρακάτω στον κώδικα και να δηλώσουμε που θα συνδέσουμε το led2. PWM Output int outputvalue = 0; // value output to the PWM (analog out) // Ορίζουμε μία μεταβλητή τύπου Integer (Ακεραίου) με όνομα outputvalue και της δίνουμε αρχικά την τιμή 0 με σκοπό να την χρησιμοποιήσουμε παρακάτω στον κώδικα για να δίνουμε τις αναλογικές τιμές φωτεινότητας για το led2 void setup() { // Η συνάρτηση αρχικών ρυθμίσεων του μικροελεγκτή // declare the ledpin1 as an OUTPUT: pinmode(ledpin1, OUTPUT); // Ορίζουμε χρησιμοποιώντας την μεταβλητή ledpin1, ότι το pin 13 θα λειτουργεί σαν ψηφιακή έξοδος 0-5V pinmode(ledpin2, OUTPUT); // Ορίζουμε χρησιμοποιώντας την μεταβλητή ledpin2, ότι το pin 9 θα λειτουργεί σαν ψηφιακή έξοδος 0-5V void loop() { // Η κύρια ρουτίνα του προγράμματος που εκτελείτε συνεχώς // read the value from the sensor: sensorvalue = analogread(sensorpin); // Διάβασμα της αναλογικής τιμής της τάσης στο pin Α0 του ADC και απόδοση της τιμής στην μεταβλητή sensorvalue // turn the ledpin on digitalwrite(ledpin1, HIGH); // Βγάλε λογικό 1 (5V) στο pin 13, δηλαδή άναψε το led1 // stop the program for <sensorvalue> milliseconds: delay(sensorvalue); // Συνάρτηση καθυστέρησης χρόνου σε ms ανάλογου με την τιμή της αναλογικής τάσης από 0 έως 1023 ms // turn the ledpin off: digitalwrite(ledpin1, LOW); // Βγάλε λογικό 0 (0V) στο pin 13, δηλαδή σβείσε το led1 // stop the program for for <sensorvalue> milliseconds:

42 42 delay(sensorvalue); // Συνάρτηση καθυστέρησης χρόνου σε ms ανάλογου με την τιμή της αναλογικής τάσης από 0 έως 1023 ms //fade section // map it to the range of the analog out: outputvalue = map(sensorvalue, 0, 1023, 0, 255); // Συνάρτηση αντιστοίχησης μετατροπής των τιμών της αναλογικής τάσης από σε εύρος τιμών από και απόδοση των νέων τιμών στην μεταβλητή outputvalue // change the analog out value: analogwrite(ledpin2, outputvalue); // Δημιουργία παλμών PWM στο pin 9 (led2) ανάλογους με την τιμή του ADC με εύρος από 0 έως 255 // wait 2 milliseconds before the next loop // for the analog-to-digital converter to settle // after the last reading: delay(2); // // Συνάρτηση καθυστέρησης χρόνου 2ms με σκοπό την επανεκκίνηση του ADC Διαμόρφωση πλάτος παλμού Στο παρακάτω γράφημα, οι πράσινες γραμμές αντιπροσωπεύουν μια κανονική χρονική περίοδο. Μια κλήση της analogwrite() είναι σε μια κλίμακα από 0 έως 255, έτσι ώστε για παράδειγμα, η κλήση analogwrite(255) ζητά το 100% του κύκλου λειτουργίας, και η analogwrite(127) το 50% του κύκλου λειτουργίας (στο μισό χρόνο) [12]. Διαμόρφωση πλάτους παλμού(pwm)

43 Εφαρμογή 5 η Διάβασμα αναλογικής τάσης, άναμμα Led1 ή Led2 ανάλογα με την στάθμη της τάσης, και αποστολή δεδομένων σειριακά στον Η/Υ Κώδικας: int sensorpin = A0; // select the input pin for the potentiometer // Ορίζουμε μία μεταβλητή τύπου Integer (Ακεραίου) με όνομα sensorpin και της δίνουμε την τιμή Α0 (το Α0 είναι μία ακέραια σταθερά και αντιστοιχεί σε έναν ακέραιο αριθμό που μας δείχνει το pin, του καναλιού 1 του ADC) με σκοπό να την χρησιμοποιήσουμε παρακάτω στον κώδικα και να δηλώσουμε που θα συνδέσουμε το ποτενσιόμετρο αναλογική είσοδος. int ledpin1 = 13; // select the pin for the LED1 // Ορίζουμε μία μεταβλητή τύπου Integer (Ακεραίου) με όνομα ledpin1 και της δίνουμε την τιμή 13 με σκοπό να την χρησιμοποιήσουμε παρακάτω στον κώδικα και να δηλώσουμε που θα συνδέσουμε το led1. int sensorvalue = 0; // variable to store the value coming from the sensor // Ορίζουμε μία μεταβλητή τύπου Integer (Ακεραίου) με όνομα sensorvalue και της δίνουμε αρχικά την τιμή 0 με σκοπό να την χρησιμοποιήσουμε παρακάτω στον κώδικα για να αποθηκεύουμε τις τιμές που διαβάζει ο ADC int ledpin2 = 9; // LED2 connected to digital pin 9 // Ορίζουμε μία μεταβλητή τύπου Integer (Ακεραίου) με όνομα ledpin2και της δίνουμε την τιμή 9 με σκοπό να την χρησιμοποιήσουμε παρακάτω στον κώδικα και να δηλώσουμε που θα συνδέσουμε το led2. int outputvalue = 0; // value output // Ορίζουμε μία μεταβλητή τύπου Integer (Ακεραίου) με όνομα outputvalue και της δίνουμε αρχικά την τιμή 0 με σκοπό να την χρησιμοποιήσουμε παρακάτω στον κώδικα void setup() { // Η συνάρτηση αρχικών ρυθμίσεων του μικροελεγκτή // declare the ledpin1 as an OUTPUT: pinmode(ledpin1, OUTPUT); // Ορίζουμε χρησιμοποιώντας την μεταβλητή ledpin1, ότι το pin 13 θα λειτουργεί σαν ψηφιακή έξοδος 0-5V

44 44 pinmode(ledpin2, OUTPUT); // Ορίζουμε χρησιμοποιώντας την μεταβλητή ledpin1, ότι το pin 9 θα λειτουργεί σαν ψηφιακή έξοδος 0-5V // initialize serial communications at 9600 bps: Serial.begin(9600); // Αρχικοποίηση της σειριακής επικοινωνίας με ρυθμό 9600 void loop() { // Η κύρια ρουτίνα του προγράμματος που εκτελείτε συνεχώς // read the value from the sensor: sensorvalue = analogread(sensorpin); // Διάβασμα της αναλογικής τιμής της τάσης στο pin Α0 του ADC και απόδοση της τιμής στην μεταβλητή sensorvalue // turn the ledpin on if (sensorvalue < 511 ) { // Εάν η τιμή του ADC είναι μικρότερη από 511 δηλαδή 2,5 volt τότε: digitalwrite (ledpin1, HIGH); // Βγάλε λογικό 1 (5V) στο pin 13, δηλαδή άναψε το led1 digitalwrite (ledpin2, LOW); // Βγάλε λογικό 0 (0V) στο pin 9, δηλαδή σβήσε το led2 else //αλλιώς: { digitalwrite (ledpin1, LOW); // Βγάλε λογικό 0 (0V) στο pin 13, δηλαδή σβήσε το led1 digitalwrite(ledpin2, HIGH); // Βγάλε λογικό 1 (5V) στο pin 9, δηλαδή άναψε το led2 //serial section // print the results to the serial monitor: // Τμήμα σειριακής επικοινωνίας Serial.print("\t sensor = " ); Serial.println(sensorValue); // wait 2 milliseconds before the next loop // for the analog-to-digital converter to settle // after the last reading: delay(2);

45 Εφαρμογή 6 η Διάβασμα αναλογικής τάσης, μόνιμη αποθήκευση τιμών στην EEPROM, και αποστολή δεδομένων σειριακά στον Η/Υ διαβάζοντας την EEPROM Κώδικας: #include <EEPROM.h> //Φόρτωση της βιβλιοθήκης με τις σχετικές συναρτήσεις για επικοινωνία με την EEPROM // the current address in the EEPROM (i.e. which byte // we're going to write to next) int addr = 0; // Ορίζουμε μία μεταβλητή τύπου ακεραίου με όνομα addr και αρχική τιμή 0 με σκοπό να την χρησιμοποιήσουμε για να καθορίζουμε την διεύθυνση εγγραφής στην μνήμη // start reading from the first byte (address 0) of the EEPROM int address = 0; // Ορίζουμε μία μεταβλητή τύπου ακεραίου με όνομα address και αρχική τιμή 0 με σκοπό να την χρησιμοποιήσουμε για να καθορίζουμε την διεύθυνση ανάγνωσης από την μνήμη byte value; // Ορίζουμε μία μεταβλητή τύπου byte με όνομα value για να αποθηκεύουμε τα δεδομένα της μνήμης int sensorpin = A0; // select the input pin for the potentiometer // Ορίζουμε μία μεταβλητή τύπου Integer (Ακεραίου) με όνομα sensorpin και της δίνουμε την τιμή Α0 (το Α0 είναι μία ακέραια σταθερά και αντιστοιχεί σε έναν ακέραιο αριθμό που μας δείχνει το pin, του καναλιού 1 του ADC) με σκοπό να την χρησιμοποιήσουμε παρακάτω στον κώδικα και να δηλώσουμε που θα συνδέσουμε το ποτενσιόμετρο αναλογική είσοδος. int sensorvalue = 0; // variable to store the value coming from the sensor // Ορίζουμε μία μεταβλητή τύπου Integer (Ακεραίου) με όνομα sensorvalue και της δίνουμε αρχικά την τιμή 0 με σκοπό να την χρησιμοποιήσουμε παρακάτω στον κώδικα για να αποθηκεύουμε τις τιμές που διαβάζει ο ADC void setup() { // Η συνάρτηση αρχικών ρυθμίσεων του μικροελεγκτή Serial.begin(9600); // Αρχικοποίηση της σειριακής επικοινωνίας με ρυθμό 9600 void loop() { // Η κύρια ρουτίνα του προγράμματος που εκτελείτε συνεχώς // read the value from the sensor: sensorvalue = analogread(sensorpin); ); // Διάβασμα της αναλογικής τιμής της τάσης στο pin Α0 του ADC και απόδοση της τιμής στην μεταβλητή sensorvalue

46 46 // need to divide by 4 because analog inputs range from // 0 to 1023 and each byte of the EEPROM can only hold a // value from 0 to 255. int val = analogread(sensorpin) / 4; //Ορισμός μίας τοπικής μεταβλητής τύπου ακέραιου με όνομα val και απόδοση της αναλογικής τιμής της τάσης από το pin Α0 του ADC αφού διαιρεθεί με 4 αφού η μνήμη είναι 8 bit // write the value to the appropriate byte of the EEPROM. // these values will remain there when the board is // turned off. EEPROM.write(addr, val); // Εγγραφή της μνήμης στην διεύθυνση που μας δείχνει η τιμή της μεταβλητής addr, την τιμή της μεταβλητής val // advance to the next address. there are 512 bytes in // the EEPROM, so go back to 0 when we hit 512. addr = addr + 1; // Αύξηση της διεύθυνσης κατά ένα (επόμενη διεύθυνση) if (addr == 512) // Εάν η διεύθυνση είναι η τελευταία αφού η EEPROM έχει χωρητικότητα 512 byte, τότε: addr = 0; // Πήγαινε στην αρχική διεύθυνση delay(100); // Καθυστέρηση 100ms value = EEPROM.read(address); // Ανάγνωση της μνήμης στην διεύθυνση που μας δείχνει η τιμή της μεταβλητής address, και απόδοση της τιμής στην μεταβλητή value Serial.print(address); // Αποστολή σειριακά της τιμής της διεύθυνσης της μνήμης Serial.print("\t"); Serial.print(value, DEC); // Αποστολή σειριακά της τιμής του περιέχομένου της διεύθυνσης της μνήμης Serial.println(); // advance to the next address of the EEPROM address = address + 1; // Αύξηση της διεύθυνσης κατά ένα (επόμενη διεύθυνση) // there are only 512 bytes of EEPROM, from 0 to 511, so if we're // on address 512, wrap around to address 0 if (address == 512) // Εάν η διεύθυνση είναι η τελευταία αφού η EEPROM έχει χωρητικότητα 512 byte, τότε: address = 0; // Πήγαινε στην αρχική διεύθυνση delay(500); // Καθυστέρηση 500ms

47 Εφαρμογή 7 η Δημιουργία μουσικών τόνων «Twinkle Twinkle Little Star» Κώδικας: int speakerpin = 9; // Ορισμός μεταβλητής τύπου ακεραίου με όνομα speakerpin και απόδοση τιμής 9 με σκοπό να την χρησιμοποιήσουμε παρακάτω στον κώδικα και να δηλώσουμε που θα συνδέσουμε το buzzer int length = 15; // the number of notes // Ορισμός μεταβλητής τύπου ακεραίου με όνομα length και απόδοση τιμής 15 με σκοπό να την χρησιμοποιήσουμε παρακάτω στον κώδικα και να δηλώσουμε τον αριθμό από νότες που θα έχει το μουσικό κομμάτι char notes[] = "ccggaagffeeddc "; // a space represents a rest // Ορισμός πίνακα με τιμές τύπου χαρακτήρα (char) και απόδοση τιμών ccggaagffeeddc τις νότες που θα έχει το μουσικό κομμάτι int beats[] = { 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 2, 4 ; // Ορισμός πίνακα με τιμές τύπου ακεραίου και απόδοση τιμών 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 2, 4 για τις φορές που παίζετε η κάθε νότα που θα έχει το μουσικό κομμάτι int tempo = 300; // Ορισμός μεταβλητής τύπου ακεραίου με όνομα tempo και απόδοση τιμής 300 με σκοπό να την χρησιμοποιήσουμε παρακάτω στον κώδικα και να δηλώσουμε τον ρυθμό (ταχύτητα) παιξίματος που θα έχει το μουσικό κομμάτι void playtone(int tone, int duration) { // Ορισμός συνάρτησης με όνομα playtone και ακέραιες παραμέτρους tone (khz) και duration με λειτουργία την δημιουργία του τόνου μιας νότας for (long i = 0; i < duration * 1000L; i += tone * 2) { digitalwrite(speakerpin, HIGH); delaymicroseconds(tone); digitalwrite(speakerpin, LOW);

48 48 delaymicroseconds(tone); void playnote(char note, int duration) {// Ορισμός συνάρτησης με όνομα playnote και παραμέτρους note και duration με λειτουργία τo παίξιμο του τόνου μιας νότας char names[] = { 'c', 'd', 'e', 'f', 'g', 'a', 'b', 'C' ; // Οι νότες int tones[] = { 1915, 1700, 1519, 1432, 1275, 1136, 1014, 956 ; // play the tone corresponding to the note name for (int i = 0; i < 8; i++) { if (names[i] == note) { playtone(tones[i], duration); // Χρησιμοποιεί την προηγούμενη συνάρτηση playtone void setup() { pinmode(speakerpin, OUTPUT); void loop() { for (int i = 0; i < length; i++) { if (notes[i] == ' ') { delay(beats[i] * tempo); // rest else { playnote(notes[i], beats[i] * tempo); // pause between notes delay(tempo / 2);

49 Εφαρμογή 8 η Απεικόνιση χαρακτήρων σε Display LCD

50 50 Κώδικας: /* LiquidCrystal Library - Hello World Demonstrates the use a 16x2 LCD display. The LiquidCrystal library works with all LCD displays that are compatible with the Hitachi HD44780 driver. There are many of them out there, and you can usually tell them by the 16-pin interface. This sketch prints "Hello World!" to the LCD and shows the time. The circuit: * LCD RS pin to digital pin 7 * LCD Enable pin to digital pin 6 * LCD D4 pin to digital pin 5 * LCD D5 pin to digital pin 4 * LCD D6 pin to digital pin 3 * LCD D7 pin to digital pin 2 * LCD R/W pin to ground * 10K resistor: * ends to +5V and ground * wiper to LCD VO pin (pin 3) Library originally added 18 Apr 2008 by David A. Mellis library modified 5 Jul 2009 by Limor Fried (http://www.ladyada.net) example added 9 Jul 2009 by Tom Igoe modified 22 Nov 2010 by Tom Igoe This example code is in the public domain. */ // include the library code: #include <LiquidCrystal.h> // initialize the library with the numbers of the interface pins

51 51 LiquidCrystal lcd(7, 6, 5, 4, 3, 2); void setup() { // set up the LCD's number of columns and rows: lcd.begin(16, 2); // Print a message to the LCD. lcd.print("hello, world!"); void loop() { // set the cursor to column 0, line 1 // (note: line 1 is the second row, since counting begins with 0): lcd.setcursor(0, 1); // print the number of seconds since reset: lcd.print(millis() / 1000); Εφαρμογών συνέχεια... Ελεύθερη δημιουργία εφαρμογής από τους εκπαιδευόμενους. Επίδειξη σύνθετων εφαρμογών Τέλος Σεμιναρίου

52 52 Εικόνες - Σχέδια

53 53 Εμπρόσθια όψη πλακέτας arduino Πίσω όψη πλακέτας arduino

54 54 ATmega328

55 55 Hitachi HD44780 driver

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

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

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

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

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

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

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

FOSSCOMM 2013 6ο Συνέδριο Κοινοτήτων Ανοιχτού Λογισμικού Σάββατο 20 Απριλίου 2013. Ομάδα Σχολής Ικάρων Εργαστήριο Arduino FOSSCOMM 2013 6ο Συνέδριο Κοινοτήτων Ανοιχτού Λογισμικού Σάββατο 20 Απριλίου 2013 Ομάδα Σχολής Ικάρων Εργαστήριο Arduino Arduino Workshop LAB 1 : Παιχνίδι με έναν αισθητήρα φωτός Τι θα χρειαστούμε: 1 LED

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

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

Κωνσταντίνος Γκαλονάκης. Arduino: Προγραμματισμός στην πράξη Κωνσταντίνος Γκαλονάκης Arduino: Προγραμματισμός στην πράξη 1 Σύνδεση του Arduino με τον Η/Υ και προγραμματισμός αυτού. 1. Εγκατάσταση περιβάλλοντος Arduino IDE Για να προγραμματίσετε τη μονάδα σας θα

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

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

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

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

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

ΠΕΡΙΕΧΟΜΕΝΑ ΚΕΦΑΛΑΙΟ I: ΕΙΣΑΓΩΓΗ ΣΤΑ ΗΛΕΚΤΡΟΝΙΚΑ ΠΕΡΙΕΧΟΜΕΝΑ ΚΕΦΑΛΑΙΟ I: ΕΙΣΑΓΩΓΗ ΣΤΑ ΗΛΕΚΤΡΟΝΙΚΑ 1.1 ΕΙΣΑΓΩΓΗ ΣΤΑ ΑΝΑΛΟΓΙΚΑ ΗΛΕΚΤΡΟΝΙΚΑ 1 1.1.1 Αναλογικά σήματα 1 1.1.2 Οι αντιστάσεις 3 1.1.3 Οι πυκνωτές 7 1.1.4 Τα πηνία 11 1.1.5 Οι δίοδοι 13 1.1.6

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

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

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

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

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

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

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

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

Εργαστηριακές σημειώσεις για το μάθημα: «Εισαγωγή στην Μηχατρονική» Εργαστηριακές σημειώσεις για το μάθημα: «Εισαγωγή στην Μηχατρονική» Τμήμα Μηχανολογίας Δρ. Φασουλάς Γιάννης, jfasoulas@staff.teicrete.gr Τ.Ε.Ι. Κρήτη, Σχολή Τεχνολογικών Εφαρμογών, Ηράκλειο Κρήτης, (2013)

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

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

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

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

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

ΡΟΜΠΟΤΙΚΗ. ΕΡΓΑΣΙΑ ΠΑΝΩ ΣΤΗΝ ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΝΧΤ ΚΑΙ ΤΑ ΠΡΩΤΟΚΟΛΛΑ ΕΠΙΚΟΙΝΩΝΙΑΣ BLUETOOTH, I2C και serial communication ΡΟΜΠΟΤΙΚΗ ΕΡΓΑΣΙΑ ΠΑΝΩ ΣΤΗΝ ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΝΧΤ ΚΑΙ ΤΑ ΠΡΩΤΟΚΟΛΛΑ ΕΠΙΚΟΙΝΩΝΙΑΣ BLUETOOTH, I2C και serial communication ΜΠΑΝΤΗΣ ΑΝΤΩΝΙΟΣ 533 ΤΣΙΚΤΣΙΡΗΣ ΔΗΜΗΤΡΙΟΣ 551 ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΤΟΥ ΡΟΜΠΟΤ LEGO NXT Το ρομπότ

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

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

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

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

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

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

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

Ι ΑΣΚΩΝ ΚΑΘΗΓΗΤΗΣ: ΚΑΘΗΓΗΤΗΣ ΕΦΑΡΜΟΓΩΝ. ΤΕΙ ΥΤΙΚΗΣ ΜΑΚΕ ΟΝΙΑΣ d.fotiadis@kastoria.teikoz.gr

Ι ΑΣΚΩΝ ΚΑΘΗΓΗΤΗΣ: ΚΑΘΗΓΗΤΗΣ ΕΦΑΡΜΟΓΩΝ. ΤΕΙ ΥΤΙΚΗΣ ΜΑΚΕ ΟΝΙΑΣ d.fotiadis@kastoria.teikoz.gr Ι ΑΣΚΩΝ ΚΑΘΗΓΗΤΗΣ: ΦΩΤΙΑ ΗΣ Α. ΗΜΗΤΡΗΣ M.Sc. ΚΑΘΗΓΗΤΗΣ ΕΦΑΡΜΟΓΩΝ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ Τ.Ε. ΣΧΟΛΗ ΤΕΧΝΟΛΟΓΙΚΩΝ ΕΦΑΡΜΟΓΩΝ (Σ.Τ.ΕΦ.) ΤΕΙ ΥΤΙΚΗΣ ΜΑΚΕ ΟΝΙΑΣ d.fotiadis@kastoria.teikoz.gr Ασύγχρονη σειριακή

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

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

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

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

ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ. Σχεδίαση και ανάπτυξη οχήματος που ακολουθεί μια γραμμή

ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ. Σχεδίαση και ανάπτυξη οχήματος που ακολουθεί μια γραμμή ΤΕΙ ΑΝΑΤΟΛΙΚΗΣ ΜΑΚΕΔΟΝΙΑΣ ΚΑΙ ΘΡΑΚΗΣ ΣΧΟΛΗ ΤΕΧΝΟΛΟΓΙΚΩΝ ΕΦΑΡΜΟΓΩΝ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ Σχεδίαση και ανάπτυξη οχήματος που ακολουθεί μια γραμμή Σπουδαστές: Ταβλάκης Γεώργιος ΑΕΜ:

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

Επιβλέπων Καθηγητής : Μιχάλης Παπουτσιδάκης. Φοιτητές : Λούντζη Αθηνά Α.Μ 35158. Ράπτης Ιωάννης Α.Μ 33823

Επιβλέπων Καθηγητής : Μιχάλης Παπουτσιδάκης. Φοιτητές : Λούντζη Αθηνά Α.Μ 35158. Ράπτης Ιωάννης Α.Μ 33823 Σχολή Τεχνολογικών Εφαρμογών Τμήμα Αυτοματισμού Πτυχιακή Εργασία Θέμα : «Επαναπρογραμματιζόμενο Σύστημα ασφάλειας με χρωματικό κώδικα» Επιβλέπων Καθηγητής : Μιχάλης Παπουτσιδάκης Φοιτητές : Λούντζη Αθηνά

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

WDT και Power Up timer

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

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

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

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

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

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

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

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

Εμμανουήλ Πουλάκης. Προγραμματίζοντας με τον μικροελεγκτή Arduino

Εμμανουήλ Πουλάκης. Προγραμματίζοντας με τον μικροελεγκτή Arduino Εμμανουήλ Πουλάκης Προγραμματίζοντας με τον μικροελεγκτή Arduino Ηράκλειο Ιανουάριος 2015 Έκδοση 1η Ηράκλειο, Ιανουάριος 2015 ISBN 978-960-93-6760-8 Αυτό το υλικό διατίθεται με άδεια Creative Commons

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

Παιδιά κάτω των 13 ετών δε θα πρέπει να χρησιμοποιούν το κιτ χωρίς επίβλεψη. Μη συνδέετε την κύρια πλακέτα σε εξωτερική τροφοδοσία μεγάλης ισχύος.

Παιδιά κάτω των 13 ετών δε θα πρέπει να χρησιμοποιούν το κιτ χωρίς επίβλεψη. Μη συνδέετε την κύρια πλακέτα σε εξωτερική τροφοδοσία μεγάλης ισχύος. 2 ΠΕΡΙΕΧΟΜΕΝΑ 01. Robotale (Arduino-Compatible) 02. Ράστερ 830 οπών 03. Κουτί αποθήκευσης 04. Κόκκινα leds (τεμ. 5) 05. Κίτρινα leds (τεμ. 5) 06. Πράσινα leds (τεμ. 5) 07. Αντιστάτες 220 Ohm (τεμ. 8) 08.

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

ΣΤΑΤΙΚΕΣ ΚΑΙ ΔΥΝΑΜΙΚΕΣ ΜΝΗΜΕΣ ΤΥΧΑΙΑΣ ΠΡΟΣΠΕΛΑΣΗΣ (Static and Dynamic RAMs). ΔΙΑΡΘΡΩΣΗ ΤΟΥ ΜΑΘΗΜΑΤΟΣ ΘΕΜΑΤΙΚΕΣ ΕΝΟΤΗΤΕΣ

ΣΤΑΤΙΚΕΣ ΚΑΙ ΔΥΝΑΜΙΚΕΣ ΜΝΗΜΕΣ ΤΥΧΑΙΑΣ ΠΡΟΣΠΕΛΑΣΗΣ (Static and Dynamic RAMs). ΔΙΑΡΘΡΩΣΗ ΤΟΥ ΜΑΘΗΜΑΤΟΣ ΘΕΜΑΤΙΚΕΣ ΕΝΟΤΗΤΕΣ ΣΤΑΤΙΚΕΣ ΚΑΙ ΔΥΝΑΜΙΚΕΣ ΜΝΗΜΕΣ ΤΥΧΑΙΑΣ ΠΡΟΣΠΕΛΑΣΗΣ (Static and Dynamic RAMs). ΔΙΑΡΘΡΩΣΗ ΤΟΥ ΜΑΘΗΜΑΤΟΣ ΘΕΜΑΤΙΚΕΣ ΕΝΟΤΗΤΕΣ ΒΑΣΙΚΑ ΣΤΟΙΧΕΙΑ ΗΜΙΑΓΩΓΙΚΩΝ ΜΝΗΜΩΝ. ΒΑΣΙΚΗ ΛΕΙΤΟΥΡΓΙΑ RAM CMOS. ΤΥΠΟΙ ΚΥΤΤΑΡΩΝ ΑΡΧΕΣ

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

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

ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2013 ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2013 ΤΕΧΝΟΛΟΓΙΑ (Ι) ΤΕΧΝΙΚΩΝ ΣΧΟΛΩΝ ΘΕΩΡΗΤΙΚΗΣ ΚΑΤΕΥΘΥΝΣΗΣ Μάθημα : Μικροϋπολογιστές

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

Το υλικό του υπολογιστή

Το υλικό του υπολογιστή Το υλικό του υπολογιστή Ερωτήσεις 1. Τι αντιλαμβάνεστε με τον όρο υλικό; Το υλικό(hardware) αποτελείται από το σύνολο των ηλεκτρονικών τμημάτων που συνθέτουν το υπολογιστικό σύστημα, δηλαδή από τα ηλεκτρονικά

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

ΕΡΓΑΣΤΗΡΙΟ ΑΡΧΙΤΕΚΤΟΝΙΚΗΣ Η/Υ

ΕΡΓΑΣΤΗΡΙΟ ΑΡΧΙΤΕΚΤΟΝΙΚΗΣ Η/Υ ΕΡΓΑΣΤΗΡΙΟ ΑΡΧΙΤΕΚΤΟΝΙΚΗΣ Η/Υ 4 ο Εξάμηνο Μαδεμλής Ιωάννης ΛΟΓΙΚΕΣ ΠΡΑΞΕΙΣ Οι λογικές πράξεις που υποστηρίζει η Assembly του 8088 είναι : Πράξη AND Πράξη OR Πράξη NOT Πράξη XOR Με τις λογικές πράξεις μπορούμε

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

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

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

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

Εργαστηριακές ασκήσεις λογικών κυκλωμάτων 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 ένας

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

Η-Υ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ. Εργαστήριο 1 Εισαγωγή στη C. Σοφία Μπαλτζή s.mpaltzi@di.uoa.gr

Η-Υ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ. Εργαστήριο 1 Εισαγωγή στη C. Σοφία Μπαλτζή s.mpaltzi@di.uoa.gr Η-Υ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Εργαστήριο 1 Εισαγωγή στη C Σοφία Μπαλτζή s.mpaltzi@di.uoa.gr Διαδικαστικά Ιστοσελίδα μαθήματος: http://eclass.uoa.gr/courses/f30/ Υποχρεωτική παρακολούθηση: Παρασκευή 14:00 16:00 στην

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

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

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

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

Το ολοκληρωμένο κύκλωμα μιας ΚΜΕ. «Φέτα» ημιαγωγών (wafer) από τη διαδικασία παραγωγής ΚΜΕ

Το ολοκληρωμένο κύκλωμα μιας ΚΜΕ. «Φέτα» ημιαγωγών (wafer) από τη διαδικασία παραγωγής ΚΜΕ Το ολοκληρωμένο κύκλωμα μιας ΚΜΕ Η Κεντρική Μονάδα Επεξεργασίας (Central Processing Unit -CPU) ή απλούστερα επεξεργαστής αποτελεί το μέρος του υλικού που εκτελεί τις εντολές ενός προγράμματος υπολογιστή

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

ΕΡΩΤΗΣΕΙΣ ΣΥΝΤΗΡΗΣΗ Η/Υ

ΕΡΩΤΗΣΕΙΣ ΣΥΝΤΗΡΗΣΗ Η/Υ ΕΡΩΤΗΣΕΙΣ ΣΥΝΤΗΡΗΣΗ Η/Υ 1) Τι είναι μητρική πλακέτα; Είναι η βασική ηλεκτρονική πλακέτα ενός Η/Υ πάνω στην οποία συνδέονται όλα τα εξαρτήματα ενός Η/Υ όπως ο επεξεργαστής, η μνήμη, οι κάρτες επέκτασης,

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

ΨΗΦΙΑΚΑ ΣΥΣΤΗΜΑΤΑ. ΚΕΦΑΛΑΙΟ 4ο ΜΝΗΜΕΣ. (c) Αμπατζόγλου Γιάννης, Ηλεκτρονικός Μηχανικός, καθηγητής ΠΕ17

ΨΗΦΙΑΚΑ ΣΥΣΤΗΜΑΤΑ. ΚΕΦΑΛΑΙΟ 4ο ΜΝΗΜΕΣ. (c) Αμπατζόγλου Γιάννης, Ηλεκτρονικός Μηχανικός, καθηγητής ΠΕ17 ΨΗΦΙΑΚΑ ΣΥΣΤΗΜΑΤΑ ΚΕΦΑΛΑΙΟ 4ο ΜΝΗΜΕΣ Μνήμες (Memory) - Είναι ημιαγώγιμα κυκλώματα που μπορούν να αποθηκεύσουν ένα σύνολο από δυαδικά ψηφία (bit). - Μια μνήμη αποθηκεύει λέξεις (σειρές από bit). - Σε κάθε

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

ΕΦΑΡΜΟΓΕΣ ΠΛΗΡΟΦΟΡΙΚΗΣ. Α Γενικού Λυκείου (Μάθημα Επιλογής)

ΕΦΑΡΜΟΓΕΣ ΠΛΗΡΟΦΟΡΙΚΗΣ. Α Γενικού Λυκείου (Μάθημα Επιλογής) ΕΦΑΡΜΟΓΕΣ ΠΛΗΡΟΦΟΡΙΚΗΣ Α Γενικού Λυκείου (Μάθημα Επιλογής) Σύγχρονα Υπολογιστικά Συστήματα τους υπερυπολογιστές (supercomputers) που χρησιμοποιούν ερευνητικά εργαστήρια τα μεγάλα συστήματα (mainframes)

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

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ Ακαδημαϊκό έτος 2001-2002 ΤΕΤΡΑΔΙΟ ΕΡΓΑΣΤΗΡΙΟΥ #4

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ Ακαδημαϊκό έτος 2001-2002 ΤΕΤΡΑΔΙΟ ΕΡΓΑΣΤΗΡΙΟΥ #4 ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ Ακαδημαϊκό έτος 2001-2002 ΤΕΤΡΑΔΙΟ ΕΡΓΑΣΤΗΡΙΟΥ #4 «Προγραμματισμός Η/Υ» - Τετράδιο Εργαστηρίου #4 2 Γενικά Στο Τετράδιο #4 του Εργαστηρίου θα αναφερθούμε σε θέματα διαχείρισης πινάκων

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

Μελέτη και υλοποίηση γεννήτριας σήματος, βασισμένη στην πλατφόρμα Arduino

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

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

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

Μάθημα 4.2 Η μητρική πλακέτα Μάθημα 4.2 Η μητρική πλακέτα - Εισαγωγή - Οι βάσεις του επεξεργαστή και της μνήμης - Οι υποδοχές της μητρικής πλακέτας - Άλλα μέρη της μητρική πλακέτας - Τυποποιήσεις στην κατασκευή μητρικών πλακετών Όταν

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

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

Εισαγωγή στον Προγραμματισμό Εισαγωγή στον Προγραμματισμό Αριθμητική Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ακ. Έτος 2012-2013 Δεύτερο Πρόγραμμα 1 / * Second Simple Program : add 2 numbers * / 2

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

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

Μάθημα 4.7 Θύρες περιφερειακών Μάθημα 4.7 Θύρες περιφερειακών - Εισαγωγή - Η σειριακή θύρα - Η παράλληλη θύρα - Οι θύρες πληκτρολογίου και ποντικιού τύπου PS/2 - Ο διάδρομος USB Όταν ολοκληρώσεις το μάθημα αυτό θα μπορείς: Να αναφέρεις

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

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

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

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

Εφαρμογές βασισμένες στο Arduino

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

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

Συνοπτικό εγχειρίδιο χρήσης του Microsoft Visual Studio 2010

Συνοπτικό εγχειρίδιο χρήσης του Microsoft Visual Studio 2010 Τμήμα Πληροφορικής & Επικοινωνιών Τομέας Υπολογιστικών Τεχνικών & Συστημάτων Συνοπτικό εγχειρίδιο χρήσης του Microsoft Visual Studio 2010 Ιωάννης Γεωργουδάκης - Πάρις Μαστοροκώστας Σεπτέμβριος 2011 ΠΕΡΙΕΧΟΜΕΝΑ

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

ΨΗΦΙΑΚΟ ΚΟΥΡΔΙΣΤΗΡΙ ΜΟΥΣΙΚΩΝ ΟΡΓΑΝΩΝ

ΨΗΦΙΑΚΟ ΚΟΥΡΔΙΣΤΗΡΙ ΜΟΥΣΙΚΩΝ ΟΡΓΑΝΩΝ ΤΕΧΝΟΛΟΓΙΚΟ ΕΚΠΑΙΔΕΥΤΙΚΟ ΙΔΡΥΜΑ ΑΝΑΤΟΛΙΚΗΣ ΜΑΚΕΔΟΝΙΑΣ ΚΑΙ ΘΡΑΚΗΣ ΣΧΟΛΗ ΤΕΧΝΟΛΟΓΙΚΩΝ ΕΦΑΡΜΟΓΩΝ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ ΨΗΦΙΑΚΟ ΚΟΥΡΔΙΣΤΗΡΙ ΜΟΥΣΙΚΩΝ ΟΡΓΑΝΩΝ Φοιτητές Παραπονιάρης Ανδροκλής

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

ΑΣΚΗΣΗ 2: ΔΟΜΗ ΠΡΟΓΡΑΜΜΑΤΟΣ C, ΧΕΙΡΙΣΜΟΣ ΜΕΤΑΒΛΗΤΩΝ ΚΑΙ ΣΥΝΑΡΤΗΣΕΙΣ ΕΙΣΟΔΟΥ ΚΑΙ ΕΞΟΔΟΥ

ΑΣΚΗΣΗ 2: ΔΟΜΗ ΠΡΟΓΡΑΜΜΑΤΟΣ C, ΧΕΙΡΙΣΜΟΣ ΜΕΤΑΒΛΗΤΩΝ ΚΑΙ ΣΥΝΑΡΤΗΣΕΙΣ ΕΙΣΟΔΟΥ ΚΑΙ ΕΞΟΔΟΥ ΑΣΚΗΣΗ 2: ΔΟΜΗ ΠΡΟΓΡΑΜΜΑΤΟΣ C, ΧΕΙΡΙΣΜΟΣ ΜΕΤΑΒΛΗΤΩΝ ΚΑΙ ΣΥΝΑΡΤΗΣΕΙΣ ΕΙΣΟΔΟΥ ΚΑΙ ΕΞΟΔΟΥ Σκοπός της Άσκησης Ο σκοπός αυτής της εργαστηριακής άσκησης είναι η ανάλυση των βασικών χαρακτηριστικών της Γλώσσας

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

Διάλεξη 3η: Τύποι Μεταβλητών, Τελεστές, Είσοδος/Έξοδος

Διάλεξη 3η: Τύποι Μεταβλητών, Τελεστές, Είσοδος/Έξοδος Διάλεξη 3η: Τύποι Μεταβλητών, Τελεστές, Είσοδος/Έξοδος Τμήμα Επιστήμης Υπολογιστών, Πανεπιστήμιο Κρήτης Εισαγωγή στην Επιστήμη Υπολογιστών Βασίζεται σε διαφάνειες του Κ Παναγιωτάκη Πρατικάκης (CSD) Μεταβλητές,

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

- Εισαγωγή - Επίπεδα μνήμης - Ολοκληρωμένα κυκλώματα μνήμης - Συσκευασίες μνήμης προσωπικών υπολογιστών

- Εισαγωγή - Επίπεδα μνήμης - Ολοκληρωμένα κυκλώματα μνήμης - Συσκευασίες μνήμης προσωπικών υπολογιστών Μάθημα 4.5 Η Μνήμη - Εισαγωγή - Επίπεδα μνήμης - Ολοκληρωμένα κυκλώματα μνήμης - Συσκευασίες μνήμης προσωπικών υπολογιστών Όταν ολοκληρώσεις το μάθημα αυτό θα μπορείς: Να αναφέρεις τα κυριότερα είδη μνήμης

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

ΑΝΑLOG TO DIGITAL CONVERTER (ADC)

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

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

ΕΓΧΕΙΡΙΔΙΟ FORUS FSV. Ένδειξη καταγραφής με φωνή (VOR) Πλήκτρο μενού. και μνήμης που απομένει. Πλήκτρο εκκίνησης/παύσης.

ΕΓΧΕΙΡΙΔΙΟ FORUS FSV. Ένδειξη καταγραφής με φωνή (VOR) Πλήκτρο μενού. και μνήμης που απομένει. Πλήκτρο εκκίνησης/παύσης. ΕΓΧΕΙΡΙΔΙΟ FORUS FSV Ένδειξη καταγραφής Οθόνη LCD Πλήκτρο μενού Ένδειξη μνήμης που απομένει Πλήκτρο εκκίνησης/παύσης Πλήκτρο REW/FF Πλήκτρο Rec/Stop Ενσωματωμένο μικρόφωνο Είσοδος μικροφώνου Έξοδος ακουστικού

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

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

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΜΑΡΙΑ Σ. ΖΙΩΓΑ ΚΑΘΗΓΗΤΡΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΕΠΙΜΕΛΕΙΑ: ΜΑΡΙΑ Σ. ΖΙΩΓΑ ΚΑΘΗΓΗΤΡΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΘΕΩΡΙΑ 6 ΟΥ ΚΕΦΑΛΑΙΟΥ ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ 6.1 Τι ονοµάζουµε πρόγραµµα υπολογιστή; Ένα πρόγραµµα

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

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

ΑΣΚΗΣΗ 8 Tutorial by TeSLa Συνδεσμολογία κυκλώματος Διαδικασία Προγραμματισμού Α.Τ.Ε.Ι. ΘΕΣΣΑΛΟΝΙΚΗΣ ΤΜΗΜΑ ΑΥΤΟΜΑΤΙΣΜΟΥ ΕΡΓΑΣΤΗΡΙΟ ΜΙΚΡΟΫΠΟΛΟΓΙΣΤΩΝ ΑΣΚΗΣΗ 8 Tutorial by TeSLa Συνδεσμολογία κυκλώματος Διαδικασία Προγραμματισμού Θεσσαλονίκη, Ιανουάριος 2007 Η Άσκηση 8 του εργαστηρίου

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

2.1. Εντολές. 2.2. Σχόλια. 2.3. Τύποι Δεδομένων

2.1. Εντολές. 2.2. Σχόλια. 2.3. Τύποι Δεδομένων 2 Βασικές Εντολές 2.1. Εντολές Οι στην Java ακολουθούν το πρότυπο της γλώσσας C. Έτσι, κάθε εντολή που γράφουμε στη Java θα πρέπει να τελειώνει με το ερωτηματικό (;). Όπως και η C έτσι και η Java επιτρέπει

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

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

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

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

Model: ED-CS5000. Ηλεκτρονικός πίνακας ελέγχου για συρόμενες και ανοιγόμενες μονόφυλλες πόρτες.

Model: ED-CS5000. Ηλεκτρονικός πίνακας ελέγχου για συρόμενες και ανοιγόμενες μονόφυλλες πόρτες. Model: ED-CS5000 Ηλεκτρονικός πίνακας ελέγχου για συρόμενες και ανοιγόμενες μονόφυλλες πόρτες. Ο πίνακας είναι συμβατός με χειριστήρια σταθερού (11 32bit) η κυλιόμενου κωδικού στην συχνότητα των 433,92Mhz

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

Αντιγραφή με χρήση της γυάλινης επιφάνειας σάρωσης

Αντιγραφή με χρήση της γυάλινης επιφάνειας σάρωσης Γρήγορη αναφορά Αντιγραφή Δημιουργία αντιγράφων Γρήγορη δημιουργία αντιγράφου 3 Στον πίνακα ελέγχου του εκτυπωτή πατήστε το κουμπί αντίγραφο 4 Εάν τοποθετήσατε το έγγραφο στη γυάλινη επιφάνεια σάρωσης

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

Προγραμματισμός Ι. Δυναμική Διαχείριση Μνήμης. Δημήτρης Μιχαήλ. Ακ. Έτος 2011-2012. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο

Προγραμματισμός Ι. Δυναμική Διαχείριση Μνήμης. Δημήτρης Μιχαήλ. Ακ. Έτος 2011-2012. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Προγραμματισμός Ι Δυναμική Διαχείριση Μνήμης Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ακ. Έτος 2011-2012 Ανάγκη για Δυναμική Μνήμη Στατική Μνήμη Μέχρι τώρα χρησιμοποιούσαμε

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

Διάλεξη 2. Μεταβλητές - Δομές Δεδομένων - Eίσοδος δεδομένων - Έξοδος: Μορφοποίηση - Συναρτήσεις. Διοργάνωση : ΚΕΛ ΣΑΤΜ

Διάλεξη 2. Μεταβλητές - Δομές Δεδομένων - Eίσοδος δεδομένων - Έξοδος: Μορφοποίηση - Συναρτήσεις. Διοργάνωση : ΚΕΛ ΣΑΤΜ Διάλεξη 2 Μεταβλητές - Δομές Δεδομένων - Eίσοδος δεδομένων - Έξοδος: Μορφοποίηση - Συναρτήσεις Διοργάνωση : ΚΕΛ ΣΑΤΜ Διαφάνειες: Skaros, MadAGu Παρουσίαση: MadAGu Άδεια: Creative Commons 3.0 2 Internal

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

Προγραμματισμός Ι. Είσοδος/Έξοδος. Δημήτρης Μιχαήλ. Ακ. Έτος 2009-2010. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο

Προγραμματισμός Ι. Είσοδος/Έξοδος. Δημήτρης Μιχαήλ. Ακ. Έτος 2009-2010. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Προγραμματισμός Ι Είσοδος/Έξοδος Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ακ. Έτος 2009-2010 Είσοδος/Έξοδος Μέχρι τώρα όποτε θέλαμε να διαβάσουμε χρησιμοποιούσαμε πάντα

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

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

Bread Online. Παναγιώτης Ιωαννίδης Επιβλέπων καθηγητής: Μηνάς Δασυγένης Bread Online Σχεδιασμός και μετατροπή μιας απλής οικιακής συσκευής σε επαναπρογραμματιζόμενη συσκευή IP Παναγιώτης Ιωαννίδης Επιβλέπων καθηγητής: Μηνάς Δασυγένης Πανεπιστήμιο Δυτικής Μακεδονίας Τμήμα Μηχανικών

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

Προγραμματισμός και Χρήση Ηλεκτρονικών Υπολογιστών - Βασικά Εργαλεία Λογισμικού

Προγραμματισμός και Χρήση Ηλεκτρονικών Υπολογιστών - Βασικά Εργαλεία Λογισμικού ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΧΗΜΙΚΩΝ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΙΚΟ ΚΕΝΤΡΟ Προγραμματισμός και Χρήση Ηλεκτρονικών Υπολογιστών - Βασικά Εργαλεία Λογισμικού Μάθημα 2ο Aντώνης Σπυρόπουλος v2_061015 Οροι που

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

Project 5: Συνθέτοντας μουσική

Project 5: Συνθέτοντας μουσική Project 5: Συνθέτοντας μουσική Επίπεδο: Μέτριο Κατηγορία: Προγραμματισμός Σύντομη Περιγραφή: Πράγματι το Arduino είναι ικανό να παίξει μουσική! Το μόνο επιπλέον εξάρτημα που απαιτείται είναι Buzzer ή πιεζοηλεκτρικό

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

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

ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2015 ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2015 ΤΕΧΝΟΛΟΓΙΑ (Ι) ΤΕΧΝΙΚΩΝ ΣΧΟΛΩΝ ΘΕΩΡΗΤΙΚΗΣ ΚΑΤΕΥΘΥΝΣΗΣ Μάθημα : Αυτοματισμοί και

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

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

ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2008 ΤΕΧΝΟΛΟΓΙΑ (Ι) ΤΕΧΝΙΚΩΝ ΣΧΟΛΩΝ ΠΡΑΚΤΙΚΗΣ ΚΑΤΕΥΘΥΝΣΗΣ ΜΑΘΗΜΑ : ΑΥΤΟΜΑΤΙΣΜΟΙ ΚΑΙ

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

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ CD-PLUS/4+N

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ CD-PLUS/4+N ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ CD-PLUS/4+N ΜΕΘΟΔΟΙ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ : Με ΙΤ-4Ν Με τηλέφωνο συνδεδεμένο στις εξόδους τηλεφωνικής γραμμής του ΙΤ-4Ν. Μπείτε στο μενού προγραμματισμού. Αν έχετε μπουτονιέρα στο σύστημα, τοποθετείστε

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

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

ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 3, 7, 8 & 9 22/11/07 Ακαδ έτος 2007-2008 ΠΛΗΡΟΦΟΡΙΚΗ Ι Φερεντίνος 22/11/07 ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με ΑΜ σε 3, 7, 8 & 9 22/11/07 Παράδειγμα με if/else if και user input: import javautil*; public class Grades public

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

ΟΔΗΓΙΕΣ ΧΡΗΣΗΣ ΜΙΝΙ DV 100 WP

ΟΔΗΓΙΕΣ ΧΡΗΣΗΣ ΜΙΝΙ DV 100 WP ΟΔΗΓΙΕΣ ΧΡΗΣΗΣ ΜΙΝΙ DV 100 WP 0 Mini Αδιάβροχη Βιντεοκάμερα Εισαγωγή Η DV 100 WP είναι μια πολύ μικρή βιντεοκάμερα η οποία χρησιμεύει κυρίως για την εγγραφή βίντεο σε εξωτερικούς χώρους. Λόγω της εύκολης

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

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

ΠΑΛΜΟΓΡΑΦΟΣ ΤΡΟΦΟ ΟΤΙΚΟ ΓΕΝΝΗΤΡΙΑ ΟΡΓΑΝΑ ΕΡΓΑΣΤΗΡΙΟΥ 1 Εργαστήριο Κινητών Ραδιοεπικοινωνιών, ΣΗΜΜΥ ΕΜΠ Εισαγωγή στις Τηλεπικοινωνίες ΟΡΓΑΝΑ ΕΡΓΑΣΤΗΡΙΟΥ ΠΑΛΜΟΓΡΑΦΟΣ ΤΡΟΦΟ ΟΤΙΚΟ ΓΕΝΝΗΤΡΙΑ 2 Εργαστήριο Κινητών Ραδιοεπικοινωνιών, ΣΗΜΜΥ ΕΜΠ

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

Στοιχεία αρχιτεκτονικής μικροεπεξεργαστή

Στοιχεία αρχιτεκτονικής μικροεπεξεργαστή Στοιχεία αρχιτεκτονικής μικροεπεξεργαστή Αριθμός bit δίαυλου δεδομένων (Data Bus) Αριθμός bit δίαυλου διευθύνσεων (Address Bus) Μέγιστη συχνότητα λειτουργίας (Clock Frequency) Τύποι εντολών Αριθμητική

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

Περιεχόμενα. Περιβάλλον ηλεκτρονικού υπολογιστή...9 Επιφάνεια εργασίας...12 Διαχείριση αρχείων...15 Ιοί Η/Υ...21 Διαχείριση εκτυπώσεων...

Περιεχόμενα. Περιβάλλον ηλεκτρονικού υπολογιστή...9 Επιφάνεια εργασίας...12 Διαχείριση αρχείων...15 Ιοί Η/Υ...21 Διαχείριση εκτυπώσεων... Περιεχόμενα Περιβάλλον ηλεκτρονικού υπολογιστή...9 Επιφάνεια εργασίας...12 Διαχείριση αρχείων...15 Ιοί Η/Υ...21 Διαχείριση εκτυπώσεων...22 Περιβάλλον ηλεκτρονικού υπολογιστή...23 Επιφάνεια εργασίας...26

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

Αλγοριθμική & Δομές Δεδομένων- Γλώσσα Προγραμματισμού Ι (PASCAL)

Αλγοριθμική & Δομές Δεδομένων- Γλώσσα Προγραμματισμού Ι (PASCAL) Αλγοριθμική & Δομές Δεδομένων- Γλώσσα Προγραμματισμού Ι (PASCAL) Pascal- Εισαγωγή Η έννοια του προγράμματος Η επίλυση ενός προβλήματος με τον υπολογιστή περιλαμβάνει, όπως έχει ήδη αναφερθεί, τρία εξίσου

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

FHL Wind Data Logger By FURUNO Hellas SA

FHL Wind Data Logger By FURUNO Hellas SA FHL Wind Data Logger By FURUNO Hellas SA FHL Wind Data logger. Γενικά Το FHL Wind Data logger ειναι ενα προγραμμα που λαμβάνει, απεικονίσει και καταγραφει δεδομενα μέρους του ναυτιλιακού εξοπλισμου γέφυρας.

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

Ανάπτυξη και Σχεδίαση Λογισμικού

Ανάπτυξη και Σχεδίαση Λογισμικού Ανάπτυξη και Σχεδίαση Λογισμικού Η γλώσσα προγραμματισμού C Γεώργιος Δημητρίου Βασικά Στοιχεία Το αλφάβητο της C Οι βασικοί τύποι της C Δηλώσεις μεταβλητών Είσοδος/Έξοδος Βασικές εντολές της C Αλφάβητο

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

Πληρουορική Γ Γσμμασίοσ

Πληρουορική Γ Γσμμασίοσ Πληρουορική Γ Γσμμασίοσ Προγραμματισμός και Αλγόριθμοι Από το και τημ Χελώμα στημ Ευριπίδης Βραχνός http://evripides.mysch.gr/ 2014 2015 1 Προγραμματισμός Ζάννειο Πρότυπο Πειραματικό Γυμνάσιο Πειραιά Ενότητα:

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

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

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

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

Εγχειρίδιο Έναρξης. Vodafone Mobile Broadband Hotspot Vodafone MiFi 2352

Εγχειρίδιο Έναρξης. Vodafone Mobile Broadband Hotspot Vodafone MiFi 2352 Εγχειρίδιο Έναρξης Vodafone Mobile Broadband Hotspot Vodafone MiFi 2352 Καλώς ήρθατε στον κόσμο των κινητών επικοινωνιών 1 Καλώς ήρθατε 1 Απαιτήσεις συστήματος 2 Γενική επισκόπηση συσκευής 3 Γρήγορο ξεκίνημα

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

3 Αλληλεπίδραση Αντικειμένων

3 Αλληλεπίδραση Αντικειμένων Αφαίρεση και Αρθρωσιμότητα 3 Αλληλεπίδραση Αντικειμένων Πώς συνεργάζονται τα αντικείμενα που δημιουργούμε Αφαίρεση (abstraction) είναι η δυνατότητα να αγνοούμε τις λεπτομέρειες και να εστιάζουμε την προσοχή

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

Εξοικείωση με το πρόγραμμα DEV C++ Επικοινωνία Χρήστη - Υπολογιστή

Εξοικείωση με το πρόγραμμα DEV C++ Επικοινωνία Χρήστη - Υπολογιστή Εξοικείωση με το πρόγραμμα DEV C++ Επικοινωνία Χρήστη - Υπολογιστή Δημιουργία Νέου αρχείου Από το μενού προγραμμάτων ανοίγετε το DEV C++ Επιλέγετε File-> New-> Source File (συντόμευση πληκτρολογίου Ctrl+N)

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

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

Σχεδιασμός και υλοποίηση κυκλώματος μέτρησης κατανάλωσης ισχύος Σχεδιασμός και υλοποίηση κυκλώματος μέτρησης κατανάλωσης ισχύος Φοιτητής Φετινίδης Αναστάσιος Επιβλέπων Δασυγένης Μηνάς Μάρτιος 2014 1 Περιεχόμενα παρουσίασης Εισαγωγή Θεωρητικό υπόβαθρο Υλικό μέρος του

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

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

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

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

Εισαγωγή στην γλώσσα προγραμματισμού C

Εισαγωγή στην γλώσσα προγραμματισμού C Εισαγωγή στην γλώσσα προγραμματισμού C Χαρακτηριστικά της C Ιδιαίτερα δημοφιλής Έχει χρησιμοποιηθεί για τον προγραμματισμό ευρέος φάσματος συστημάτων και εφαρμογών Γλώσσα μετρίου επιπέδου Φιλοσοφία: Ο

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

Κύρια μνήμη. Μοντέλο λειτουργίας μνήμης. Ένα τυπικό υπολογιστικό σύστημα σήμερα. Οργάνωση Υπολογιστών (ΙI)

Κύρια μνήμη. Μοντέλο λειτουργίας μνήμης. Ένα τυπικό υπολογιστικό σύστημα σήμερα. Οργάνωση Υπολογιστών (ΙI) Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Εισαγωγή στην Επιστήμη των Υπολογιστών 015-16 Οργάνωση Υπολογιστών (ΙI) (κύρια και ) http://di.ionio.gr/~mistral/tp/csintro/ Μ.Στεφανιδάκης Ένα τυπικό υπολογιστικό

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

ΜΑΗΣ 2007 - ΕΞΕΤΑΣΤΙΚΟ ΔΟΚΙΜΙΟ

ΜΑΗΣ 2007 - ΕΞΕΤΑΣΤΙΚΟ ΔΟΚΙΜΙΟ ΜΑΗΣ 2007 - ΕΞΕΤΑΣΤΙΚΟ ΔΟΚΙΜΙΟ ΟΔΗΓΙΕΣ: ΝΑ ΑΠΑΝΤΗΣΕΤΕ ΣΕ ΟΛΕΣ ΤΙΣ ΕΡΩΤΗΣΕΙΣ. Το εξεταστικό δοκίμιο αποτελείται από δύο Ενότητες Α και Β. ΕΝΟΤΗΤΑ Α - Αποτελείται από δέκα (10) ερωτήσεις. Κάθε ορθή απάντηση

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

ΗΥ220: Εργαστήριο ψηφιακών κυκλωμάτων

ΗΥ220: Εργαστήριο ψηφιακών κυκλωμάτων Πανεπιστήμιο Κρήτης Τμήμα Επιστήμης Υπολογιστών ΗΥ220: Εργαστήριο ψηφιακών κυκλωμάτων Γιώργος Δημητρακόπουλος Μονάδες επεξεργασίας δεδομένων και ο έλεγχος τους Δόμηση σύνθετων κυκλωμάτων 1. Γενική περιγραφή

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

PBI-192. Οδηγίες Χρήσης. Paradox to KNX-BUS Interface

PBI-192. Οδηγίες Χρήσης. Paradox to KNX-BUS Interface PBI-192 Paradox to KNX-BUS Interface Οδηγίες Χρήσης GDS Intelligence in Buildings Ελ. Βενιζέλου 116 Νέα Ερυθραία, 14671 Τηλ: +30 2108071288 Email: info@gds.com.gr Web: gds.com.gr Περιεχόμενα 1 Περιγραφή

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

Βιντεοπροβολέας δικτύου - Οδηγός χρήσης

Βιντεοπροβολέας δικτύου - Οδηγός χρήσης Βιντεοπροβολέας δικτύου - Οδηγός χρήσης Πίνακας περιεχομένων Προετοιμασία...3 Σύνδεση του βιντεοπροβολέα με τον υπολογιστή σας...3 Ενσύρματη σύνδεση... 3 Εξ αποστάσεως έλεγχος του βιντεοπροβολέα μέσω προγράμματος

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

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

Περιεχόµενα. I Βασικές Γνώσεις 1 Περιεχόµενα I Βασικές Γνώσεις 1 1 Μοντελοποίηση Προγραµµάτων 3 1.1 Ψευδογλώσσα....................... 6 1.2 Διαγράµµατα Ροής..................... 6 1.3 Παραδείγµατα σε Ψευδογλώσσα και Διαγράµµατα Ροής.

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

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

ΑΥΤΟΜΑΤΟ ΣΥΣΤΗΜΑ ΕΝΑΛΛΑΓΗΣ ΤΑΧΥΤΗΤΩΝ ΣΕ ΠΟΔΗΛΑΤΟ Τ.Ε.Ι. ΠΕΙΡΑΙΑ ΤΜΗΜΑ ΑΥΤΟΜΑΤΙΣΜΟΥ ΑΥΤΟΜΑΤΟ ΣΥΣΤΗΜΑ ΕΝΑΛΛΑΓΗΣ ΤΑΧΥΤΗΤΩΝ ΣΕ ΠΟΔΗΛΑΤΟ ΟΝΟΜΑΤΑ ΦΟΙΤΗΤΩΝ: ΒΟΥΡΔΕΡΗΣ ΑΝΤΩΝΙΟΣ Α.Μ: 30086 ΙΩΑΝΝΟΥ ΙΩΑΝΝΗΣ Α.Μ: 33359 ΕΠΙΒΛΕΠΩΝ ΚΑΘΗΓΗΤΗΣ: ΝΙΚΟΛΑΟΥ ΓΡΗΓΟΡΗΣ Ιστορική

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

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

ΘΕΜΑ : ΨΗΦΙΑΚΑ ΗΛΕΚΤΡΟΝΙΚΑ DIGITAL ELECTRONICS ΘΕΜΑ : ΨΗΦΙΑΚΑ ΗΛΕΚΤΡΟΝΙΚΑ DIGITAL ELECTRONICS ΔΙΑΡΚΕΙΑ: 1 περιόδους 16/11/2011 10:31 (31) καθ. Τεχνολογίας ΚΑΤΗΓΟΡΙΕΣ ΜΕΓΕΘΩΝ ΑΝΑΛΟΓΙΚΟ (ANALOGUE) ΨΗΦΙΑΚΟ (DIGITAL) 16/11/2011 10:38 (38) ΕΙΣΑΓΩΓΗ ΣΤΑ

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

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

ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2014 ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 201 ΤΕΧΝΟΛΟΓΙΑ (Ι) ΤΕΧΝΙΚΩΝ ΣΧΟΛΩΝ ΘΕΩΡΗΤΙΚΗΣ ΚΑΤΕΥΘΥΝΣΗΣ Μάθημα : Μικροϋπολογιστές

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

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

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

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

SD -1 Ο ΗΓΙΕΣ ΧΡΗΣΗΣ

SD -1 Ο ΗΓΙΕΣ ΧΡΗΣΗΣ SD -1 Ο ΗΓΙΕΣ ΧΡΗΣΗΣ SD 1 2 SD 1 3 1. ΙΑΚΟΠΤΗΣ ΕΝΕΡΓΟΠΟΙΗΣΗΣ ΤΗΣ ΣΥΣΚΕΥΗΣ Όταν ο διακόπτης είναι σε θέση ΟΝ η συσκευή είναι ενεργοποιημένη. 2. ΚΑΛΩ ΙΟ ΤΡΟΦΟ ΟΣΙΑΣ ΑΠΟ ΤΟ ΗΛΕΚΤΡΙΚΟ ΙΚΤΥΟ 3. ΣΗΜΕΙΟ ΓΕΙΩΣΗΣ

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

ΠΕΡΙΕΧΟΜΕΝΑ ΜΕΡΟΣ Α : ΘΕΜΑΤΑ ΒΑΣΗΣ 1. ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ...11 2. ΑΡΙΘΜΗΤΙΚΑ ΣΥΣΤΗΜΑΤΑ...30

ΠΕΡΙΕΧΟΜΕΝΑ ΜΕΡΟΣ Α : ΘΕΜΑΤΑ ΒΑΣΗΣ 1. ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ...11 2. ΑΡΙΘΜΗΤΙΚΑ ΣΥΣΤΗΜΑΤΑ...30 ΠΕΡΙΕΧΟΜΕΝΑ ΜΕΡΟΣ Α : ΘΕΜΑΤΑ ΒΑΣΗΣ 1. ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ...11 1.1 Τι είναι Πληροφορική;...11 1.1.1 Τι είναι η Πληροφορική;...12 1.1.2 Τι είναι ο Υπολογιστής;...14 1.1.3 Τι είναι το Υλικό και το

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

Κεντρική Μονάδα Επεξεργασίας (ΚΜΕ) Τμήματα ΚΜΕ (CPU) Ένα τυπικό υπολογιστικό σύστημα σήμερα. Οργάνωση Υπολογιστών (Ι)

Κεντρική Μονάδα Επεξεργασίας (ΚΜΕ) Τμήματα ΚΜΕ (CPU) Ένα τυπικό υπολογιστικό σύστημα σήμερα. Οργάνωση Υπολογιστών (Ι) Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Εισαγωγή στην Επιστήμη των Υπολογιστών 2015-16 Οργάνωση Υπολογιστών (Ι) (η κεντρική μονάδα επεξεργασίας) http://di.ionio.gr/~mistral/tp/csintro/ Μ.Στεφανιδάκης Ένα

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

Τροφοδοσία : 3,3V, 5V Αυτή η πινακίδα επιτρέπει τη σύνδεση και των 8 απολήξεων (pins) μίας θύρας E- blocks με καλώδια με τη χρήση τερματισμών με

Τροφοδοσία : 3,3V, 5V Αυτή η πινακίδα επιτρέπει τη σύνδεση και των 8 απολήξεων (pins) μίας θύρας E- blocks με καλώδια με τη χρήση τερματισμών με ΠΙΝΑΚΙΔΑ ΤΕΡΜΑΤΙΣΜΩΝ ΕΒ002 Αυτή η πινακίδα επιτρέπει τη σύνδεση και των 8 απολήξεων (pins) μίας θύρας E- blocks με καλώδια με τη χρήση τερματισμών με βίδες. ΠΙΝΑΚΙΔΑ ΑΙΣΘΗΤΗΡΩΝ ΕΒ003 Αυτή η πινακίδα E-block

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

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

Η ΑΞΙΟΠΟΙΗΣΗ ΤΟΥ ΕΚΠΑΙΔΕΥΤΙΚΟΥ ΛΟΓΙΣΜΙΚΟΥ COACH 5 ΣΤΗΝ ΔΙΔΑΣΚΑΛΙΑ ΜΑΘΗΜΑΤΩΝ ΕΙΔΙΚΟΤΗΤΑΣ ΤΟΥ ΗΛΕΚΤΡΟΝΙΚΟΥ ΤΟΜΕΑ ΤΩΝ Τ.Ε.Ε. 2 Ο ΣΥΝΕΔΡΙΟ ΣΤΗ ΣΥΡΟ ΤΠΕ ΣΤΗΝ ΕΚΠΑΙΔΕΥΣΗ 485 Η ΑΞΙΟΠΟΙΗΣΗ ΤΟΥ ΕΚΠΑΙΔΕΥΤΙΚΟΥ ΛΟΓΙΣΜΙΚΟΥ COACH 5 ΣΤΗΝ ΔΙΔΑΣΚΑΛΙΑ ΜΑΘΗΜΑΤΩΝ ΕΙΔΙΚΟΤΗΤΑΣ ΤΟΥ ΗΛΕΚΤΡΟΝΙΚΟΥ ΤΟΜΕΑ ΤΩΝ Τ.Ε.Ε. Μπουλταδάκης Στέλιος Εκπαιδευτικός

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

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

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

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

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

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

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

Εισαγωγή στην επιστήμη των υπολογιστών. Υπολογιστές και Δεδομένα Κεφάλαιο 4ο Πράξεις με μπιτ

Εισαγωγή στην επιστήμη των υπολογιστών. Υπολογιστές και Δεδομένα Κεφάλαιο 4ο Πράξεις με μπιτ Εισαγωγή στην επιστήμη των υπολογιστών Υπολογιστές και Δεδομένα Κεφάλαιο 4ο Πράξεις με μπιτ 1 Πράξεις με μπιτ 2 ΑριθμητικέςΠράξειςσεΑκέραιους Πρόσθεση, Αφαίρεση, Πολλαπλασιασμός, Διαίρεση Ο πολλαπλασιασμός

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

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

ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2012 ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2012 ΤΕΧΝΟΛΟΓΙΑ (Ι) ΤΕΧΝΙΚΩΝ ΣΧΟΛΩΝ ΘΕΩΡΗΤΙΚΗΣ ΚΑΤΕΥΘΥΝΣΗΣ Μάθημα : Μικροϋπολογιστές

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

Οργάνωση Υπολογιστών (Ι)

Οργάνωση Υπολογιστών (Ι) Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Εισαγωγή στην Επιστήμη των Υπολογιστών 2014-15 Οργάνωση Υπολογιστών (Ι) (η κεντρική μονάδα επεξεργασίας) http://di.ionio.gr/~mistral/tp/csintro/ Μ.Στεφανιδάκης Ένα

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

Οδηγίες εγκατάστασης και χρήσης (v 0.9.3)

Οδηγίες εγκατάστασης και χρήσης (v 0.9.3) Ultima-1 Οδηγίες εγκατάστασης και χρήσης (v 0.9.3) E05.06.01.GR.0.9.3.10.2.2015 2/28 ΕΥΡΕΤΗΡΙΟ 1. ΓΕΝΙΚΕΣ ΠΛΗΡΟΦΟΡΙΕΣ...5 2. ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΣΥΣΤΗΜΑΤΟΣ...7 3. ΤΕΧΝΙΚΑ ΧΑΡΑΚΤΗΡΙΣΤΙΚΑ...13 4. ΕΓΚΑΤΑΣΤΑΣΗ...15

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