ΕΝΟΤΗΤΑ 12 ΣΕΙΡΙΑΚΗ ΔΙΕΠΑΦΗ

Σχετικά έγγραφα
ΕΝΟΤΗΤΑ 3 ΕΚΦΡΑΣΕΙΣ, ΑΝΑΜΟΝΕΣ (DELAYS), ΗΧΟΙ

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

Προγραμματισμός Η/Υ (ΤΛ2007 )

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

ΥΠΟΛΟΓΙΣΤΕΣ Ι. Τύποι δεδομένων ΤΥΠΟΙ ΔΕΔΟΜΕΝΩΝ ΚΑΙ ΠΡΑΞΕΙΣ. Παράδειγμα #1. Πράξεις μεταξύ ακεραίων αριθμών

3ο σετ σημειώσεων - Πίνακες, συμβολοσειρές, συναρτήσεις

Προγραμματισμός Η/Υ 1 (Εργαστήριο)

ΥΠΟΛΟΓΙΣΤΕΣ ΙΙ. Τύποι δεδομένων ΤΥΠΟΙ ΔΕΔΟΜΕΝΩΝ ΠΡΑΞΕΙΣ ΜΕΤΑΒΛΗΤΕΣ. Ακέραιοι αριθμοί (int) Πράξεις μεταξύ ακεραίων αριθμών

ΥΠΟΛΟΓΙΣΤΕΣ ΙI. Άδειες Χρήσης. Τύποι δεδομένων, μεταβλητές, πράξεις. Διδάσκοντες: Αν. Καθ. Δ. Παπαγεωργίου, Αν. Καθ. Ε. Λοιδωρίκης

ΕΝΟΤΗΤΑ 6 LCD ΟΘΟΝΕΣ

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΜΑΘΗΜΑ 3 Ο. Σταθερές-Παράμετροι-Μεταβλητές Αριθμητικοί & Λογικοί Τελεστές Δομή ελέγχου-επιλογής Σύνθετοι έλεγχοι

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

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

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

Γ ε ν ι κ ό Λ ύ κ ε ι ο Ε λ ε υ θ ε ρ ο ύ π ο λ η ς. Α λ γ ό ρ ι θ μ ο ι

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

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

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

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

Δομημένος Προγραμματισμός

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

Υπολογιστές Ι. Άδειες Χρήσης. Τύποι δεδομένων. Διδάσκοντες: Αν. Καθ. Δ. Παπαγεωργίου, Αν. Καθ. Ε. Λοιδωρίκης

ΣΥΝΑΡΤΗΣΕΙΣ. Η σύνταξη μιας συνάρτησης σ ένα κελί έχει την γενική μορφή: =όνομα_συνάρτησης(όρισμα1; όρισμα2;.)

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

5 &6. Τύποι δεδομένων, τελεστές και

Εργαστήριο 2ο. Περίγραμμα Εργαστηριακής Άσκησης

Γλώσσα Προγραμματισμού C

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

Δομημένος Προγραμματισμός. Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων

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

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

Προγραμματισμός Η/Υ 1 (Εργαστήριο)

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

3 ο Εργαστήριο Μεταβλητές, Τελεστές

Εντολές εισόδου - εξόδου. Εισαγωγή στη C++

Οικονόμου Βαγγέλησ Διάλεξη Νο 2. Δομημένοσ Προγραμματιςμόσ - Διάλεξη 2

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

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

Περιεχόμενα. Πρόλογος... 21

Εισαγωγή στον Προγραµµατισµό. Διάλεξη 2 η : Βασικές Έννοιες της γλώσσας προγραµµατισµού C Χειµερινό Εξάµηνο 2011

Εισαγωγή στους Η/Υ. Γιώργος Δημητρίου. Μάθημα 7 και 8: Αναπαραστάσεις. Πανεπιστήμιο Θεσσαλίας - Τμήμα Πληροφορικής

Σκοπός. Εργαστήριο 6 Εντολές Επανάληψης Τα Εργαστηριακά Προγράμματα. Η δομή Επιλογής στη PASCAL. H δομή Επανάληψης στη PASCAL. Η εντολή επανάληψης for

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

Η βασική συνάρτηση προγράμματος main()

Κεφάλαιο 6: Συναρτήσεις IΙΙ Αρθρωτός Προγραμματισμός. (Διάλεξη 14) Παράδειγμα: Αλλαγή τιμής μεταβλητής μόνο τοπικά

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

Προγραμματισμός Η/Υ 1 (Εργαστήριο)

Εισαγωγή στους Αλγόριθμους και τον Προγραμματισμό. 4η Διάλεξη Πίνακες Συναρτήσεις

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

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

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

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

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

Η-Υ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ. Εργαστήριο 2 Εντολές Εισόδου/Εξόδου Τελεστές. Δρ. Γιώργος Λαμπρινίδης 23/10/2015 Η - Υ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ 1

Προγραµµατιστικές Τεχνικές

Η πρώτη παράμετρος είναι ένα αλφαριθμητικό μορφοποίησης

ΣΥΝΑΡΤΗΣΕΙΣ Παραδείγματα χρήσης συναρτήσεων

Παρακάτω δίνεται o σκελετός προγράμματος σε γλώσσα C. Σχολιάστε κάθε γραμμή του κώδικα.

Γ7.1 Επανάληψη ύλης Β Λυκείου. Γ Λυκείου Κατεύθυνσης

Σκοπός. Αλγεβρικοί και Λογικοί Υπολογισμοί στη PASCAL

Διαδικασιακός Προγραμματισμός

ΕΡΓΑΣΤΗΡΙΟ 6: Συναρτήσεις και Αναδρομή

Κεφάλαιο 7 Βασικά Θέματα Προγραμματισμού. Εφαρμογές Πληροφορικής Κεφ. 7 Καραμαούνας Πολύκαρπος 1

Κεφάλαιο ΙV: Δείκτες και πίνακες. 4.1 Δείκτες.

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

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

Τύποι δεδομένων, τελεστές, μεταβλητές

Ηβασικήσυνάρτηση προγράμματος main()

Προγραμματισμός Ι (ΗΥ120)

Βασικές έννοιες προγραμματισμού

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

Κεφάλαιο 2.5: Τύποι εδοµένων, Τελεστές και Αριθµητικές Εκφράσεις. ( ιαλέξεις 5-6) ιδάσκων: ηµήτρης Ζεϊναλιπούρ

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

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

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

Εισαγωγή στους Ηλεκτρονικούς Υπολογιστές. 5 ο Μάθημα. Λεωνίδας Αλεξόπουλος Λέκτορας ΕΜΠ. url:

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

Εισαγωγή στην Επιστήμη Υπολογιστών. Εισαγωγή στην Python

Α' Εξάμηνο ΕΙΣΑΓΩΓΗ ΣΤΟ ΔΟΜΗΜΕΝΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ

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

επιµέλεια Θοδωρής Πιερράτος

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

Αντικειμενοστρεφής Προγραμματισμός -Python. Κ.Π. Γιαλούρης

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

Διαδικασιακός Προγραμματισμός

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

Κεφάλαιο 6: Συναρτήσεις IΙΙ Αρθρωτός Προγραμματισμός. Δείκτες (Διάλεξη 14)

3.1 Αριθμητικοί και Λογικοί Τελεστές, Μετατροπές Τύπου (Casting)

3) το παράθυρο Πίνακας τιμών όπου εμφανίζονται οι τιμές που παίρνουν οι παράμετροι

Εξαμηνιαία Εργασία 2013 Προγραμματίζοντας τον Arduino στη C Μέρος Β : Επικοινωνία Υπολογιστή με Μικροελεγκτή

Προγραμματισμός Υπολογιστών & Υπολογιστική Φυσική

Κεφάλαιο 1. Τι θα μάθουμε σήμερα: -AND, OR, NOT. -Ενσωματωμένες συναρτήσεις. -Μαθηματικοί τελεστές -ΤΕΛΕΣΤΕΣ DIV ΚΑΙ MOD. -Προτεραιότητα πράξεων

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

Εφαρμογές Αναλογικών Ε/Ε PWM (pulse Width Modulation)

Βασικά στοιχεία γλώσσας προγραμματισμού. Σπάχος Κυριάκος Καθηγητής Πληροφορικής ΠΕ19

Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον. Εκχώρηση Τιμών

4 ο Εργαστήριο Τυχαίοι Αριθμοί, Μεταβλητές Συστήματος

Δομημένος Προγραμματισμός. Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων

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

Στοιχειώδης προγραμματισμός σε C++

Transcript:

ΕΝΟΤΗΤΑ 12 ΣΕΙΡΙΑΚΗ ΔΙΕΠΑΦΗ

Στόχος και Περίγραμμα της Ενότητας 12 Στόχος της παρουσίασης Παρουσίαση της βασικής ιδέα και απλών παραδειγμάτων που δίνουν στο Arduino τη δυνατότητα να επικοινωνήσει με οποιαδήποτε συσκευή ή περιφερειακό. Επεξήγηση του τι είναι η επικοινωνία, και ειδικότερα, η σειριακή επικοινωνία. Παρουσίαση συναρτήσεων επικοινωνίας που χρησιμοποιούνται σ αυτή την ενότητα. (βασικές αρχές) Παρουσίαση συναρτήσεων αποστολής δεδομένων που χρησιμοποιούνται σ αυτή την ενότητα. (βασικές αρχές) Παρουσίαση συναρτήσεων λήψης δεδομένων που χρησιμοποιούνται σ αυτή την ενότητα. (βασικές αρχές) Παρουσίαση άλλων συναρτήσεων γενικού σκοπού. Ενότητα εξάσκησης. Σύνοψη 2 2

Επικοινωνία Η επικοινωνία μέσω της Σειριακής Διεπαφής στο Arduino επιτυγχάνεται μέσω του πρωτοκόλλου UART. Δύο καλώδια: Tx (για αποστολή δεδομένων) και RX (για τη λήψη τους). 3 3

Προγραμματισμός Συναρτήσεις Επικοινωνίας Εγκαθίδρυση Επικοινωνίας Η συνάρτηση Serial.begin() Σύνταξη: Serial.begin(bauds, SERIAL_NPS) bauds: Ορίζει την ταχύτητα αποστολής δεδομένων σε bit ανά δευτερόλεπτο (baud) για τη σειριακή μεταφορά δεδομένων. SERIAL_NPS: Προαιρετικό. Επιτρέπει τη ρύθμιση της κωδικοποίησης χαρακτήρων: Η συνάρτηση Serial.end() N = Nº bit για κάθε χαρακτήρα: 5, 6, 7 ή 8 (προεπιλεγμένη τιμή). P = Ισοτιμία: E = άρτια, O = περιττή N = ημιτονική (προεπιλεγμένη τιμή). S = Nº των bit «τερματισμού» στο τέλος κάθε χαρακτήρα: 2 ή 1 (προεπιλεγμένη τιμή). Σύνταξη: Serial.end() 4 4

Προγραμματισμός Συναρτήσεις Αποστολής Δεδομένων Αποστολή Δεδομένων Η συνάρτηση Serial.print() Σύνταξη 1: Serial.print(value) value: η τιμή προς εκτύπωση οποιοσδήποτε τύπος δεδομένων. Σύνταξη 2: Serial.print(value,format) value: η τιμή προς εκτύπωση οποιοσδήποτε τύπος δεδομένων. format: ορίζει την αριθμητική βάση για τύπους ακεραίων ή αριθμό δεκαδικών για τύπους κινητής υποδιαστολής. Η συνάρτηση Serial.println() 5 5

Λήψη Δεδομένων Bytes που διαβάσθηκαν Ακροδέκτης RX Bytes που ελήφθησαν 6 6

Προγραμματισμός Συναρτήσεις Λήψης Δεδομένων Μετάδοση Δεδομένων Η συνάρτηση Serial.available() Σύνταξη: Serial.available() Η συνάρτηση Serial.read() Σύνταξη : Serial.read() Η συνάρτηση Serial.parseInt() Σύνταξη : Serial.parseInt() Η συνάρτηση Serial.parseFloat() Σύνταξη : Serial.parseFloat() 7 7

Προγραμματισμός Άλλες Συναρτήσεις Γενικού Σκοπού Η συνάρτηση pulsein() Σύνταξη : pulsein(pin, level, time) pin: ο αριθμός του ακροδέκτη από τον οποίο θέλουμε να διαβάσουμε για τυχόν παλμούς. (int) value: τύπος του παλμού που θέλουμε να εντοπίσουμε: είτε σήμα επιπέδου 1 ή επιπέδου 0. (int) timeout (προαιρετικό): ο αριθμός των μικροδευτερολέπτων για τα οποία αναμένουμε τον παλμό να ολοκληρωθεί: η συνάρτηση επιστρέφει 0 εάν δε λάβει κάποιον παλμό μέσα σε αυτό το χρονικό περιθώριο. 8 8

Προγραμματισμός Άλλες Συναρτήσεις Γενικού Σκοπού Οι συναρτήσεις min() και max(). Σύνταξη: min(a, B) Σύνταξη: max(a, B) A: ο πρώτος αριθμός, οποιοσδήποτε τύπος δεδομένων. B: ο δεύτερος αριθμός, οποιοσδήποτε τύπος δεδομένων. Η συνάρτηση abs() Σύνταξη: abs(n) n: ο αριθμός. 9 9

Προγραμματισμός Άλλες Συναρτήσεις Γενικού Σκοπού Η συνάρτηση pow() Σύνταξη: pow(base,exponent) base: ο αριθμός (float) exponent: η δύναμη στην οποία θα τον υψώσουμε (float) Η συνάρτηση sqrt() Σύνταξη: sqrt(n) n: ο αριθμός, οποιοσδήποτε τύπος δεδομένων. Οι συναρτήσεις sin(), cos(), tan() Σύνταξη: sin(n) Σύνταξη: cos(n) Σύνταξη: tan(n) n: αυτή είναι η τιμή της γωνίας σε rad. 10 10

ΕΝΟΤΗΤΑ ΕΞΑΣΚΗΣΗΣ ΠΑΡΑΔΕΙΓΜΑ 1: Εμφάνιση Hello. 11 11

ΕΝΟΤΗΤΑ ΕΞΑΣΚΗΣΗΣ ΠΑΡΑΔΕΙΓΜΑ 2: Αριθμητικά Συστήματα 12 12

ΕΝΟΤΗΤΑ ΕΞΑΣΚΗΣΗΣ ΠΑΡΑΔΕΙΓΜΑ 3: Κομπιουτεράκι Για να προσομοιώσουμε ένα κομπιουτεράκι ικανό να εκτελέσει: πρόσθεση, αφαίρεση, πολλαπλασιασμό και διαίρεση δύο ακεραίων. Υπάρχουν δύο ενδιαφέρουσες διαστάσεις σ αυτή την άσκηση: Η επικοινωνία είναι αμφίδρομη Δημιουργία και χρήση συναρτήσεων 13 13

ΕΝΟΤΗΤΑ ΕΞΑΣΚΗΣΗΣ ΠΑΡΑΔΕΙΓΜΑ 3: Κομπιουτεράκι (συνέχεια) Ένα απόσπασμα από το πρόγραμμα το οποίο καλεί τη συνάρτηση: 14 14

ΕΝΟΤΗΤΑ ΕΞΑΣΚΗΣΗΣ Προτάσεις και συμβουλές για τη σχεδίαση και υλοποίηση των δικών σας συναρτήσεων: Ορίστε και γράψτε τις συναρτήσεις σας στην αρχή του κώδικά σας, πριν ακόμα και από τη συνάρτηση void main(). Δε μπορείτε να χρησιμοποιήσετε μία συνάρτηση που δεν έχετε προηγουμένως ορίσει. Το όνομα της συνάρτησης πρέπει να ξεκινάει με ένα γράμμα, ενώ δε μπορούν να υπάρχουν και κενά μέσα σ αυτό. Όλες οι εντολές που θα συμπεριλάβετε στη συνάρτηση που θα δημιουργήσετε, πρέπει να εσωκλείονται σε άγκιστρα ({ }). Ο τύπος της συνάρτησης και ο τύπος δεδομένων που επιστρέφει πρέπει να είναι ο ίδιος. Η δήλωση return τερματίζει την εκτέλεση της συνάρτησης Μία συνάρτηση μπορεί να δεχτεί και είσοδο. Οι παράμετροι αυτοί «περνάνε» από το κύριο σώμα του προγράμματος που καλεί τη συνάρτηση. Το κύριο σώμα του προγράμματος, ή μία συνάρτηση, μπορούν να καλέσουν μία άλλη συνάρτηση και να εκτελέσουν όλες τις εντολές που αυτή περιέχει όσες φορές είναι απαραίτητο. 15 15

ΕΝΟΤΗΤΑ 12 ΣΕΙΡΙΑΚΗ ΔΙΕΠΑΦΗ Σας ευχαριστώ!