ΕΚΦΡΑΣΕΙΣ, ΑΝΑΜΟΝΕΣ (DELAYS), ΗΧΟΙ

Slides:



Advertisements
Παρόμοιες παρουσιάσεις
Βασικές έννοιες αλγορίθμων
Advertisements

Το αλφαριθμητικό (string)
Κεφάλαιο Τμηματικός προγραμματισμός
Κλάσματα.
ΠΙΝΑΚΕΣ ΜΑΘΗΜΑ 6.
Ο Ηλεκτρονικός Υπολογιστής
ΥΠΟΠΡΟΓΡΑΜΜΑΤΑ ΤΜΗΜΑΤΙΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ
Προγραμματισμός Ι Πίνακες •Ο πίνακας είναι μία συλλογή μεταβλητών ίδιου τύπου, οι οποίες είναι αποθηκευμένες σε διαδοχικές θέσεις μνήμης. Χρησιμοποιείται.
ΜΑΘ 3122 (106) Γλώσσα προγραμματισμού
Μάθημα : Βασικά Στοιχεία της Γλώσσας Java
ΤΕΧΝΙΚΕΣ Αντικειμενοστραφουσ προγραμματισμου
Τύποι πραγματικών αριθμών
Συναρτήσεις Κληση/Επιστροφη Παραμετροι
Η αλληλουχία των ενεργειών δεν είναι πάντα μία και μοναδική!!!
ΜΕΤΑΒΛΗΤΕΣ - ΤΥΠΟΙ ΜΑΘΗΜΑ 3.
ΤΕΛΕΣΤΕΣ II ΜΑΘΗΜΑ 5.
Η ΓΛΩΣΣΑ C ΜΑΘΗΜΑ 2.
1 Ολυμπιάδα Πληροφορικής Μάθημα 7. 2 Στόχοι μαθήματος Δημιουργία συναρτήσεων από το χρήστη Δομή προγράμματος με συναρτήσεις Συναρτήσεις και παράμετροι.
ΣΥΝΑΡΤΗΣΕΙΣ.
Μεταβλητές – εντολές εκχώρησης- δομή ακολουθίας
ΘΕΜΑΤΙΚΗ ΕΝΟΤΗΤΑ 2: ΘΕΜΑΤΑ ΘΕΩΡΗΤΙΚΗΣ ΕΠΙΣΤΗΜΗΣ Η/Υ
Ενότητα Α.4. Δομημένος Προγραμματισμός
Η αλληλουχία των ενεργειών δεν είναι πάντα μία και μοναδική!!!
Κατανόηση (δεδομένα – ζητούμενα) Ανάλυση σε απλούστερα προβλήματα Επίλυση με οργανωμένα, απολύτως καθορισμένα, πεπερασμένα βήματα ΑΛΓΟΡΙΘΜΟΣ.
Τα χαρακτηριστικά των επεξεργαστών By ΔΙΟΝΥΣΗ ΣΚΕΓΙΑ ΕΠΑ-Λ ΚΡΕΣΤΕΝΩΝ!
Δομικά στοιχεία πολυμέσων
ΘΕΜΑΤΙΚΗ ΕΝΟΤΗΤΑ 2: ΘΕΜΑΤΑ ΘΕΩΡΗΤΙΚΗΣ ΕΠΙΣΤΗΜΗΣ Η/Υ
Ο ήχος στη ψηφιακή εποχή.
Κεφάλαιο 10 – Υποπρογράμματα
ΛΟΓ102: Τεχνολογία Λογισμικού Ι Διδάσκων: Νίκος Παπασπύρου 1Νίκος ΠαπασπύρουΛΟΓ102:
Μερικές φορές το αποτέλεσμα εμφανίζεται αμέσως από κάτω.
Βασικά στοιχεία της Java
ΗΥ150 – ΠρογραμματισμόςΚώστας Παναγιωτάκης ΗΥ-150 Προγραμματισμός Συναρτήσεις (μέρος δεύτερο) και Μεταβλητές.
ΗΥ150 – ΠρογραμματισμόςΚώστας Παναγιωτάκης ΗΥ-150 Προγραμματισμός Τύποι Μεταβλητών Τελεστές Βασική Είσοδος/Έξοδος.
ΚΕΦΑΛΑΙΟ Το αλφάβητο της ΓΛΩΣΣΑΣ
Τεχνολογικό Εκπαιδευτικό Ίδρυμα Θεσσαλίας Αντικειμενοστραφής Προγραμματισμός Ι Ενότητα 2: Μεταβλητές και Τύποι Δεδομένων. Διδάσκων: Νικόλαος Θ Λιόλιος,
ΗΜΥ 007 – Τεχνολογία Πληροφορίας Διάλεξη 8 Ηχητική Πληροφορία 19 Φεβρουαρίου, 2004 Χρυσάνθη Πρέζα, D.Sc. Επισκέπτρια Επίκουρη Καθηγήτρια TΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ.
ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ
Κρυφή μνήμη (cache memory) (1/2) Εισαγωγή στην Πληροφορκή1 Η κρυφή μνήμη είναι μία πολύ γρήγορη μνήμη – πιο γρήγορη από την κύρια μνήμη – αλλά πιο αργή.
ΗΜΥ 100 Εισαγωγή στην Τεχνολογία ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ.
ΠΑΡΑΔΕΙΓΜΑ: ΤΑ ΕΠΙΠΕΔΑ ΥΛΙΚΟΥ – ΛΟΓΙΣΜΙΚΟΥ ΣΕ ΕΝΑΝ ΥΠΟΛΟΓΙΣΤΗ.
Γλώσσες Προγραμματισμού Μεταγλωττιστές Πίνακας Συμβόλων Πανεπιστήμιο Μακεδονίας Τμήμα Εφαρμοσμένης Πληροφορικής Ηλίας Σακελλαρίου.
Καταχωρητές (Registers) (1/3) Εισαγωγή στην Πληροφορκή1 Οι Καταχωρητές (Registers) είναι ειδικές θέσεις μνήμης υψηλής ταχύτητας που χρησιμοποιούνται για.
Βασικές έννοιες προγραμματισμού Κεφάλαιο 7 ο. Βασικές έννοιες προγραμματισμού Αλφάβητο και τύποι δεδομένων Σταθερές και μεταβλητές Τελεστές, συναρτήσεις.
ΜΕΤΑΒΛΗΤΕΣ-ΣΤΑΘΕΡΕΣ -ΕΚΦΡΑΣΕΙΣ
Εισαγωγή στην Python.
ΚΕΦΑΛΑΙΟ 2ο - ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ΑΛΓΟΡΙΘΜΩΝ
Αρχεσ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Η/Υ ΤΑξη Β΄
Δεδομένα, μεταβλητές, υπολογισμοί
ΑΛΓΟΡΙΘΜΟΣ ΠΡΟΒΛΗΜΑ ΑΛΓΟΡΙΘΜΟΣ ΛΥΣΗ
Αρχεσ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Η/Υ ΤΑξη Β΄
Αρχεσ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Η/Υ ΤΑξη Β΄
Τύποι Μεταβλητών.
ΑΝΑΠΑΡΑΣΤΑΣΗ ΑΚΕΡΑΙΩΝ
Τύποι Μεταβλητών Τελεστές Βασική Είσοδος/Έξοδος
Analog vs Digital Δούρβας Ιωάννης ΙΩΑΝΝΗΣ ΔΟΥΡΒΑΣ.
Τ.Ε.Ι. Κρήτης Τμ. Μηχανικών Πληροφορικής Αρχιτεκτονική Υπολογιστών
Μανασσάκης Βασίλης Καθηγητής Πληροφορικής
Τελεστές και ή όχι Για την εκτέλεση αριθμητικών πράξεων
Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον
Κεφάλαιο 10 Streams.
ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ΑΛΓΟΡΙΘΜΩΝ
Εντολές και δομές αλγορίθμου
Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον ΑΕΠΠ
Χειμερινό εξάμηνο 2017 Στέλιος Πετράκης
Β.ΕΠΑΛ-Γενικής Παιδείας  ΜΑΘΗΜΑ: Εισαγωγή στης αρχές Επιστήμης των Η/Υ  ΚΕΦΑΛΑΙΟ 4: Γλώσσες Αναπαράστασης Αλγορίθμων  ΕΝΟΤΗΤΑ 4.2: Δομή Ακολουθίας 
Ενότητα Γ7.3.8(Προβλήματα Ακολουθιακής Δομής )
ΕΝΟΤΗΤΑ 5 Αναλογικά σήματα.
Λήψη Αποφάσεων και Συναρτήσεις Ελέγχου
UNIT 1 Τα Πρώτα Προγράμματα.
Μεταγράφημα παρουσίασης:

ΕΚΦΡΑΣΕΙΣ, ΑΝΑΜΟΝΕΣ (DELAYS), ΗΧΟΙ ΕΝΟΤΗΤΑ 3 ΕΚΦΡΑΣΕΙΣ, ΑΝΑΜΟΝΕΣ (DELAYS), ΗΧΟΙ

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

ΕΚΦΡΑΣΕΙΣ Οι συναρτήσεις στην γλώσσα προγραμματισμού Arduino που μελετήσατε μέχρι τώρα : pinMode(pin, mode): πρέπει να καθορίσετε τον αριθμό του ακροδέκτη που αναφέρεστε καθώς και αν πρόκειται για είσοδο ή έξοδο. digitalRead(pin): πρέπει να καθορίσετε τον αριθμό του ακροδέκτη που θέλετε να διαβάσετε. digitalWrite(pin,value): πρέπει να καθορίσετε ποιόν ακροδέκτη θέλετε για τον καθορισμό μιας τιμής. Μπορείτε να εκφράσετε αυτές τις παραμέτρους με διαφορετικούς τρόπους Σταθερά: digitalRead(4) διαβάζει την τιμή του ακροδέκτη εισόδου 4. Μεταβλητή: digitalRead(pushbutton), διαβάζει την τιμή του ακροδέκτη εισόδου που ορίζεται στην μεταβλητή “pushbutton”. Πράξη: digitalRead((1+1)*2) διαβάζει τον ακροδέκτη 4 καθώς αυτό είναι το αποτέλεσμα της πράξης (1+1)*2. 3

ΕΚΦΡΑΣΕΙΣ ΣΤΑΘΕΡΕΣ Μια τιμή στο πρόγραμμα που δεν αλλάζει ποτέ μπορεί να χρησιμοποιηθεί ως “σταθερά” Δεν υπάρχει τρόπος να την αλλάξετε κατά τη διάρκεια εκτέλεσης του προγράμματος Εάν αποφασίσετε να την αλλάξετε, πρέπει να τροποποιήσετε το πρόγραμμα και να το καταγράψετε ξανά στη μνήμη του ελεγκτή Αποθηκεύονται στην μνήμη FLASH του ελεγκτή Δεν μεταβάλλονται και ακόμα και αν αποσυνδεθεί η πηγή ισχύος διατηρούν την τιμή τους ΠΑΡΑΔΕΙΓΜΑΤΑ digitalRead(12); //διάβασε τον ακροδέκτη εισόδου 12 digitalWrite(6,HIGH); //θέσε τον ακροδέκτη εξόδου 6 στο επίπεδο “1” pinMode(9,OUTPUT); //Καθόρισε τον ακροδέκτη 9 ως έξοδο 4

ΕΚΦΡΑΣΕΙΣ τύπος όνομα = τιμή ΜΕΤΑΒΛΗΤΕΣ Είναι περιοχές στην μνήμη RAM του ελεγκτή για την αποθήκευση διαφόρων τύπου δεδομένων Μπορείτε να διαβάσετε και να γράψετε στη μνήμη RAM όσες φορές θέλετε, αρκεί να το κάνετε με τον σωστό τρόπο ΠΑΡΑΔΕΙΓΜΑ τύπος όνομα = τιμή τύπος: Καθορίζει τον τύπο των δεδομένων που περιέχει η μεταβλητή όνομα: Το όνομα που αποδίδετε στην μεταβλητή τιμή: Το περιεχόμενο ή η τιμή που τοποθετούμε στην μεταβλητή 5

Ο ακόλουθος πίνακας περιέχει τους πιο συνηθισμένους τύπους μεταβλητών ΕΚΦΡΑΣΕΙΣ Ο ακόλουθος πίνακας περιέχει τους πιο συνηθισμένους τύπους μεταβλητών ΤΥΠΟΣ ΑΡΙΘΜΟΣ BYTES ΠΕΡΙΓΡΑΦΗ char 1 Καταλαμβάνει 1 byte στην μνήμη και αποθηκεύει τιμή τύπου χαρακτήρα (8 bits). Οι χαρακτήρες γράφονται μέσα σε μονά εισαγωγικά (‘). Ο τύπος δεδομένων char είναι προσημασμένος τύπος, που σημαίνει ότι κωδικοποιεί αριθμούς από -128 έως 127. byte Ένα byte αποθηκεύει έναν 8-bit μη προσημασμένο αριθμό και αποδίδει ένα εύρος από 0 έως 255 (2^8-1). int 2 Οι ακέραιοι είναι ο βασικός τύπος δεδομένων για την αποθήκευση αριθμών. Αποθηκεύουν μια 16-bit (2-byte) προσημασμένη τιμή και αποδίδουν ένα εύρος από -32768 έως +32767. unsigned int ή word Αποθηκεύει έναν 16-bit μη προσημασμένο αριθμό number και αποδίδει ένα εύρος από 0 έως 65535 (2^16-1) long 4 Είναι προσημασμένες μεταβλητές που αποθηκεύουν 32 bits (4 bytes) και αποδίδουν ένα εύρος από -2,147,483,648 έως 2,147,483,647. unsigned long Μη προσημασμένη μεταβλητή που αποθηκεύει 32 bits (4 bytes) και αποδίδουν ένα εύρος από 0 έως 4,294,967,295 (2^32 - 1). float Οι αριθμοί κινητής υποδιαστολής μπορούν να είναι από -3.4028235E+38 έως 3.4028235E+38. Αποθηκεύονται ως πληροφορία 32 bits (4 bytes). 6

ΕΚΦΡΑΣΕΙΣ Οι “πίνακες” είναι ένα άλλο είδος μεταβλητής Ένας πίνακας είναι ένα σύνολο μεταβλητών και μπορεί να περιλαμβάνει οποιαδήποτε όπως αυτές του προηγούμενου πίνακα Για να έχετε πρόσβαση στα περιεχόμενα των μεταβλητών, πρέπει να υποδείξετε τον αριθμό ευρετηρίου τους (δείκτης) Οι μεταβλητές μπορεί να είναι “globals” (καθολικές) ή “locals” (τοπικές) ανάλογα με το πώς τις δηλώνετε στο πρόγραμμα Globals (καθολικές): Είναι μεταβλητές που δηλώνονται έξω από όλες τις συναρτήσεις του προγράμματος συμπεριλαμβανομένων και των setup() και loop() Locals (τοπικές): Είναι μεταβλητές που δηλώνονται και δημιουργούνται εντός μιας συγκεκριμένης συνάρτησης και μπορούν να χρησιμοποιούνται μόνο από αυτή την συνάρτηση 7

Αυτές είναι οι πιο συνηθισμένες μαθηματικές πράξεις ΕΚΦΡΑΣΕΙΣ ΠΡΑΞΕΙΣ Οι τιμές που φορτώνετε στις μεταβλητές μπορεί να είναι το αποτέλεσμα αριθμητικών πράξεων μεταξύ μεταβλητών και/ή σταθερών. Αυτές είναι οι πιο συνηθισμένες μαθηματικές πράξεις = Ισότητα + Πρόσθεση - Αφαίρεση * Πολλαπλασιασμός / Διαίρεση % Υπόλοιπο (το υπόλοιπο μιας διαίρεσης μεταξύ δύο ακέραιων αριθμών) 8

delayMicroseconds(n); ΕΚΦΡΑΣΕΙΣ Είναι συχνά μια καλή ιδέα, ο ελεγκτής να μην κάνει απολύτως τίποτα. Η γλώσσα προγραμματισμού Arduino έχει ένα αριθμό από συναρτήσεις που προκαλούν παύση της εκτέλεσης ενός προγράμματος για συγκεκριμένο χρονικό διάστημα ΣΥΝΑΡΤΗΣΗ DELAYMICROSECONDS() Παύει το πρόγραμμα για το χρονικό διάστημα (σε μS) που καθορίζεται delayMicroseconds(n); n: υποδεικνύει τον αριθμό των μS που θέλετε να σταματήσετε το πρόγραμμα. Είναι ένας 16 bit μη προσημασμένος ακέραιος ΠΑΡΑΔΕΙΓΜΑ A = 100; delayMicroseconds(A); //σταματά το πρόγραμμα για 100 µS = 0.1 mS = 0.0001 seconds 9

ΕΚΦΡΑΣΕΙΣ ΣΥΝΑΡΤΗΣΗ DELAY() Σταματά το πρόγραμμα για όσα mS του υποδείξετε delays(n); n: υποδεικνύει τον αριθμό των mS που θέλετε να σταματήσετε το πρόγραμμα. ΠΑΡΑΔΕΙΓΜΑ A = 100; delay (A); //σταματά το πρόγραμμα για 100 mS = 0.1 second delay(1000) 10

ΕΚΦΡΑΣΕΙΣ ΣΥΝΑΡΤΗΣΗ MICROS() Επιστρέφει τον αριθμό των μS που πέρασαν από τότε που το Arduino ξεκίνησε να εκτελεί το πρόγραμμα σας Επιστρέφει μια μη προσημασμένη τιμή μεγάλου μήκους και ο αριθμός θα γίνει ξανά μηδέν μετά από περίπου 70 λεπτά var = micros(); var: Αυτή είναι η μεταβλητή που αποθηκεύει τα μS που έχουν περάσει από την επανεκκίνηση του συστήματος ΣΥΝΑΡΤΗΣΗ MILLIS() Επιστρέφει τον αριθμό των mS που πέρασαν από τότε που το Arduino ξεκίνησε να εκτελεί το πρόγραμμα σας Επιστρέφει μια μη προσημασμένη τιμή μεγάλου μήκους και ο αριθμός θα γίνει ξανά μηδέν μετά από περίπου 50 ημέρες var = micros(); var: Αυτή είναι η μεταβλητή που αποθηκεύει τα mS που έχουν περάσει από την επανεκκίνηση του συστήματος 11

ΗΧΟΣ Τι χρειάζεται για να δημιουργήσουμε ήχο ; Μια συσκευή ικανή να δονείται και να παράγει αλλαγές πίεσης ή δονήσεις στον αέρα Αυτές οι δονήσεις φτάνουν στα τύμπανα μας και ο εγκέφαλός μας τα αντιλαμβάνεται ως ήχο Υπάρχουν πολλές γνωστές συσκευές που προκαλούν αλλαγές στην πίεση του αέρα και δημιουργούν κύματα που μεταφέρουν ήχο: μεγάλα ηχεία, ακουστικά, βομβητές, σειρήνες Οι άνθρωποι έχουν τη δυνατότητα να ακούνε συχνότητες ήχου μεταξύ 20 Hz και 20 000 Hz (20 KHz) ή κύκλους ανά δευτερόλεπτο. Αυτό υποδεικνύει τη συχνότητα ή τον αριθμό των φορών ανά δευτερόλεπτο που ένα σήμα περνάει από το "1" στο "0". 12

tone(pin, frequency, duration); ΣΥΝΑΡΤΗΣΕΙΣ ΗΧΟΥ Είναι πολύ εύκολο στην γλώσσα προγραμματισμού Arduino να παράγετε όλα τα είδη των ήχων Το μόνο που έχετε να κάνετε είναι να καθορίσετε την συχνότητα F και το Arduino αναλαμβάνει τα υπόλοιπα. ΣΥΝΑΡΤΗΣΗ TONE() Παράγει ένα ήχο στον ακροδέκτη εξόδου με την απαιτούμενη συχνότητα F και για την χρονική διάρκεια που υποδεικνύετε. tone(pin, frequency, duration); pin: υποδεικνύει σε ποιον ακροδέκτη πρόκειται να παράγετε τον ήχο. frequency: αναπαριστά την συχνότητα του τόνου σε Hz (hertz). duration: Αυτή η παράμετρος είναι προαιρετική. Είναι ένας μη προσημασμένος αριθμός μεγάλου μήκους που αναπαριστά την διάρκεια του τόνου σε ms 13

ΣΥΝΑΣΡΤΗΣΕΙΣ ΗΧΟΥ ΣΥΝΑΡΤΗΣΗ noTONE() Σταματά ένα τόνο σε ένα καθορισμένο ακροδέκτη tone(pin); pin: αναπαριστά σε ποιον ακροδέκτη θα σταματήσει ο ήχος. ΠΑΡΑΔΕΙΓΜΑ: tone(2,13000); //Παράγει ένα τόνο 13 KHz αορίστου διάρκειας στον ακροδέκτη 2. …. //Ο τόνος συνεχίζει να ακούγεται. noTone(2); //Ο τόνος σταματά. 14

ENOTHTA 3 ΕΚΦΡΑΣΕΙΣ, ΑΝΑΜΟΝΕΣ (DELAYS), ΗΧΟΙ Ευχαριστούμε