Σκοπός. Προγραμματίζοντας τον Arduino ΙΙ Εντολή Εκχώρησης & Εντολές. Συλλογή & Επεξεργασία Δεδομένων. Πρόγραμμα. Εντολές Επεξεργασίας Δεδομένων

Σχετικά έγγραφα
Μέτρηση Θερμοκρασίας με τον αισθητήρα TMP36. Σύστημα Συλλογής & Επεξεργασίας Μετρήσεων. Βασική δομή ενός προγράμματος στο LabVIEW.

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

Συλλογή & Επεξεργασία Δεδομένων. Προγραμματίζοντας τον Arduino Μέρος Ι: Μεταβλητές, Εντολές Εισόδου & Εξόδου. Ολοκληρωμένο Περιβάλλον Ανάπτυξης (IDE)

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

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

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

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

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

Σκοπός. Εργαστήριο 6 Εντολές Επανάληψης

Συλλογή & Επεξεργασία Δεδομένων Εργαστήριο 4. Οδηγώντας έναν DC Κινητήρα. Το κύκλωμα της Λειτουργίας DC Κινητήρα

Η ΔΟΜΗ ΕΠΑΝΑΛΗΨΗΣ Εντολές Επανάληψης REPEAT UNTIL, FOR, WHILE

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

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

2ο ΓΕΛ ΑΓ.ΔΗΜΗΤΡΙΟΥ ΑΕΠΠ ΘΕΟΔΟΣΙΟΥ ΔΙΟΝ ΠΡΟΣΟΧΗ ΣΤΑ ΠΑΡΑΚΑΤΩ

TO ΥΠΟΠΡΟΓΡΑΜΜΑ ΣΥΝΑΡΤΗΣΗ

Το κύκλωμα σε breadboard

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

Παράρτημα Φύλλο εργασίας 1: Δραστηριότητα 1 : Να αναβοσβήνει η φωτοδίοδος ανά ένα δευτερόλεπτο. Μέλη της ομάδας :

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

Συλλογή & Επεξεργασία Δεδομένων Εργαστήριο 7 Ακούγοντας Πρώτη Ματιά στην Ανάλυση Fourier. Σύστημα Συλλογής & Επεξεργασίας Μετρήσεων

Φύλλο εργασίας 9 - Αυτόνομο ρομποτικό όχημα αποφυγής εμποδίων

Προγραμματισμο ς σε Arduino

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

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

1. Πότε χρησιμοποιούμε την δομή επανάληψης; Ποιες είναι οι διάφορες εντολές (μορφές) της;

Προβλήματα, αλγόριθμοι, ψευδοκώδικας

Κεφάλαιο 2 ο Βασικές Έννοιες Αλγορίθμων (σελ )

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

Μια πρόταση διδασκαλίας για το μάθημα του προγραμματισμού Η/Υ στο Λύκειο με τη μεθοδολογία STEM

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

Βασικές Έννοιες Αλγορίθμων. Βασικές Εντολές Αλγορίθμων (Κεφ. 2ο Παρ. 2.4)

Εργαστήριο 9 Συναρτήσεις στη PASCAL. Η έννοια του κατακερματισμού. Συναρτήσεις. Σκοπός

Θεωρητικές Ασκήσεις. ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ. 1 ο Μέρος

Απλή Δομή Επιλογής. Ο κώδικας. //με χρήση μεταβλητών. delay (3000);

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

Ψευδοκώδικας. November 7, 2011

7. Βασικά στοιχεία προγραµµατισµού.

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

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

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

Κεφάλαια Εντολές επανάληψης. Τρεις εντολές επανάληψης. Επιλογή εντολής επανάληψης ΟΣΟ...ΕΠΑΝΑΛΑΒΕ. Σύνταξη στη ΓΛΩΣΣΑ

Φύλλο εργασίας 6 - Θερμόμετρο εξωτερικού χώρου. Το κύκλωμα σε breadboard

Εξαμηνιαία Εργασία 2013 Προγραμματίζοντας τον Arduino στη C Μέρος Α : Υλικά

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

2 ΟΥ και 8 ΟΥ ΚΕΦΑΛΑΙΟΥ

ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ΑΛΓΟΡΙΘΜΩΝ ΚΕΦΑΛΑΙΟ 2 ο ΚΕΦΑΛΑΙΟ 7 ο ΕΡΩΤΗΣΕΙΣ ΓΕΝΙΚΑ ΠΕΡΙ ΑΛΓΟΡΙΘΜΩΝ

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

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

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΜΕ ΤΟ ΚΙΤ ΡΟΜΠΟΤΙΚΗΣ LEGO MINDSTORMS EV3

Δομές Ακολουθίας- Επιλογής - Επανάληψης. Δομημένος Προγραμματισμός

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

Κεφ 2. Βασικές Έννοιες Αλγορίθμων

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

ΕΡΓΑΣΤΗΡΙΑΚΗ ΕΦΑΡΜΟΓΗ 4 TΟ ΡΟΜΠΟΤΙΚΟ ΟΧΗΜΑ ROGUE BLUE

Ερωτήσεις πολλαπλής επιλογής - Κεφάλαιο 2. Α1. Ο αλγόριθμος είναι απαραίτητος μόνο για την επίλυση προβλημάτων πληροφορικής

Πρόβλημα είναι μια κατάσταση η οποία χρήζει αντιμετώπισης, απαιτεί λύση, η δε λύση της δεν είναι γνωστή, ούτε προφανής.

Δυναμικές Ιστοσελίδες Εισαγωγή στην Javascript για προγραμματισμό στην πλευρά του client

Αλγόριθμοι Αναπαράσταση αλγορίθμων Η αναπαράσταση των αλγορίθμων μπορεί να πραγματοποιηθεί με:

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

2 ΟΥ και 8 ΟΥ ΚΕΦΑΛΑΙΟΥ

Κεφάλαιο 7 ο Βασικές Έννοιες Προγραμματισμού (σελ )

ΦΙΛΤΡΑ KALMAN ΕΞΑΜΑΗΝΙΑΙΑ Β - ΕΠΕΞΗΓΗΣΕΙΣ

Φύλλο εργασίας 4 - Αυτόματο φωτάκι νυκτός

Εντολές Επανάληψης. int sum = 0, i=1; sum += i++ ; sum += i++ ; Η πράξη αυτή θα πρέπει να επαναληφθεί Ν φορές!

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

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

ΗΥ-150. Προγραμματισμός

Ο αλγόριθμος πρέπει να τηρεί κάποια κριτήρια

Μάθημα 2 Δραστηριότητα 2: Δημιουργώντας το Μετεωρολογικό Σταθμό. Επανεξέταση των βασικών εννοιών της C και του προγραμματισμού.

Φύλλο εργασίας 3 - Χριστουγεννιάτικα φωτάκια (σταδιακή αύξηση και μείωση φωτεινότητας ενός LED) Το κύκλωμα σε breadboard

ΗΥ-150. Προγραμματισμός

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΣΕ ΓΛΩΣΣΟΜΑΘΕΙΑ


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

Όταν το πρόγραμμα φτάσει σε αυτή την εντολή και ο καταχωρητής PINA έχει την τιμή

Προτεινόμενα Θέματα ΑΕΠΠ

Γ τάξη Τεχνολογικής Κατεύθυνσης Ενιαίου Λυκείου ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ. ΔΟΜΗ ΕΠΙΛΟΓΗΣ Διδάσκων: ΔΟΥΡΒΑΣ ΙΩΑΝΝΗΣ

Εισαγωγή στο Προγραμματισμό για Μηχανολόγους Οδηγός Προετοιμασίας για τη Τελική Εξέταση

του προγράμματος diagrama_rohs.zip )

Θέματα ΑΕΠΠ Πανελλήνιες Εξετάσεις 2006

Πρόβλημα 29 / σελίδα 28

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

Πληροφορική ΙΙ. Τ.Ε.Ι. Ιονίων Νήσων Σχολή Διοίκησης και Οικονομίας - Λευκάδα

1 Ο Λύκειο Ρόδου. Β ΓΕΛ ΕισΑρχΕπ Η/Υ. Γεωργαλλίδης Δημήτρης

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

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

ΠΕΡΙΕΧΟΜΕΝΑ. Εντολές επιλογής Εντολές επανάληψης

for for for for( . */

Κεφαλαιο 2.2 ΑΝΑΚΕΦΑΛΑΙΩΤΙΚΕΣ ΑΛΓΟΡΙΘΜΟΙ

Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον 2o Επαναληπτικό Διαγώνισμα Κεφ: 2 ο 7 ο 8 ο ΗΜΕΡΟΜΗΝΙΑ 21/ 10/ 2017

ΗΥ-150. Προγραµµατισµός. Εντολές Ελέγχου Ροής

Συλλογή & Επεξεργασία Δεδομένων Εξαμηνιαία ΡομποΚαθαριστής Μέρος Β : Το Πρόγραμμα. Σχεδίαση Συστήματος Πραγματικής Εφαρμογής (Prototyping).

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

4. ΒΡΟΧΟΙ ΕΠΑΝΑΛΗΨΗΣ (Α' μέρος: for)

Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον. Διάρκεια 3 ώρες. Όνομα... Επώνυμο... Βαθμός...

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

ΘΕΜΑ Α ΑΡΧΗ 1ΗΣ ΣΕΛΙΔΑΣ

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ Κεφάλαιο 2 ο

Εισαγωγή στην Αριθμητική Ανάλυση

ΑΣΥΜΜΕΤΡΙΑ Ας υποθέσουμε, ότι κατά την μελέτη της κατανομής δύο μεταβλητών, καταλήγουμε στα παρακάτω ιστογράμματα.

Transcript:

Σκοπός Συλλογή & Επεξεργασία Δεδομένων Προγραμματίζοντας τον Arduino ΙΙ Εντολή Εκχώρησης & Εντολές Ελέγχου. Πρόγραμμα Εντολές Επεξεργασίας Δεδομένων Εντολή Εκχώρησης Εντολές Ελέγχου Λογική συνθήκη Εντολή Επιλογής if Εντολές Επανάληψης 1

Μέρος Β : Εντολές Εκχώρησης & Ελέγχου Β.1 ΣΚΟΠΟΣ Η είσοδος δεδομένων σ ένα πρόγραμμα, μέσα από τις εντολές εισόδου, είναι απαραίτητη προϋπόθεση, για τη λειτουργία του προγράμματος. Από την άλλη πλευρά, οι εντολές εξόδου του προγράμματος φανερώνουν / εξωτερικεύουν τη λειτουργία του προγράμματος, είτε αυτή περιλαμβάνει την ανάλυση των δεδομένων ή την επίδραση / επενέργεια του προγράμματος, στο εξωτερικό περιβάλλον. Όμως, ένα πρόγραμμα δεν είναι μόνον είσοδος και έξοδος. Το κυριότερο χαρακτηριστικό και η βασικότερη λειτουργία ενός προγράμματος, είναι η ανάλυση / επεξεργασία των δεδομένων που το πρόγραμμα διαβάζει, μέσα από τις εντολές εισόδου. Αυτή η επεξεργασία γίνεται, χρησιμοποιώντας εντολές που ορίζουν διάφορες μορφές αλγεβρικών και λογικών υπολογισμών, στα δεδομένα του προγράμματος. Έτσι, ανάμεσα στις εντολές εισόδου και τις εντολές εξόδου ενός προγράμματος, είναι οι εντολές που επεξεργάζονται τα δεδομένα του προγράμματος. Σ αυτή την ενότητα, εξετάζουμε αυτές τις εντολές, δηλαδή τις εντολές που χρησιμοποιούμε σ ένα πρόγραμμα, για να προσδιορίζουμε την επεξεργασία των δεδομένων του προγράμματος. Ξεκινάμε από την εντολή εκχώρησης. Β.2 Η Εντολή Εκχώρησης σ ένα Πρόγραμμα Αν ένα πρόγραμμα διαβάζει δεδομένα ή μετρήσεις, από αισθητήρες και όργανα μέτρησης, είναι για να επεξεργάζεται, δηλαδή, να αναλύει αυτές τις μετρήσεις και στη βάση αυτής της ανάλυσης, να μεταβάλλει / να επιδρά στο εξωτερικό περιβάλλον, μέσα από εντολές, όπως η analogwrite() και η digitalwrite() που δημιουργούν τάσεις και μπορεί να οδηγούν ή να ρυθμίζουν τη λειτουργία διάφορων κινητήρων. Έτσι, ένα πρόγραμμα, μετά τις εντολές εισόδου και πριν από τις εντολές εξόδου, περιλαμβάνει εντολές που προσδιορίζουν την επεξεργασία των δεδομένων του προγράμματος. Η βασικότερη εντολή επεξεργασίας δεδομένων, σ ένα πρόγραμμα, είναι η εντολή εκχώρησης που έχει τη μορφή: Το σύμβολό = στην εντολή, δεν δηλώνει την ισότητα της παράστασης στα δεξιά με τη τιμή της μεταβλητής, στα αριστερά του συμβόλου, αλλά εκχώρηση, δηλαδή 2

Εικόνα 1: Το κύκλωμα (δεξιά) και το πρόγραμμα (αριστερά), για τη μέτρηση της θερμοκρασίας με τον TMP36. Το πρόγραμμα διαβάζει τη μέτρηση από τον TMP36, χρησιμοποιώντας την analogread() και μέσα από δύο εντολές εκχώρησης, μετατρέπει αυτή τη μέτρηση, πρώτα, στη τιμή τάσης που δημιουργεί ο αισθητήρας και μετά, στην αντίστοιχη θερμοκρασία. την αποθήκευση της τιμής της αλγεβρικής παράστασης, στη μεταβλητή, στα αριστερά του =. Η παράσταση στα δεξιά του =, είναι μία αλγεβρική παράσταση που περιλαμβάνει αριθμητικές πράξεις / υπολογισμούς σε τιμές που το πρόγραμμα διαβάζει, από διάφορους αισθητήρες ή όργανα μέτρησης. Το αποτέλεσμα του υπολογισμού που προσδιορίζεται από αυτή τη παράσταση, εκχωρείται, δηλαδή αποθηκεύεται στη μεταβλητή, στα αριστερά του =. Ένα χαρακτηριστικό παράδειγμα της λειτουργίας της εντολής εκχώρησης, σ ένα πρόγραμμα, είναι η μέτρηση της θερμοκρασίας, χρησιμοποιώντας τον TMP36. Η συνδεσμολογία του αισθητήρα στον Arduino, παριστάνεται στην Εικόνα 1. Το 3

πρόγραμμα που διαβάζει τη μέτρηση από τον αισθητήρα και μετατρέπει αυτή τη μέτρηση σε τιμή θερμοκρασίας, παριστάνεται στην Εικόνα 1. Σ αυτό το πρόγραμμα, η εντολή analogread() διαβάζει τη τάση που δημιουργεί ο αισθητήρας, στην αναλογική θύρα A0 του Arduino (Εικόνα 1). Είδαμε παραπάνω πως η analogread() καλείται με μία παράμετρο που προσδιορίζει μία αναλογική θύρα του Arduino, για να διαβάσει τη τάση, σ αυτή τη θύρα. Είδαμε ακόμα πως η analogread() δεν επιστρέφει τη τιμή της τάσης που καλείται να διαβάσει, αλλά μία τιμή στο διάστημα [0, 1023] που είναι ανάλογη αυτής της τάσης. Αν για παράδειγμα, σ ένα πρόγραμμα, η analogread() καλείται να διαβάσει τη τάση στην A0 του Arduino και η τάση σ αυτή τη θύρα είναι 3 V, τότε η analogread() δεν επιστρέφει τη τιμή 3, αλλά τη τιμή: 1023 * 3 / 5 = 614! Επειδή λοιπόν η μέτρηση που η analogread() επιστρέφει στο πρόγραμμα, από τον αισθητήρα θερμοκρασίας, δεν δείχνει απευθείας τη τιμή θερμοκρασίας που μετράει ο αισθητήρας, αλλά μία αντίστοιχη τιμή, χρειάζεται να κάνουμε μία σειρά από μετατροπές σ αυτή τη τιμή, για να καταλήξουμε στη πραγματική τιμή θερμοκρασίας που μετράει ο αισθητήρας. Η πρώτη από αυτές τις μετατροπές, είναι να μετατρέψουμε τη τιμή που επιστρέφει η analogread() στο πρόγραμμα, στη πραγματική τιμή τάσης που δημιουργεί ο TMP36 στην A0, διαιρώντας τη μέτρηση που επιστρέφει η analogread() και που αποθηκεύεται στη μεταβλητή val δια 204.6. Αυτό ακριβώς κάνει η εντολή εκχώρησης αμέσως μετά την analogread(), στο πρόγραμμα της Εικόνας 1. Μετατρέπει τη τιμή που επιστρέφει η analogread() που είναι ανάλογη της τάσης στην Α0 του Arduino και που αποθηκεύεται στη μεταβλητή val, στη πραγματική τιμή τάσης που δημιουργεί ο αισθητήρας στην Α0, διαιρώντας την δια 204.6. Η τιμή που υπολογίζεται από αυτή τη διαίρεση και που είναι η πραγματική τάση που δημιουργεί ο αισθητήρας TMP36 στην Α0, εκχωρείται, δηλαδή, αποθηκεύεται στη μεταβλητή V. Η επόμενη μετατροπή, είναι να μετατρέψουμε τιμή της μεταβλητής V, από τάση σε θερμοκρασία, χρησιμοποιώντας τη χαρακτηριστική καμπύλη του αισθητήρα θερμοκρασίας, στην Εικόνα 2. Αυτή η καμπύλη δείχνει τη τιμή θερμοκρασίας που αντιστοιχεί σε κάθε τιμή τάσης που μπορεί να δημιουργεί ο αισθητήρας. Από τη χαρακτηριστική καμπύλη του αισθητήρα, βλέπουμε πως η θερμοκρασία που αντιστοιχεί σε τιμή τάσης από το αισθητήρα, είναι, ενώ σε τάση από τον αισθητήρα, αντιστοιχεί θερμοκρασία. Έτσι, βλέπουμε πως η χαρακτηριστική καμπύλη του α- ισθητήρα θερμοκρασίας είναι μία ευθεία που περνάει από τα σημεία (0, 0.5) και (50, 1). Επομένως, η εξίσωση αυτής της καμπύλης είναι η εξίσωση της ευθείας: 4

Εικόνα 2: Η χαρακτηριστική καμπύλη του αισθητήρα θερμοκρασίας TMP36. Η καμπύλη δείχνει τη θερμοκρασία που αντιστοιχεί σε κάθε τιμή τάσης που μπορεί να δημιουργεί ο αισθητήρας. Επειδή αυτή η καμπύλη είναι μία ευθεία που περνάει από τα σημεία (0, 0.5) και (50, 1), η εξίσωση αυτής της καμπύλης που δίνει θερμοκρασία, από τάση, είναι η εξίσωση της ευθείας από αυτά τα σημεία. Άρα, όπου V είναι μία τιμή τάσης από τον αισθητήρα και T είναι η αντίστοιχη θερμοκρασία. Η παραπάνω εξίσωση μας επιτρέπει να μετατρέπουμε μία τιμή τάσης από τον αισθητήρα TMP36, στην αντίστοιχη τιμή θερμοκρασίας. Έτσι, η δεύτερη εντολή εκχώρησης στο πρόγραμμα της Εικόνας 1, χρησιμοποιεί αυτή την εξίσωση, για να μετατρέψει τη τάση που δημιουργεί ο αισθητήρας στην Α0 του Arduino και που έ- χουμε αποθηκεύσει στη μεταβλητή V, σε μία τιμή θερμοκρασίας και αποθηκεύει αυτή τη θερμοκρασία, στη μεταβλητή Temp (Εικόνα 3). Ο λόγος που χρησιμοποιούμε μεταβλητές, όπως οι μεταβλητές στο πρόγραμμα της Εικόνας 1 και αποθηκεύουμε αποτελέσματα υπολογισμών από το πρόγραμμα, σ 5

αυ Εικόνα 3: Η εντολή εκχώρησης που μετατρέπει μία τιμή τάσης από τον αισθητήρα, στην αντίστοιχη θερμοκρασία, χρησιμοποιώντας τη χαρακτηριστική εξίσωση του αισθητήρα θερμοκρασίας και αποθηκεύει αυτή τη τιμή θερμοκρασίας, στη μεταβλητή Temp. τές τις μεταβλητές, είναι για να μπορούμε, μέσα από τις μεταβλητές, να χρησιμοποιούμε τα αποτελέσματα προηγούμενων υπολογισμών, σε επόμενους υπολογισμούς, από το πρόγραμμα, χωρίς να χρειάζεται να ξανακάνουμε τους προηγούμενους υπολογισμούς, συνδυάζοντας έτσι, τα αποτελέσματα από πολλούς επιμέρους υπολογισμούς, σ ένα σύνθετο υπολογισμό / σύνθετη ανάλυση που μας επιτρέπει χρήσιμα συμπεράσματα και λειτουργίες, στη βάση των μετρήσεων από αισθητήρες. Έτσι, μετά τη μετατροπή της τάσης από τον αισθητήρα TMP36 σε θερμοκρασία και την αποθήκευση αυτής της τιμής θερμοκρασίας, στη μεταβλητή Temp, χρησιμοποιούμε αυτή τη μεταβλητή, σε επόμενες εντολές στο πρόγραμμα της Εικόνας 1, για να εκτελέσουμε μία λειτουργία να ανάψουμε ή να σβήσουμε τη LED στη βάση της τιμής της μεταβλητής Temp. Αντί της LED, θα μπορούσαμε να λειτουργούμε ξεκινάμε ή σταματάμε ένα κινητήρα που θα μπορούσε να είναι ο κινητήρας ενός κλιματιστικού, επιχειρώντας έτσι, να αλλάξουμε τη κατάσταση στο εξωτερικό περιβάλλον, στη βάση της μέτρησης της θερμοκρασίας από τον TMP36 και μέσα από τη λειτουργία ενός κινητήρα, από το πρόγραμμα. Β.3 Εντολές Ελέγχου Εκτός από τις εντολές εισόδου, όπως η analogread(), τις εντολές εξόδου και την εντολή εκχώρησης, η C, αλλά και κάθε άλλη γλώσσα προγραμματισμού διαθέτει δύο ακόμα βασικές εντολές: την εντολή επιλογής και την εντολή επανάληψης. Αυτές οι πέντε κατηγορίες εντολών, δηλαδή οι εντολές εισόδου, οι εντολές εξόδου, η εκχώρηση, η εντολή επιλογής και η εντολή επανάληψης, είναι όλες οι εντολές που διαθέτει, όχι μόνον η C, αλλά και κάθε άλλη γλώσσα προγραμματισμού. Κάθε πρόγραμμα στη C, αλλά και σε κάθε άλλη γλώσσα προγραμματισμού, γράφεται χρησιμοποιώντας εντολές, από αυτές τις πέντε κατηγορίες εντολών. 6

Αν και υπάρχουν περισσότερες από μία εντολές επιλογής η if και η switch και περισσότερες από μία εντολές επανάληψης η while, do while και η for όλες οι διαφορετικές εντολές επιλογής έχουν την ίδια βασική λειτουργία. Ανάλογα, όλες οι διαφορετικές εντολές επανάληψης εκτελούν την ίδια βασική λειτουργία που είναι να επαναλαμβάνουν την εκτέλεση μίας ομάδας εντολών, περισσότερες από μία φορές. Οι δύο αυτές κατηγορίες εντολών, δηλαδή οι εντολές επιλογής και οι εντολές επανάληψης ανήκουν σε μία ευρύτερη κατηγορία, τις εντολές ελέγχου. Αυτό γιατί τόσο η εντολή επιλογής, όσο και η εντολή επανάληψης, λειτουργούν ώστε να αλλάζουν τη ροή εκτέλεσης ενός προγράμματος. Τι εννοούμε? Ένα πρόγραμμα αποτελείται από εντολές είναι ένας συνδυασμός εντολών. Καθεμία από αυτές, υποδεικνύει / προσδιορίζει στο μικροεπεξεργαστή, να εκτελέσει μία λειτουργία ή έναν υπολογισμό. Από τη πρώτη γλώσσα προγραμματισμού που ήταν η Assembly, μέχρι τις περισσότερες σημερινές γλώσσες προγραμματισμού, με εξαίρεση το LabVIEW που είναι γλώσσα ροής και τις γλώσσες του ταυτόχρονου προγραμματισμού, ο μικροεπεξεργαστής εκτελεί τις εντολές ενός προγράμματος, αυστηρά, με τη σειρά που είναι γραμμένες στο πρόγραμμα, ξεκινώντας από τη πρώτη εντολή του προγράμματος και εκτελώντας κάθε επόμενη εντολή, μέχρι τη τελευταία, μόνον αφού προηγούμενα, έχει ολοκληρώσει την εκτέλεση της πριν από αυτήν, εντολής, στο πρόγραμμα. Οι εντολές ελέγχου, δηλαδή η εντολή επιλογής και η εντολή επανάληψης επιτρέπουν στο μικροεπεξεργαστή να αλλάζει την εκτέλεση ενός προγράμματος, χωρίς όμως να παραβαίνει το κανόνα να εκτελεί τις εντολές αυτού του προγράμματος με τη σειρά που είναι γραμμένες στο πρόγραμμα. Η εντολή επιλογής επιτρέπει στο μικροεπεξεργαστή να επιλέγει αν θα εκτελέσει μία εντολή του προγράμματος ή αν αντί γι αυτή, θα εκτελέσει μία εναλλακτική εντολή. Η εντολή επανάληψης επιτρέπει στον υπολογιστή να επιλέγει να εκτελέσει μία εντολή ή μία ομάδα εντολών περισσότερες από μία φορές, πριν προχωρήσει στην εκτέλεση της επόμενης εντολής. Γενικά, αυτές οι εντολές η εντολή επιλογής και η εντολή επανάληψης, πρώτα, εξετάζουν μία συνθήκη. Μετά, υποδεικνύουν / οδηγούν το μικροεπεξεργαστή να εκτελέσει τη μία, από δύο τουλάχιστον εναλλακτικές εντολές ή ομάδες εντολών ή να επαναλάβει την εκτέλεση μίας εντολής ή ομάδας εντολών, περισσότερες από μία φορές, στη βάση αυτής της συνθήκης. Παρακάτω, βλέπουμε αυτές τις εντολές, λίγο πιο αναλυτικά και πως αυτές επιτρέπουν στο μικροεπεξεργαστή να αλλάζει την εκτέλεση ενός προγράμματος, αλλά χωρίς να παρεκκλίνει από την αυστηρά σειριακή εκτέλεση των εντολών του προγράμματος, 7

B.3.1 Η Εντολή Επιλογής if Η εντολή επιλογής if περιλαμβάνει / αποτελείται από μία συνθήκη και δύο εντολές ή ομάδες εντολών. Mία ομάδα, μετά τη λέξη if και μία εναλλακτική ομάδα εντολών, μετά την else. H γενική μορφή της εντολής, είναι: Η λογική συνθήκη προσδιορίζει μία σύγκριση. Συγκρίνει τη τιμή μίας μεταβλητής με τη τιμή μίας άλλης μεταβλητής, σταθεράς ή αλγεβρικής παράστασης, αν δηλαδή, η τιμή της πρώτης μεταβλητής είναι ίση, μεγαλύτερη, μεγαλύτερη ή ίση, μικρότερη, μικρότερη ή ίση από τη τιμή της αλγεβρικής παράστασης, στα δεξιά του τελεστή σύγκρισης (Εικόνα 4). Αν η συνθήκη ισχύει (είναι αληθής), τότε ο μικροεπεξεργαστής εκτελεί τις εντολές μετά την if. Αντίθετα, αν η συνθήκη δεν ισχύει (είναι ψευδής), ο μικροεπεξεργαστής εκτελεί μόνον τις εντολές μετά την else (εναλλακτικές εντολές), προσπερνώντας τις εντολές μετά την if (Εικόνα 4). Εικόνα 4: Ένα απλό παράδειγμα της εντολής επιλογής. 8

Για παράδειγμα, η εντολή επιλογής στο πρόγραμμα των Εικόνων 1 και 4, εξετάζει αν η τιμή της Temp, δηλαδή η θερμοκρασία που μετράει ο TMP36 είναι μεγαλύτερη από ένα όριο που είναι οι 30. Αν η τιμή της Temp είναι μεγαλύτερη των 30, τότε ο μικροεπεξεργαστής εκτελεί τη digitalwrite(led, HIGH), μετά την if που ανάβει τη LED, ενώ αν η Temp δεν είναι μεγαλύτερη των 30, τότε ο μικροεπεξεργαστής εκτελεί τη digitalwrite(led, LOW), μετά την else, σβήνοντας τη LED (Εικόνα 4). B.3.2 Η εντολή Επανάληψης While H while είναι η βασικότερη εντολή επανάληψης στη C και σε κάθε γλώσσα προγραμματισμού. Περιλαμβάνει μία συνθήκη και μία ομάδα εντολών και προσδιορίζει πως οι εντολές στο εσωτερικό της, θα εκτελούνται, για όσο η συνθήκη είναι αληθής (Εικόνα 5). Όσο η συνθήκη είναι αληθής, η while εξακολουθεί να εκτελεί τις εντολές στο εσωτερικό της, ελέγχοντας πάλι τη συνθήκη, στο τέλος κάθε επανάληψης. Εικόνα 4: Η λειτουργία της εντολής επανάληψης. 9