Συλλογή & Επεξεργασία Δεδομένων. Προγραμματίζοντας τον Arduino Μέρος Ι: Μεταβλητές, Εντολές Εισόδου & Εξόδου. Ολοκληρωμένο Περιβάλλον Ανάπτυξης (IDE)
|
|
- Ἀμήνὄφις Ελευθεριάδης
- 7 χρόνια πριν
- Προβολές:
Transcript
1 Βασικές Έννοιες Συλλογή & Επεξεργασία Δεδομένων Προγραμματίζοντας τον Arduino Μέρος Ι: Μεταβλητές, Εντολές Εισόδου & Εξόδου. Πρόγραμμα Ολοκληρωμένο Περιβάλλον Ανάπτυξης (IDE) Πηγαίος Κώδικας (source code) Αντικείμενο Πρόγραμμα (object code) Έννοια της Μεταβλητής Εντολές Εισόδου (analogread) Εντολές Εξόδου (digitalwrite, AnalogWrite) 1
2 I.1 ΣΚΟΠΟΣ Ένα σύστημα μέτρησης που χρησιμοποιεί αισθητήρες, για να μετράει διάφορες μεταβλητές στο φυσικό περιβάλλον, όπως θερμοκρασία, θέση στο χώρο, επιτάχυνση, και άλλες ακόμα μεταβλητές, απαραίτητα περιλαμβάνει έναν μικροελεγκτή. Συνδέουμε τους αισθητήρες στις αναλογικές θύρες του μικροελεγκτή, ώστε μέσα από αυτές, να διαβάζουμε τις μετρήσεις, από τους αισθητήρες (Εικόνα 1). Όμως, μέσα από τις αναλογικές και ψηφιακές θύρες του μικροελεγκτή, όχι μόνον μπορούμε να παίρνουμε δεδομένα από αισθητήρες, αλλά και να δημιουργούμε τάσεις που ξεκινούν ή σταματούν κινητήρες και ρυθμίζουν τη φορά και η ταχύτητα περιστροφής τους. Η λειτουργία του μικροελεγκτή, σ ένα σύστημα μέτρησης, να παίρνει δηλαδή τις μετρήσεις, από τους αισθητήρες του συστήματος, να τις αναλύει και να ρυθμίζει τη λειτουργία εξωτερικών συσκευών, όπως για παράδειγμα, κινητήρων και καμερών, δεν είναι δομημένη / ενσωματωμένη στα κυκλώματα του μικροελεγκτή, από τη κατασκευή του, αλλά προσδιορίζεται από ένα πρόγραμμα που εκτελείται από τον μικροεπεξεργαστή του μικροελεγκτή (Εικόνα 1) και καθορίζει κάθε λειτουργία του μιλροελεγκτή, στο σύστημα μέτρησης. Έτσι, κάθε σύστημα μέτρησης με αισθητήρες, αποτελείται από ένα αναλογικό κύκλωμα που περιλαμβάνει τους αισθητήρες και άλλες αναλογικές συσκευές, όπως κινητήρες και κάμερες και το ψηφιακό κύκλωμα που είναι ο μικροελεγκτής. Η λειτουργία του ψηφιακού κυκλώματος, δηλαδή του μικροελεγκτή στο σύστημα, καθορίζεται ολοκληρωτικά, από ένα πρόγραμμα που εκτελείται στη μονάδα επεξεργασίας του μικροελεγκτή, δηλαδή στο μικροεπεξεργαστή (Εικόνα 1). Επειδή το πρόγραμμα σ ένα συστήματος μέτρησης, είναι αυτό που ρυθμίζει όλη τη λειτουργία του συστήματος μέτρησης και χωρίς αυτό, το κύκλωμα από μόνο του, δεν θα είχε καμία λειτουργία, σ αυτή την ενότητα, εξετάζουμε τη μορφή του προγράμματος, σ ένα σύστημα μέτρησης. Ποιες δηλαδή είναι οι βασικές εντολές ενός προγράμματος που γράφουμε, για ένα σύστημα μέτρησης, αλλά που μπορεί να γράψουμε και για άλλες εφαρμογές. Ποια είναι η μορφή και η λειτουργία στο πρόγραμμα, αυτών των βασικών εντολών. I.2 Εισαγωγή Οι Γλώσσες Προγραμματισμού του Arduino Ο Arduino προγραμματίζεται στη C. Η βασική γλώσσα προγραμματισμού του Arduino, είναι η C. Αλλά μπορούμε να προγραμματίζουμε τον Arduino σε πολλές άλλες γλώσσες προγραμματισμού, κυρίως, στο LabVIEW, στη Simulink, τη Matlab και τη Processing. Το LabVIEW και η Simulink είναι πιο εξελιγμένες γλώσσες βασίζονται στον γραφικό προγραμματισμό, από τις άλλες. Σ αυτή την ενότητα, θα δούμε τις βασικές εντολές της C που χρησιμοποιούμε, για τον Arduino. Πριν όμως, προχωρήσουμε να δούμε τις εντολές μίας γλώσσας προγραμματισμού, χρειάζεται να καταλάβουμε την έννοια / την ιδέα της γλώσσας προγραμματισμού και του προγράμματος που γράφουμε σε μία γλώσσα προγραμματισμού, για μία ε 2
3 Εικόνα 1: Μέσα από τις αναλογικές και ψηφιακές θύρες του μικροελεγκτή, όχι μόνον μπορούμε να παίρνουμε δεδομένα από αισθητήρες (TMP 36), αλλά και να δημιουργούμε τάσεις που ρυθμίζουν τη λειτουργία συσκευών, όπως κινητήρες. Όλες αυτές οι λειτουργίες καθορίζονται από ένα πρόγραμμα. 3
4 φαρμογή. Τι είναι λοιπόν μία γλώσσα προγραμματισμού και τι είναι ένα πρόγραμμα που γράφουμε, σ αυτή? I.3 Τι Είναι μία Γλώσσα Προγραμματισμού? Μία φυσική γλώσσα, όπως τα Ελληνικά, τα Λατινικά και τα Αγγλικά, αποτελούνται από ένα αλφάβητο. Συνδυάζοντας τα γράμματα αυτής της αλφαβήτου, τα Α, Ο, Κ, Υ, και τα άλλα γράμματα, δημιουργούμε συλλαβές και λέξεις, για να ονομάζουμε έννοιες και αντικείμενα. Συνδυάζοντας λέξεις, δημιουργούμε ακόμα συνθετότερες γλωσσικές οντότητες, τις προτάσεις, για να περιγράφουμε ιδέες, γεγονότα και καταστάσεις. Μία γλώσσα προγραμματισμού, όπως κάθε φυσική γλώσσα, αποτελείται από ένα αλφάβητο που για όλες τις γλώσσες κειμένου τη C, C++, Java είναι το Λατινικό αλφάβητο. Θα δούμε πως στις πιο εξελιγμένες γλώσσες προγραμματισμού, στο LabVIEW και τη Simulink, η βασική μονάδα δεν είναι τα γράμματα ενός αλφάβητου, αλλά το μπλοκ, δηλαδή, η συνάρτηση. Όμως, στη C που προς το παρών, χρησιμοποιούμε, για να προγραμματίζουμε τον Arduino, η βασική δομική μονάδα, είναι τα γράμματα του Λατινικού αλφάβητου. Όπως στις φυσικές γλώσσες, έτσι και σε μία γλώσσα προγραμματισμού, συνδυάζουμε τα γράμματα του αλφαβήτου της, για να δημιουργούμε λέξεις και προτάσεις, σ αυτή τη γλώσσα. Όμως σε αντίθεση με τις λέξεις και τις προτάσεις μίας φυσικής γλώσσας που περιγράφουν γεγονότα, ιδέες και έννοιες, για την επικοινωνία με άλλους, οι προτάσεις σε μία γλώσσα προγραμματισμού, χρησιμεύουν για την επικοινωνία με τον υπολογιστή και αποκλειστικά, προσδιορίζουν στον υπολογιστή, λειτουργίες που πρέπει να εκτελέσει. Για παράδειγμα, μία πολύ συνηθισμένη πρόταση σε μία γλώσσα προγραμματισμού, μπορεί να προσδιορίζει στον υπολογιστή ή πιο συγκεκριμένα, στο μικροεπεξεργαστή ενός υπολογιστή ή μικροελεγκτή, να διαβάσει δεδομένα, από τη οθόνη του υπολογιστή ή από έναν αισθητήρα ή κάμερα. Άλλες προτάσεις, προσδιορίζουν στο μικροεπεξεργαστή πως θα αναλύσει αυτά τα δεδομένα, δηλαδή τι υπολογισμούς πρέπει να κάνει, σ αυτά τα δεδομένα. Επειδή κάθε πρόταση σε μία γλώσσα προγραμματισμού ορίζει μία συγκεκριμένη λειτουργία, στο μικροεπεξεργαστή, οι προτάσεις μίας γλώσσας προγραμματισμού ο- νομάζονται εντολές. Σε αντιδιαστολή με τις προτάσεις μίας φυσικής γλώσσας που περιγράφουν ένα άπειρο πλήθος εννοιών και ιδεών, οι εντολές, δηλαδή οι προτάσεις μίας γλώσσας προγραμματισμού, έχουν πολύ πιο περιορισμένη μορφή και σκοπό, προσδιορίζοντας βασικές λειτουργίες στο μικροεπεξεργαστή, από ένα περιορισμένο σύνολο δυνατών λειτουργιών. Επειδή οι βασικές λειτουργίες ενός μικροεπεξεργαστή δεν είναι άπειρες, αλλά περιορίζονται σ ένα σύνολο δυνατών λειτουργιών, έτσι και οι εντολές μίας γλώσσας 4
5 προγραμματισμού που προσδιορίζουν αυτές τις λειτουργίες, στον μικροεπεξεργαστή, είναι περιορισμένες στη μορφή και στο πλήθος τους. Κάθε γλώσσα προγραμματισμού δηλαδή, έχει ένα μικρό αριθμό εντολών πέντε ή έξι βασικές εντολές που χωρίζονται σε τρείς γενικές κατηγορίες: Εντολές Εισόδου Δεδομένων Εντολές Επεξεργασίας Δεδομένων Εντολές Εξόδου Κάθε κατηγορία περιλαμβάνει λίγες εντολές που καθεμία χρησιμεύει, για να προσδιορίζει στον μικροεπεξεργαστή, μία αντίστοιχη λειτουργία, στη συγκεκριμένη κατηγορία είσοδο, επεξεργασία ή έξοδο. Επιγραμματικά Μία γλώσσα προγραμματισμού είναι ένα σύνολο από λίγες προτάσεις, περίπου, πέντε ή έξι προτάσεις που ονομάζονται εντολές, γιατί καθεμία από αυτές προσδιορίζει στο μικροεπεξεργαστή, να εκτελέσει μία βασική λειτουργία, για παράδειγμα να διαβάσει ένα ή περισσότερα δεδομένα ή / και να εκτελέσει μία απλή αριθμητική ή λογική πράξη, σ αυτά τα δεδομένα. I.4 Η Έννοια του Προγράμματος: Τι Είναι ένα Πρόγραμμα? Η ιδέα του προγράμματος ανήκει τόσο στον Alan Turing, όσο και στον Von Neumann. Είναι μία από τις πολλές μεγάλες ιδέες στην επινόηση και εξέλιξη των υπολογιστών, από τον υπολογιστή των Αντικυθήρων και τη Διαφορική μηχανή του Babbage, μέχρι τους πολυπύρηνους επεξεργαστές της σημερινής εποχής και τους κβαντικούς υπολογιστές και το Βιομηχανικό Διαδίκτυο, του μέλλοντος. O Von Neumann ήταν Ούγγρος στη καταγωγή και ένας χαρισματικός μαθηματικός που σε ηλικία 23 χρόνων, έγινε ο νεότερος επίκουρος καθηγητής, στο Πανεπιστήμιο του Βερολίνου, το Το 1930 μετανάστευσε στην Αμερική, έγινε καθηγητής στο Princeton, στο τμήμα που δίδασκαν ο Einstein και ο Gödel. Συμμετείχε στο διάσημο Manhattan Project, στο πρόγραμμα δηλαδή, για την ανακάλυψη της ατομικής βόμβας και μετά το τέλος του πολέμου, συνεργάστηκε στη σχεδίαση και κατασκευή του πρώτου προγραμματιζόμενου ηλεκτρονικού υπολογιστή, του EDVAC, στο τμήμα Ηλεκτρολόγων Μηχανικών (Moore School of Electrical Engineering), στο Πανεπιστήμιο της Πεννσυλβάνιας. Ο Von Neumann, για να κρατήσει τη σχεδίαση εκείνου του υπολογιστή σχετικά απλή, έθεσε τον εξής περιορισμό: τα ηλεκτρονικά κυκλώματα εκείνου του υπολογιστή, 5
6 του EDVAC, θα μπορούσαν να εκτελούν μόνον τις βασικές πράξεις της αριθμητικής πρόσθεση, αφαίρεση, πολλαπλασιασμό και διαίρεσης και λογικές συγκρίσεις, για ισότητα ή ανισότητα. Όμως, ο υπολογιστής θα έπρεπε να μπορεί να εκτελεί όχι μόνον αυτές τις βασικές πράξεις που ήταν ενσωματωμένες στα κυκλώματα του, αλλά πολύ σύνθετους υπολογισμούς. Η επιδίωξη για εκείνο τον υπολογιστή ήταν να μπορεί να λύνει αριθμητικά, τις Μερικές Διαφορικές Εξισώσεις της Ατομικής Φυσικής που δεν μπορούσαν να λυθούν, αναλυτικά. Γι αυτό, ο Von Neumann χρησιμοποίησε την ιδέα του προγράμματος που νωρίτερα, είχε επινοήσει ο Turing. Αφού τα κυκλώματα του EDVAC δεν μπορούσαν τίποτα περισσότερο από απλές αλγεβρικές πράξεις και λογικές συγκρίσεις, ο Von Neumann πρόσθεσε σ εκείνο τον υπολογιστή, μνήμη, τη δυνατότητα δηλαδή να αποθηκεύει δεδομένα και τη Μονάδα Επεξεργασίας (Central Processing Unit). Στη μνήμη του υπολογιστή, θα αποθηκεύονταν μία λίστα με εντολές, στoν υπολογιστή, πιο συγκεκριμένα στην Αριθμητική και Λογική Μονάδα (ALU) του υπολογιστή (Εικόνα 2). Καθεμία από αυτές τις εντολές, θα προσδιόριζε στην Αριθμητική και Λογική Μονάδα (ALU), στα Αριθμητικά δηλαδή κυκλώματα του υπολογιστή, μία απλή αριθμητική πράξη. Η Μονάδα Ε- πεξεργασίας (CPU) θα διάβαζε από τη μνήμη, τη λίστα με τις εντολές και θα τις εκτελούσε τη μία μετά την άλλη, στη σειρά που ήταν γραμμένες. Η ιδέα ήταν πως αν και καθεμία από αυτές τις εντολές, ήταν / προσδιόριζε μία απλή αλγεβρική πράξη, αν η Μονάδα Επεξεργασίας (CPU) τις εκτελούσε όλες, τη μία μετά την άλλη, τότε θα είχε καταφέρει να εκτελέσει ένα πολύ σύνθετο υπολογισμό. Καθεμία από τις εντολές στη λίστα, ήταν πολύ απλή, όμως όλες μαζί αποτελούσαν / δημιουργούσαν ένα πολύ σύνθετο υπολογισμό. Αυτή η λίστα με εντολές που η Μονάδα Επεξεργασίας (CPU) του EDVAC, θα εκτελούσε τη μία μετά την άλλη, ονομάστηκε πρόγραμμα. Η κατασκευή του EDVAC που ήταν ο πρώτος προγραμματιζόμενος ηλεκτρο- Εικόνα 2: Σχηματική παράσταση της αρχιτεκτονικής Von Neumann, για τον EDVAC, το πρώτο προγραμματιζόμενο υπολογιστή που όμως, χρησιμοποιείται μέχρι σήμερα, στους σύγχρονους υπολογιστές. 6
7 νικός υπολογιστής, ολοκληρώθηκε το Από εκείνη την εποχή, μέχρι σήμερα, οι υπολογιστές είναι χιλιάδες φορές ταχύτεροι, μικρότεροι και καταναλώνουν χιλιάδες φορές λιγότερη ενέργεια, από τον EDVAC που χρειάζονταν να καταναλώνει 150 kw, για τη λειτουργία του! Η μορφή του προγράμματος έχει εξελιχθεί και αυτή, από την πολύ συμβολική μαθηματική μορφή των προγραμμάτων, για τον EDVAC, στη πολύ πιο κατανοητή μορφή των προγραμμάτων, στις σύγχρονες γλώσσες προγραμματισμού (C, C++, Java, Matlab, LabVIEW). Όμως, ακόμα και σήμερα, οι υπολογιστές διατηρούν τις αρχές και τη δομή της αρχιτεκτονικής Von Neumann. Αν και τα ολοκληρωμένα έχουν αντικαταστήσει τις λυχνίες κενού και τα τρανζίστορ των πρώτων υπολογιστών, οι σημερινοί υπολογιστές, τόσο οι υπερυπολογιστές με τους χιλιάδες παράλληλους επεξεργαστές, όσο και τα απλά laptops και tablets, όπως ο EDVAC, αποτελούνται από την Αριθμητική και Λογική Μονάδα (ALU), τη Μονάδα Επεξεργασίας (CPU) και τη Μνήμη (RAM και ROM) και η λειτουργία τους καθορίζεται από ένα πρόγραμμα μία λίστα εντολών που αποθηκεύεται στη μνήμη και που οι εντολές του μεταφέρονται από τη μνήμη στη Μονάδα Επεξεργασίας (CPU) και εκτελούνται, η μία μετά την άλλη, ο- ρίζοντας και οδηγώντας τη Μονάδα Επεξεργασίας (CPU) να εκτελεί ένα σύνθετο υπολογισμό. Επιγραμματικά Ένα πρόγραμμα είναι ένας συνδυασμός εντολών που προσδιορίζουν αριθμητικές και λογικές λειτουργίες στο μικροεπεξεργαστή που υπάρχει στον Arduino ή σ έναν υπολογιστή. Αυτές οι εντολές θα πρέπει να είναι κατανοητές, τόσο σ εμάς που τις γράφουμε, όσο και στο μικροεπεξεργαστή που θα πρέπει να τις εκτελέσει. I.5 Η Έννοια του Ολοκληρωμένου Περιβάλλοντος Ανάπτυξης (IDE) Για να γράφουμε προγράμματα, για έναν υπολογιστή ή μικροελεγκτή, όπως ο Arduino, χρησιμοποιούμε ένα περιβάλλον που ονομάζεται Ολοκληρωμένο Περιβάλλον Ανάπτυξης (Integrated Development Environment). Ανάμεσα σε άλλες λειτουργίες, το Ολοκληρωμένο Περιβάλλον Ανάπτυξης λειτουργεί σαν συντάκτης, επιτρέποντας μας, να γράφουμε τις εντολές ενός προγράμματος, όπως ανάλογα, το Word μας επιτρέπει να γράφουμε και να μορφοποιούμε κείμενο, σε μία φυσική γλώσσα. Κάθε γλώσσα έχει το δικό της ξεχωριστό Περιβάλλον Ανάπτυξης που πρέπει να χρησιμοποιούμε, για να γράφουμε προγράμματα, σ αυτή τη γλώσσα. Για παράδειγμα, για να γράφουμε προγράμματα για τον Arduino, χρειάζεται να χρησιμοποιούμε το ειδικό Περιβάλλον Ανάπτυξης, για τη γλώσσα του Arduino που είναι η C. 7
8 Εικόνα 3: Από το Περιβάλλον Ανάπτυξης, στη πλακέτα. Αφού γράψουμε ένα πρόγραμμα στο Περιβάλλον Ανάπτυξης Προγράμματος (IDE) του Arduino, πρώτα, μεταγλωττίζουμε αυτό το πρόγραμμα και μετά φορτώνουμε αυτό το πρόγραμμα στη Flash Memory, στο μικροπεξεργαστή του Arduino. To πρόγραμμα που αποθηκεύεται στη Flash Memory, εκτελείται στη μονάδα επεξεργασίας (CPU) του μικροεπεξεργαστή στον Arduino και κατά την εκτέλεση του στη CPU, διαβάζει δεδομένα ή δημιουργεί τάσεις στις αναλογικές και ψηφιακές θύρες του Arduino. 8
9 Επειδή οι εντολές μίας γλώσσας προγραμματισμού εξυπηρετούν την επικοινωνία με τον μικροεπεξεργαστή, θα πρέπει να είναι κατανοητές τόσο σ εμάς, όσο και στον μικροεπεξεργαστή. Ο προγραμματισμός, γράφει ο Langbridge είναι «η τέχνη να γράφουμε κάτι που να είναι εύκολα κατανοητό, σ εμάς, αλλά ταυτόχρονα, να μπορεί να μετατρέπεται σε μία μορφή που να είναι κατανοητή, από το μικροεπεξεργαστή. Γιατί σε αντίθεση με την άποψη που επικρατεί, οι μικροεπεξεργαστές δεν είναι καθόλου έξυπνοι και χρειάζεται να τους υποδεικνύουμε τι πρέπει να κάνουν, με ακριβείς εντολές» [Langbridge, ]. Γι αυτό και οι εντολές στις σύγχρονες γλώσσες προγραμματισμού, όπως είναι οι C, C++, Java, Matlab και LabVIEW, μοιάζουν / είναι στη μορφή των προτάσεων της Αγγλικής γλώσσας. Όμως μετά, το πρόγραμμα που γράφουμε σ αυτή τη γλώσσα προγραμματισμού, χρειάζεται να μεταγλωττιστεί, να μετατραπεί δηλαδή σε εντολές Assembly που ο μικροεπεξεργαστής στον Arduino ή σ έναν υπολογιστή, μπορεί να αναγνωρίζει και α- πευθείας, να εκτελεί. Αυτή η λειτουργία, η μεταγλώττιση δηλαδή ενός προγράμματος από μία γλώσσα υψηλού επιπέδου, όπως C σε εντολές Assembly που ο μικροεπεξεργαστής μπορεί να αναγνωρίζει, γίνεται αυτόματα, από το Περιβάλλον Ανάπτυξης (Εικόνα 3), πατώντας την εντολή Compile, στη γραμμή εντολών. Το πρόγραμμα που αρχικά, γράφουμε σε μία γλώσσα υψηλού επιπέδου (C, C++, Java, Matlab ή LabVIEW) ονομάζεται πηγαίο πρόγραμμα (source code). Το μεταγλωττισμένο πρόγραμμα στην Assembly που μπορεί να αναγνωρίζει και να εκτελεί ο μικροεπεξεργαστής, ονομάζεται αντικείμενο πρόγραμμα (object code) (Εικόνα 3). Αφού μεταγλωττίσουμε ένα πρόγραμμα, τότε το επόμενο βήμα είναι να το φορτώσουμε το αντικείμενο πρόγραμμα (object code) αυτού του προγράμματος, στο μικροεπεξεργαστή στην μνήμη ROM του μικροεπεξεργαστή και να ξεκινήσουμε την εκτέλεσή του. I.6 Σύγχρονη Μορφή του Προγραμματισμού Ο προγραμματισμός που θα εξετάσουμε στο μάθημα, είναι η πιο σύγχρονη μορφή προγραμματισμού, όπου το πρόγραμμα έχει φυσική λειτουργία. Δεν περιορίζεται δηλαδή, να διαβάζει δεδομένα από την οθόνη του υπολογιστή ή από ένα αρχείο, στο σκληρό δίσκο, αλλά η λειτουργία του επεκτείνεται σε συσκευές έξω από τον υπολογιστή, διαβάζοντας δεδομένα από αισθητήρες, μικρόφωνο ή κάμερα και ρυθμίζοντας τη λειτουργία εξωτερικών συσκευών, όπως κάμερες και κινητήρες. Αυτή είναι η μορφή του προγραμματισμού που χρησιμοποιούμε, για να δημιουργούμε / να προγραμματίζουμε σχεδόν κάθε σύγχρονο σύστημα: αυτοματισμούς, συστήματα μετρήσεων, ενσωματωμένα συστήματα, συστήματα ελέγχου και ρομποτικά συστήματα. 9
10 Ακόμα, αυτός ο προγραμματισμός είναι η βάση, για τη νέα μεγάλη ιδέα των υπολογιστών που είναι το Βιομηχανικό Διαδίκτυο, ένα παγκόσμιο δίκτυο, όπου δεν θα συνδέονται μόνον υπολογιστές, αλλά κάθε συσκευή, αναλογική ή ψηφιακή, όπως κάμερες, ηλεκτρικές συσκευές, φωτιστικά, βιομηχανικοί κινητήρες, αυτοκίνητα, ρομποτικά συστήματα και μέσα από αυτό δίκτυο, θα έχουμε πρόσβαση και θα μπορούμε να λειτουργούμε και να ελέγχουμε τη λειτουργία αυτών των συσκευών. Στις παρακάτω ενότητες, είναι μία περιγραφή των βασικών εντολών της C για τον Arduino, ξεκινώντας από τη βασική έννοια της μεταβλητής και προχωρώντας, στη μορφή ενός προγράμματος, για τον Arduino και τις εντολές εισόδου και εξόδου των προγραμμάτων, για τον Arduino. I.7 Η Έννοια της Μεταβλητής Η βασική μονάδα ενός προγράμματος, είναι η εντολή. Κάθε πρόγραμμα αποτελείται / είναι ένας συνδυασμός εντολών και κάθε εντολή προσδιορίζει μία λειτουργία, στο μικροεπεξεργαστή. Κατά κανόνα, αυτή η λειτουργία αφορά / χρησιμοποιεί δεδομένα. Για παράδειγμα, συνήθως, μία εντολή εισόδου ορίζει στο μικροεπεξεργαστή να διαβάσει τη μέτρηση από έναν αισθητήρα, ενώ οι εντολές επεξεργασίας ορίζουν στο μικροεπεξεργαστή, να εκτελέσει διάφορες αριθμητικές πράξεις ή λογικές συγκρίσεις σε δεδομένα. Σχεδόν πάντα, τα δεδομένα είναι το αντικείμενο που επάνω του εκτελείται, η λειτουργία κάθε εντολής. Στη βάση της αρχιτεκτονικής Von Neumann που εξακολουθεί να αποτελεί την αρχιτεκτονική των σύγχρονων υπολογιστών και του Arduino (Εικόνα 4), κάθε δεδομένο που πρόκειται να χρησιμοποιηθεί, σ έναν υπολογισμό, από ένα πρόγραμμα, αποθηκεύεται στη μνήμη RAM του υπολογιστή ή του μικροελεγκτή. Έτσι, όταν ο μικροεπεξεργαστής διαβάζει τη μέτρηση από έναν αισθητήρα ή την εικόνα από μία κάμερα, εκτελώντας μία αντίστοιχη εντολή, αυτόματα, αποθηκεύει αυτή το δεδομένο μέτρηση ή εικόνα στη μνήμη RAM του μικροελεγκτή. Όταν αυτή η πληροφορία μέτρηση, εικόνα, ήχος ή ότι άλλο χρειάζεται να χρησιμοποιηθεί σ ένα υπολογισμό, ο μικροεπεξεργαστής τη προσπελαύνει στη μνήμη και από εκεί, τη μεταφέρει στην Αριθμητική και Λογική Μονάδα (ALU), για να χρησιμοποιηθεί στο συγκεκριμένο υπολογισμό. Το αποτέλεσμα του υπολογισμού αποθηκεύεται και αυτό, στη μνήμη. Έτσι, κάθε εντολή ενός προγράμματος, κυρίως, κάθε εντολή επεξεργασίας δεδομένων σ ένα πρόγραμμα, περιλαμβάνει ένα κύκλο: πρόσβαση σε δεδομένα στη μνήμη RAM του μικροελεγκτή μεταφορά αυτών των δεδομένων στην Αριθμητική και Λογική Μονάδα (ALU) εκτέλεση του υπολογισμού αποθήκευση του αποτελέσματος στη μνήμη RAM. Σ αυτό το κύκλο εκτέλεσης, είναι η χρησιμότητα των μεταβλητών, καθώς η αποθήκευση ενός δεδομένου στη μνήμη, αλλά και η πρόσβαση σ αυτό, προκειμένου να χρησιμοποιηθεί σ ένα υπολογισμό, γίνεται μέσα από μία μεταβλητή. 10
11 Εικόνα 4: Αν μπορούσαμε να δούμε στο εσωτερικό του μικροεπεξεργαστή (ATmega 328), στον Arduino, θα βλέπαμε πως αυτός ο μικροεπεξεργαστής, έχει την αρχιτεκτονική von Neumann, αποτελείται δηλαδή από τη Μονάδα Ελέγχου (CU), την Αριθμητική και Λογική Μονάδα (ALU), τη Flash Memory, όπου αποθηκεύεται το πρόγραμμα που φορτώνουμε στον Arduino και τη μνήμη RAM, όπου αποθηκεύονται τα δεδομένα του προγράμματος. 11
12 Εικόνα 5: Οι πρώτες εντολές σ ένα πρόγραμμα, για τον Arduino, είναι οι δηλώσεις των σταθερών και των μεταβλητών που θα χρησιμοποιήσουμε, στο πρόγραμμα. Η μεταβλητή είναι ένα όνομα που χρησιμοποιούμε, για να ονομάζουμε μία θέση στη μνήμη RAM του μικροελεγκτή. Χρησιμοποιούμε το όνομα μίας μεταβλητής, για να αποθηκεύουμε ένα δεδομένο, σε μία θέση μνήμης. Χρησιμοποιούμε πάλι το όνομα της μεταβλητής, για να προσπελαύνουμε το δεδομένο ή πληροφορία, σ αυτή τη θέση μνήμης και να το μεταφέρουμε στην Αριθμητική και Λογική Μονάδα (ALU), για να χρησιμοποιηθεί, σ έναν υπολογισμό. Η μεταβλητή είναι το μέσο, μέσα από το οποίο αποθηκεύουμε ένα δεδομένο, σε μία θέση μνήμης και μετά, να προσπελαύνουμε αυτό το δεδομένο, για να το χρησιμοποιούμε, σε υπολογισμούς. Οι πρώτες εντολές που γράφουμε ή που συναντάμε, σ ένα πρόγραμμα, είναι οι δηλώσεις των μεταβλητών που θα χρησιμοποιήσουμε, σ αυτό το πρόγραμμα (Εικόνα 5). Όταν δηλώνουμε μία μεταβλητή, τότε ο μικροεπεξεργαστής εκχωρεί / δεσμεύει χώρο τη μνήμη του υπολογιστή, γι αυτή τη μεταβλητή. Ο χώρος που δεσμεύεται στη μνήμη του υπολογιστή, για μία μεταβλητή, εξαρτάται από το τύπο αυτής της μεταβλητής, αν δηλαδή στη θέση / χώρο μνήμης αυτής της μεταβλητής, θα αποθηκεύουμε ακέραιες, πραγματικές, χαρακτήρες ή λογικές (True ή False) τιμές. Κάθε μεταβλητή που χρησιμοποιούμε / ορίζουμε σε προγράμματα που γράφουμε, για τον Arduino, μπορεί να έχει έναν, από τους παρακάτω τέσσερεις τύπους: 12
13 Εικόνα 6: Η λειτουργία της analogread(). Η συνάρτηση analogread(temp) διαβάζει τη τάση, έστω 0.74 V που δημιουργείται στη θύρα TEMP = 0, του Arduino, από τον αισθητήρα θερμοκρασίας και επιστρέφει στη loop(), μία τιμή που είναι ανάλογη αυτής της τάσης που για τάση 0.74 V, είναι η τιμή 151. Έτσι, όταν η εντολή val = analogread(temp); εκτελείται από το μικροεπεξεργαστή, η τιμή 151 που επιστρέφει η analogread(), αποθηκεύεται στη θέση μνήμης της μεταβλητής val, στη μνήμη RAM του Arduino. 13
14 int (ακέραια μεταβλητή) float (πραγματική μεταβλητή) char (χαρακτήρας) boolean (λογική μεταβλητή) Αν για παράδειγμα, δηλώσουμε τη μεταβλητή val ως ακέραια (Εικόνα 5): int val; τότε ο μικροεπεξεργαστής δεσμεύει δύο bytes στη μνήμη του μικροελεγκτή, για τη μεταβλητή val, ώστε σ αυτά τα bytes, να αποθηκεύουμε ακέραιες τιμές. Αφού δηλώσουμε μία μεταβλητή να έχει ένα συγκεκριμένο τύπο, τότε αυτή η μεταβλητή δεν μπορεί, παρά να παίρνει τιμές αυτού του τύπου. Αν για παράδειγμα, δηλώσουμε μία μεταβλητή ως ακέραια, όπως τη μεταβλητή val, τότε στο πρόγραμμα, η μεταβλητή val θα μπορεί να παίρνει μόνον ακέραιες τιμές, δηλαδή θα μπορούμε να χρησιμοποιούμε τη θέση μνήμης της μεταβλητής val, για να αποθηκεύουμε μόνον ακέραιες τιμές. Λίγο παρακάτω, στο πρόγραμμα της Εικόνας 5, η εντολή: val = analogread(temp); αποθηκεύει στη μεταβλητή val, δηλαδή, στο χώρο μνήμης που έχει εκχωρηθεί στη μεταβλητή val, τη τιμή που επιστρέφει η analogread(temp), αφού διαβάσει τη μέτρηση από τον αισθητήρα θερμοκρασίας (Εικόνα 6). Η επόμενη εντολή, V = (float) val / 204.6; προσπελαύνει τη τιμή στη θέση μνήμης της μεταβλητής val, όπου προηγούμενα, έ- χουμε αποθηκεύσει τη τελευταία μέτρηση από τον αισθητήρα θερμοκρασίας και διαιρεί αυτή τη τιμή δια 204.6, για να υπολογίσει τη πραγματική τάση που δημιουργεί ο αισθητήρας, στη θύρα TEMP = A0 του Arduino. Μετά, αποθηκεύει αυτή τη τιμή τάσης, στη μεταβλητή V, δηλαδή στο χώρο στη μνήμη που έχει εκχωρηθεί στη μεταβλητή V (Εικόνα 7). Η επόμενη εντολή, Temp = 100 * (V 0.5); χρησιμοποιεί τη χαρακτηριστική καμπύλη του αισθητήρα θερμοκρασίας, για να μετατρέψει τη τάση που δημιουργεί ο αισθητήρας στην A0 του Arduino, στην αντίστοιχη τιμή θερμοκρασίας. Παίρνουμε τη τάση που δημιουργεί ο αισθητήρας, από τη μεταβλητή V, όπου προηγούμενα, την έχουμε αποθηκεύσει και χρησιμοποιούμε την εξίσωση της χαρακτηριστικής καμπύλης του αισθητήρα, για να μετατρέψουμε αυτή τη τάση, στην αντίστοιχη τιμή θερμοκρασίας. Μετά, αποθηκεύουμε αυτή τη τιμή, στη μεταβλητή Temp (Εικόνα 7). Έτσι, η μεταβλητή Temp έχει τη πραγματική μέτρηση θερμοκρασίας, από τον αισθητήρα. Έχοντας αποθηκεύσει τη πραγματική τιμή θερμοκρασίας, στη μεταβλητή 14
15 Εικόνα 7: Η λειτουργία των μεταβλητών σ ένα πρόγραμμα. Οι μετρήσεις από αισθητήρες, αλλά και τα ενδιάμεσα αποτελέσματα υπολογισμών από ένα πρόγραμμα, αποθηκεύονται σε μεταβλητές του προγράμματος, πιο σωστά στις θέσεις μνήμης μεταβλητών του προγράμματος. Μέσα από αυτές τις μεταβλητές, μπορεί μετά, τα δεδομένα να προσπελαύνονται και να χρησιμοποιούνται σε επόμενους υπολογισμούς του προγράμματος. 15
16 Temp, μπορούμε, μέσα από τη μεταβλητή, να χρησιμοποιήσουμε αυτή τη τιμή θερμοκρασίας, στο πρόγραμμα, για να λειτουργήσουμε μία εξωτερική συσκευή, για παράδειγμα, να ανάψουμε μία LED ή να λειτουργήσουμε το κινητήρα ενός κλιματιστικού, ανάλογα με τη τιμή θερμοκρασίας. I.8 Η Γενική Μορφή ενός Προγράμματος, για τον Arduino Κάθε πρόγραμμα στον Arduino αποτελείται από δύο τουλάχιστον συναρτήσεις. Η πρώτη, η συνάρτηση setup (), περιλαμβάνει ορισμούς. Σ αυτή δηλαδή τη συνάρτηση, ορίζουμε τη ταχύτητα αποστολής δεδομένων, σε bits/sec, ανάμεσα στο Arduino και τον υπολογιστή. Ακόμα, ορίζουμε αν μία θύρα του Arduino θα λειτουργεί σαν θύρα εισόδου, γιατί σ αυτή, θα έχουμε συνδέσει έναν αισθητήρα ή αντίθετα, αν αυτή η θύρα θα λειτουργεί σαν θύρα εξόδου, δημιουργώντας τάση 5 V, σ ένα κύκλωμα, για να ανάψει μία LED ή να ξεκινήσει έναν κινητήρα. Η δεύτερη συνάρτηση που πάντα υπάρχει πάντα σ ένα πρόγραμμα, για τον Arduino, είναι η loop () (Εικόνα 8). Αυτή η συνάρτηση δημιουργεί μία ατέρμονη επανάληψη που χωρίς τέλος, εκτελεί τις εντολές στο εσωτερικό της, δηλαδή τις εντολές, ανάμεσα στις αγκύλες που ορίζουν που αρχίζει και που τελειώνει ο κώδικας οι εντολές μίας συνάρτησης. Γενικά, η λέξη void πριν από το όνομα μίας συνάρτησης, σημαίνει πως αυτή η συνάρτηση δεν επιστρέφει καμία τιμή, στο πρόγραμμα που τις καλεί. Όμως, οι συναρτήσεις setup () και loop (), σ ένα πρόγραμμα για τον Arduino, δεν καλούνται / δεν χρησιμοποιούνται, από κανένα άλλο πρόγραμμα. Αντίθετα, αυτές οι συναρτήσεις και οι εντολές που περιέχουν, αποτελούν το πρόγραμμα που γράφουμε, για τον Arduino και που μπορεί να περιέχει και να καλεί άλλες συναρτήσεις, για να εκτελούν επιμέρους λειτουργίες, της δικής του λειτουργίας. Έτσι, η λέξη void πριν από τη setup(), αλλά και πριν τη loop() σημαίνει πως τόσο η μία, όσο και η άλλη, δεν καλούνται από κάποιο άλλο πρόγραμμα και δεν επιστρέφουν καμία τιμή, σε κανένα άλλο πρόγραμμα. Απλά, αυτές οι συναρτήσεις, αυτόματα, εκτελούνται η μία μετά την άλλη, αμέσως μόλις φορτώσουμε ένα πρόγραμμα που τις περιέχει, στον Arduino. I.9 H Συνάρτηση analogread(): Διαβάζοντας τη Μέτρηση από έναν Αισθητήρα Η πρώτη εντολή στη loop(), στο πρόγραμμα της Εικόνας 8, είναι η εντολή: val = analogread(temp); Χρησιμοποιούμε την analogread(), σχεδόν, σε κάθε πρόγραμμα που γράφουμε, για τον Arduino, για να διαβάζουμε τη μέτρηση, από έναν ή περισσότερους αισθητήρες, σε μεταβλητές του προγράμματος. H analogread(), στο πρόγραμμα της Εικόνας 8, διαβάζει στη μεταβλητή val, τη μέτρηση από τον αισθητήρα θερμοκρασίας. Η analogread() είναι μία εσωτερικά 16
17 Εικόνα 8: Κάθε πρόγραμμα, για τον Arduino, αποτελείται από τις δηλώσεις των μεταβλητών, στην αρχή του προγράμματος και δύο τουλάχιστον συναρτήσεις, τη setup() και τη loop(). ορισμένη συνάρτηση, δηλαδή μία συνάρτηση που ήδη, έχει γραφεί από άλλους και περιέχεται στη βιβλιοθήκη / στο κατάλογο συναρτήσεων, για τον Arduino και που μπορούμε να χρησιμοποιούμε, χωρίς να χρειάζεται να τις έχουμε γράψουμε, εμείς. Η analogread(), στο πρόγραμμα της Εικόνας 8, διαβάζει τη μέτρηση από τον αισθητήρα θερμοκρασίας, στη μεταβλητή val. Μετά, στο πρόγραμμα, χρησιμοποιούμε τη τιμή της μεταβλητής val, για να ανάψουμε ή να σβήσουμε μία LED, ανάλογα με τη τιμή αυτής της μεταβλητής. Η analogread() δείχνει τα δύο βασικά χαρακτηριστικά των συναρτήσεων: την έννοια της παραμέτρου και την έννοια της τιμής που επιστρέφει μία συνάρτηση. 17
18 I.9.1 Η έννοια της Παραμέτρου μίας Συνάρτησης Όταν καλούμε, δηλαδή, όταν χρησιμοποιούμε την analogread() σ ένα πρόγραμμα, για να διαβάσουμε την μέτρηση από έναν αισθητήρα, χρειάζεται να προσδιορίσουμε σε ποια από τις αναλογικές θύρες του Arduino, έχουμε συνδέσει αυτό τον αισθητήρα. Οι περισσότεροι αισθητήρες είναι αναλογικές συσκευές και γι αυτό, συνήθως, συνδέουμε κάθε αισθητήρα, σε μία αναλογική θύρα του Arduino. Έτσι, όταν σ ένα πρόγραμμα, καλούμε τη συνάρτηση analogread(), για να διαβάσουμε τη μέτρηση από έναν αισθητήρα, δίπλα από το όνομα της συνάρτησης, χρειάζεται να χρησιμοποιήσουμε μία μεταβλητή ή μία σταθερά που προσδιορίζει τη θύρα του Arduino που έχουμε συνδέσει αυτό τον αισθητήρα. Για παράδειγμα, στο πρόγραμμα της Εικόνας 8, δίπλα από το όνομα της analogread(), χρησιμοποιούμε τη σταθερά TEMP στη οποία, προηγούμενα, έχουμε δώσει τη τιμή 0 για να προσδιορίσουμε πως η analogread() θα πρέπει να διαβάσει την τιμή του αισθητήρα θερμοκρασίας, από την αναλογική θύρα 0 του Arduino. I.9.2 Η Επιστροφή μίας Τιμής από μία Συνάρτηση Αφού η συνάρτηση analogread(), διαβάσει τη τιμή του ποτενσιόμετρου, ή γενικότερα, τη μέτρηση ενός αισθητήρα, από μία αναλογική θύρα του Arduino, επιστρέφει αυτή τη τιμή, στο πρόγραμμα. Το πρόγραμμα καλεί / χρησιμοποιεί τη συνάρτηση analogread(), μεταβιβάζοντας σ αυτή, μία πληροφορία τη θύρα που έχουμε συνδέσει ένα αισθητήρα. H analogread() χρησιμοποιεί αυτή τη πληροφορία, για να διαβάσει τη τάση που δημιουργείται στη συγκεκριμένη θύρα, από τον αισθητήρα και ε- πιστρέφει μεταβιβάζει πίσω στο πρόγραμμα αυτή τη τάση. Για να χρησιμοποιήσουμε τη μέτρηση από έναν αισθητήρα που διαβάζει και επιστρέφει στο πρόγραμμα, η analogread(), εκχωρούμε αυτή τη τιμή σε μία μεταβλητή. Αυτή είναι η έννοια του συμβόλου της ισότητας, ανάμεσα στη μεταβλητή val και τη συνάρτηση analogread(): val = analogread(temp); Δηλαδή, το σύμβολο ίσον ( = ), ανάμεσα στην analogread() και τη μεταβλητή val, δεν εκφράζει την ισότητα, ανάμεσα στις παραστάσεις στα αριστερά και στα δεξιά αυτού του συμβόλου, αλλά λειτουργεί ώστε η τιμή / η μέτρηση που διαβάζει η analogread(), από μία αναλογική θύρα του Arduino, να αποθηκεύεται στη μεταβλητή val (Εικόνα 6). Μετά, από αυτή την εκχώρηση, η μεταβλητή val θα έχει σαν τιμή, τη τιμή που επιστρέφει η analogread(), στο πρόγραμμα. Ο σκοπός τηε αποθήκευσης αυτής της τιμής στη μεταβλητή val, είναι ώστε μετά, να χρησιμοποιήσουμε αυτή τη τιμή, για να ανάψουμε τη LED ή να περιστρέψουνε ή όχι, ένα κινητήρα. Η analogread(), είναι η συνάρτηση που ίσως περισσότερο από κάθε άλλη, θα χρησιμοποιούμε στα προγράμματα, για τον Arduino, για να διαβάζουμε δεδομένα από αισθητήρες και άλλα όργανα μέτρησης. Αν και η συνάρτηση είναι εσωτερικά ορισμένη και δεν έχουμε γράψει ή δει το κώδικα αυτής της συνάρτησης, από τη λειτουργία 18
19 της, μπορούμε να δούμε τα βασικότερα χαρακτηριστικά των συναρτήσεων, στο προγραμματισμό. Δηλαδή, 1. Μία συνάρτηση έχει ένα όνομα και χρησιμοποιείται από ένα πρόγραμμα, για να εκτελεί μία επιμέρους λειτουργία αυτού του προγράμματος. Για παράδειγμα, η analogread() χρησιμοποιείται από ένα πρόγραμμα, για τον Arduino, για να διαβάζει τη μέτρηση, από έναν ή και περισσότερους αισθητήρες. 2. Ένα πρόγραμμα καλεί / χρησιμοποιεί μία συνάρτηση, προσδιορίζοντας το όνομα αυτής της συνάρτησης και δίπλα στο όνομα της συνάρτησης, μία ή περισσότερες παραμέτρους που προσδιορίζουν απαραίτητα δεδομένα ή πληροφορίες στη συνάρτηση, για τη λειτουργία της και 3. Κάθε συνάρτηση μπορεί να επιστρέφει στο πρόγραμμα που τη καλεί μία τιμή, σαν αποτέλεσμα της λειτουργίας της. Για παράδειγμα, η analogread(), αφού διαβάσει τη μέτρηση ενός αισθητήρα, από μία θύρα του Arduino, επιστρέφει στο πρόγραμμα που τη καλεί, μία τιμή που είναι ανάλογη αυτής της μέτρησης. I.9.3 Το πεδίο Τιμών της analogread() Έτσι, η analogread() διαβάζει τη μέτρηση από έναν αισθητήρα και μέσα από την εντολή εκχώρησης, αποθηκεύει αυτή τη τιμή σε μία μεταβλητή. Αυτή είναι η λειτουργία της analogread(). Χρειάζεται όμως, μία διευκρίνηση σχετικά με το πεδίο ο- ρισμού και το πεδίο τιμών της analogread(). H analogread() διαβάζει τη μέτρηση από ένα αισθητήρα που έχουμε συνδέσει σε μία αναλογική θύρα του Arduino. Κάθε αισθητήρας μετράει μία μεταβλητή και συνήθως, παριστάνει αυτή τη τιμή αυτής της μεταβλητής, κάθε χρονική στιγμή, μέσα από μία τάση που δημιουργεί στον ακροδέκτη εξόδου του, αυτό τον ακροδέκτη που συνδέουμε, σε μία αναλογική θύρα του Arduino. Έτσι, η μέτρηση που παίρνουμε από έναν αισθητήρα που έχουμε συνδέει σε μία αναλογική θύρα του Arduino, είναι στη μορφή μίας τάσης Οι περισσότεροι αισθητήρες παριστάνουν τη τιμή της μεταβλητής που μετρούν, δημιουργώντας μία τάση, από 0 5 V. Η analogread() διαβάζει αυτή τη τιμή τάσης που δημιουργεί ένας αισθητήρας, διαβάζει δηλαδή, μία τιμή 0 5 V. Αλλά, αυτόματα, η analogread() μετατρέπει αυτή τη τιμή τάσης, σε μία τιμή στο πεδίο τιμών , αντιστοιχίζοντας τάση 0 V, στη τιμή 0 και τάση 5 V, στη τιμή Έτσι, ενώ οι τιμές που διαβάζει η analogread(), είναι από 0 5 V, οι τιμές που επιστρέφει στο πρόγραμμα, είναι , μετατρέποντας τιμές τάσης, σε αντίστοιχες τιμές, στο πεδίο τιμών I.10 H Συνάρτηση map(): Αντιστοιχίζοντας τιμές από ένα Πεδίο Τιμών, σ Ένα Άλλο Μία άλλη συνάρτηση, η συνάρτηση, 19
20 map(val, 563, 1023, 0, 255) λειτουργεί ώστε να μετατρέπει τη τιμή της μεταβλητής val, από μία τιμή στο διάστημα [563, 1023] σε μία τιμή, στο διάστημα [0, 255]. I.11 Δημιουργώντας Ψηφιακές Τάσεις: H Εντολή digitalwrite() Είδαμε παραπάνω πως ένα πρόγραμμα που γράφουμε, για τον Arduino, μπορεί να διαβάζει το εξωτερικό περιβάλλον, διαβάζοντας τις τάσεις που δημιουργούνται στις αναλογικές θύρες εισόδους του Arduino, από διάφορους αισθητήρες. Όμως, ένα πρόγραμμα μπορεί όχι μόνον να διαβάζει τη τάση σε μία αναλογική είσοδο του Arduino, αλλά και να δημιουργεί τάση από 0 5 V σε μία ή περισσότερες θύρες του Arduino που δηλώνουμε ως θύρες εξόδου. Η τάση που ένα πρόγραμμα δημιουργεί σε μία θύρα του Arduino, μπορεί να ανάβει μία LED. Κυρίως όμως, η τάση που ένα πρόγραμμα δημιουργεί σε μία ή περισσότερες θύρες εξόδου του Arduino μπορεί να περιστρέφει έναν ή περισσότερους κινητήρες που μπορεί να έχουν διάφορες λειτουργίες: να κινούν ένα ρομποτικό αυτοκίνητο ή ένα ρομποτικό βραχίονα, να είναι μέρος ενός αυτοματισμού που λειτουργεί το κλιματισμό ή το φωτισμό μίας εγκατάστασης ή ένα ποτιστικό σύστημα ή ένα συναγερμό. Έτσι, ένα πρόγραμμα μπορεί να ελέγχει και να αλλάζει τη κατάσταση του εξωτερικού περιβάλλοντος, μέσα από τη λειτουργία ενός ή περισσότερων κινητήρων. Ένα πρόγραμμα, πολύ απλά, μπορεί να δημιουργεί τάση 0 V ή 5 V, σε μία θύρα του Arduino, μέσα από τη συνάρτηση digitalwrite() που έχει τη μορφή: digitalwrite(θύρα, Πλάτος); Παρατηρούμε πως η digitalwrite() έχει δύο παραμέτρους. Δηλαδή, στις παρενθέσεις, μετά το όνομα της συνάρτησης, χρειάζεται να ορίζουμε δύο σταθερές. Η πρώτη παράμετρος προσδιορίζει μία θύρα εξόδου του Arduino. Η δεύτερη παράμετρος της συνάρτησης, δημιουργεί μία τάση 0 5 V, σε μία θύρα εξόδου του Arduino. Για παράδειγμα, η εντολή: digitalwrite(en, HIGH); δημιουργεί τάση 5 V (HIGH) στη θύρα ΕΝ = 9 του Arduino που προηγούμενα, έ- χουμε δηλώσει ως θύρα εξόδου με την εντολή pinmode(en, OUTPUT). I.12 Δημιουργώντας Αναλογικές Τάσεις με την Εντολή analogwrite() Ένα πρόγραμμα, εκτός από μία ψηφιακή τάση, δηλαδή τάση 0 V ή 5 V, μπορεί να δημιουργεί αναλογική τάση, σε μία θύρα εξόδου με τη συνάρτηση analogwrite(). Αυτή η συνάρτηση έχει τη μορφή: 20
21 analogwrite(θύρα, Εύρος_Τάσης); H analogwrite() δημιουργεί τάση στη θύρα του Arduino που προσδιορίζεται από τη πρώτη παράμετρο της συνάρτησης. Όμως, σε αντιδιαστολή με τη digitalwrite(), η τάση που δημιουργεί η analogwrite() δεν περιορίζεται σε μία από δύο τιμές, δηλαδή 0 V ή 5 V, αλλά μπορεί να έχει οποιαδήποτε τιμή, από 0 V έως 5 V που προσδιορίζεται από τη δεύτερη παράμετρο της συνάρτησης. Λίγο αναλυτικότερα, η δεύτερη παράμετρος της analogwrite() είναι μία μεταβλητή ή σταθερά που μπορεί να παίρνει τιμές στο διάστημα [0, 255]. Αν αυτή η μεταβλητή έχει τη τιμή 0, τότε η συνάρτηση analogwrite() δημιουργεί μία τάση 0 V. Αν αντίθετα, αυτή η δεύτερη παράμετρος της συνάρτησης έχει τη τιμή 255, τότε η συνάρτηση δημιουργεί τάση 5 V. Για ενδιάμεσες τιμές της δεύτερης παραμέτρου, η analogwrite() δημιουργεί ενδιάμεσες τιμές τάσης, από 0 V έως 5 V. Για παράδειγμα, η analogwrite() με παραμέτρους, όπως παρακάτω: analogwrite(en, 153); δημιουργεί στη θύρα EN = 9 του Arduino, μία τάση V = 3 V (Εικόνα ). Αν δηλαδή συνδέσουμε ένα πολύμετρο στη θύρα 9 του Arduino, συνδέοντας τον ένα ακροδέκτη του πολυμέτρου στη θύρα 9 και τον άλλο ακροδέκτη, στο GND, τότε μετά την εκτέλεση της παραπάνω εντολής, το πολύμετρο θα δείχνει τάση V = 3 V (Εικόνα ). Ι.12.1 Η Διαμόρφωση Εύρους Παλμού της analogwrite() Η analogwrite() μπορεί να δημιουργεί τάση σε μία θύρα του Arduino που να παίρνει οποιαδήποτε τιμή, ανάμεσα στα 0 V και 5 V. Όμως, η τάση που δημιουργεί η analogwrite() δεν είναι μία σταθερή τάση που η τιμή της παραμένει αμετάβλητή σ ένα επίπεδο τάσης, για παράδειγμα στα 3 V, αλλά ένας τετραγωνικός παλμός (Εικόνα 9). Αυτός ο τετραγωνικός παλμός έχει την ίδια πάντα συχνότητα, που είναι η συχνότητα λειτουργίας του Arduino, δηλαδή 500 παλμοί, το δευτερόλεπτο. Ακόμα, το πλάτος αυτού του παλμού είναι σταθερό. Το θετικό τμήμα του παλμού έχει πλάτος (amplitude) 5 V (Εικόνα 9). Αυτό που μεταβάλλεται στο παλμό που δημιουργεί η analogwrite() δεν είναι η συχνότητα ή το πλάτος, αλλά το εύρος του παλμού, δηλαδή η σχετική διάρκεια του θετικού τμήματος του παλμού, σαν ποσοστό της περιόδου του παλμού (Εικόνα 9). Η δεύτερη παράμετρος στην analogwrite(), το Εύρος_Παλμού που παίρνει τιμές από 0 έως 255, προσδιορίζει όχι τη συχνότητα ή το πλάτος του τετραγωνικού παλμού που δημιουργεί η analogwrite(), αλλά το εύρος του θετικού τμήματος, δηλαδή τη διάρκεια του θετικού τμήματος αυτού του παλμού, σαν ποσοστό της περιόδου του παλμού (Εικόνα 9). Μεταβάλλοντας το εύρος του τετραγωνικού παλμού, η analogwrite() μπορεί να δημιουργεί διαφορετικά επίπεδα τάσης, στη κλίμακα 0 5 V, σε μία ή περισσότερες θύρες του Arduino. 21
22 Εικόνα 9: Η έννοια της διαμόρφωσης εύρους παλμού.. Αυτή η τεχνική να δημιουργούμε διαφορετικά επίπεδα / τιμές τάσης, μεταβάλλοντας το εύρος ενός τετραγωνικού παλμού, ονομάζεται διαμόρφωση εύρους παλμού και χρησιμοποιείται πολύ, για να μεταβάλλουμε / ρυθμίζουμε τόσο την ένταση φωτισμού μίας LED, όσο και τη ταχύτητα περιστροφής ενός DC κινητήρα. 22
Σκοπός. Προγραμματίζοντας τον Arduino ΙΙ Εντολή Εκχώρησης & Εντολές. Συλλογή & Επεξεργασία Δεδομένων. Πρόγραμμα. Εντολές Επεξεργασίας Δεδομένων
Σκοπός Συλλογή & Επεξεργασία Δεδομένων Προγραμματίζοντας τον Arduino ΙΙ Εντολή Εκχώρησης & Εντολές Ελέγχου. Πρόγραμμα Εντολές Επεξεργασίας Δεδομένων Εντολή Εκχώρησης Εντολές Ελέγχου Λογική συνθήκη Εντολή
Διαβάστε περισσότεραΜέτρηση Θερμοκρασίας με τον αισθητήρα TMP36. Σύστημα Συλλογής & Επεξεργασίας Μετρήσεων. Βασική δομή ενός προγράμματος στο LabVIEW.
Σκοπός Μάθημα 2 Δραστηριότητα 1 Μέτρηση Θερμοκρασίας με τον αισθητήρα TMP36. Σύστημα Συλλογής & Επεξεργασίας Μετρήσεων Βασική δομή ενός προγράμματος στο LabVIEW. Εμπρόσθιο Πλαίσιο (front panel). Σχεδίαση
Διαβάστε περισσότεραΕγκατάσταση του Arduino IDE
ΑΣΠΑΙΤΕ Συλλογή και Επεξεργασία Δεδομένων Εργαστήριο ΠΕΡΙΕΧΟΜΕΝΑ: Πώς να κατεβάσετε και να εγκαταστήσετε το Ολοκληρωμένο Περιβάλλον Ανάπτυξης (IDE), για το προγραμματισμό του Arduino. Χρησιμοποιώντας το
Διαβάστε περισσότεραΣυλλογή & Επεξεργασία Δεδομένων Εργαστήριο 1. Arduino + LabVIEW: Μέτρηση Έντασης Φωτός με Φωτοαντίσταση. Σύστημα Συλλογής & Επεξεργασίας Μετρήσεων
Σκοπός Συλλογή & Επεξεργασία Δεδομένων Εργαστήριο 1 Arduino + LabVIEW: Μέτρηση Έντασης Φωτός με Φωτοαντίσταση. Σύστημα Συλλογής & Επεξεργασίας Μετρήσεων Βασική δομή ενός προγράμματος στο LabVIEW. Εμπρόσθιο
Διαβάστε περισσότεραΣυλλογή & Επεξεργασία Δεδομένων Εργαστήριο 5. Ρυθμίζοντας τη Φορά Περιστροφής. Σύστημα Συλλογής & Επεξεργασίας Μετρήσεων
Σκοπός Συλλογή & Επεξεργασία Δεδομένων Εργαστήριο 5 Ρυθμίζοντας τη Φορά Περιστροφής DC Κινητήρα. Σύστημα Συλλογής & Επεξεργασίας Μετρήσεων Βασική δομή ενός προγράμματος στο LabVIEW. Εμπρόσθιο Πλαίσιο (front
Διαβάστε περισσότεραΣυλλογή & Επεξεργασία Δεδομένων Εργαστήριο 2 USB και Σειριακή Επικοι- νωνία Σ Σειριακή Επικοινωνία
Συλλογή & Επεξεργασία Δεδομένων Εργαστήριο 2 USB και Σειριακή Επικοινωνία. Σειριακή Επικοινωνία USB Σύνδεση / Πρωτόκολλο Σκοπός Εντολή επιλογής (if) Εντολή Επανάληψης (while) Πίνακες 1 Μέρος Α : Σκοπός
Διαβάστε περισσότεραΜάθημα 1 ΑΙΣΘΗΤΗΡΕΣ Ο Αισθητήρας Δύναμης. Επανεξέταση των βασικών εννοιών της C και του προγραμματισμού.
Σκοπός Σχεδίαση Συστημάτων με τον Arduino Μάθημα 1 ΑΙΣΘΗΤΗΡΕΣ Ο Αισθητήρας Δύναμης. Επανεξέταση των βασικών εννοιών της C και του προγραμματισμού. Κατανόηση των βημάτων στη συστηματική ανάπτυξη ενός προγράμματος.
Διαβάστε περισσότεραΨηφιακά Αντικείμενα Μάθημα 1 Δραστηριότητα 2. Προγραμματισμός Φυσικών Συστημάτων. Συστήματα Πραγματικών Εφαρμογών. Νέα Ψηφιακά Αντικείμενα
Σκοπός Ψηφιακά Αντικείμενα Μάθημα 1 Δραστηριότητα 2 ΤΟ ΣΥΣΤΗΜΑ ΣΑΡΩΣΗΣ ΤΟΥ ΟΠΤΙΚΟΥ ΠΕΔΙΟΥ. Ψηφιακά Αντικείμενα Μικροελεγκτής Προγραμματισμός Φυσικών Συστημάτων Συστήματα Πραγματικών Εφαρμογών Νέα Ψηφιακά
Διαβάστε περισσότεραΣυλλογή & Επεξεργασία Δεδομένων Εργαστήριο 3 Μέτρηση Θερμοκρασίας Σύστημα Ελέγχου Θερμοκρασίας. Σύστημα Συλλογής & Επεξεργασίας Μετρήσεων
Συλλογή & Επεξεργασία Δεδομένων Εργαστήριο 3 Μέτρηση Θερμοκρασίας Σύστημα Ελέγχου Θερμοκρασίας με Θερμοστάτη. Σύστημα Συλλογής & Επεξεργασίας Μετρήσεων Σκοπός Βασική δομή ενός προγράμματος στο LabVIEW.
Διαβάστε περισσότεραΣκοπός. Αλγεβρικοί και Λογικοί Υπολογισμοί στη PASCAL
Αλγεβρικοί και Λογικοί Υπολογισμοί στη PASCAL Δυνατότητα ανάπτυξης, μεταγλώττισης και εκτέλεσης προγραμμάτων στη PASCAL. Κατανόηση της σύνταξης των προτάσεων της PASCAL. Κατανόηση της εντολής εξόδου για
Διαβάστε περισσότεραΣυλλογή & Επεξεργασία Δεδομένων Εργαστήριο 4. Οδηγώντας έναν DC Κινητήρα. Το κύκλωμα της Λειτουργίας DC Κινητήρα
Σκοπός Συλλογή & Επεξεργασία Δεδομένων Εργαστήριο 4 Οδηγώντας έναν DC Κινητήρα. Το κύκλωμα της Λειτουργίας DC Κινητήρα Τρανζίστορ στη Λειτουργία ενός DC Κινητήρα. Η Χρήση της Διόδου. Το Πρόγραμμα που Οδηγεί
Διαβάστε περισσότεραΣυλλογή & Επεξεργασία Δεδομένων Εργαστήριο 7 Ακούγοντας Πρώτη Ματιά στην Ανάλυση Fourier. Σύστημα Συλλογής & Επεξεργασίας Μετρήσεων
Συλλογή & Επεξεργασία Δεδομένων Εργαστήριο 7 Ακούγοντας Πρώτη Ματιά στην Ανάλυση Fourier. Σύστημα Συλλογής & Επεξεργασίας Μετρήσεων Σκοπός Βασική δομή ενός προγράμματος στο LabVIEW. Εμπρόσθιο Πλαίσιο (front
Διαβάστε περισσότεραΣυλλογή & Επεξεργασία Δεδομένων Εργαστήριο 8. Μετρώντας Επιτάχυνση με το Accelerόμετρο (ADXL 335) Σύστημα Συλλογής & Επεξεργασίας Μετρήσεων
Σκοπός Συλλογή & Επεξεργασία Δεδομένων Εργαστήριο 8 Μετρώντας Επιτάχυνση με το Accelerόμετρο (ADXL 335). Σύστημα Συλλογής & Επεξεργασίας Μετρήσεων Βασική δομή ενός προγράμματος στο LabVIEW. Εμπρόσθιο Πλαίσιο
Διαβάστε περισσότεραΚεφάλαιο Το υπολογιστικό σύστημα Η εξέλιξη του ανθρώπου πραγματοποιήθηκε χάρη στην ικανότητά στον χειρισμό εργαλείων.
Α Γενικού Λυκείου Κεφάλαιο 1 1.1 Το υπολογιστικό σύστημα Η εξέλιξη του ανθρώπου πραγματοποιήθηκε χάρη στην ικανότητά στον χειρισμό εργαλείων. Ιδιαίτερη θέση έχουν οι Υπολογιστικές συσκευές. Μηχανισμός
Διαβάστε περισσότεραΨηφιακά Αντικείμενα Μάθημα 1 Δραστηριότητα 1. Προγραμματισμός Φυσικών Συστημάτων. Νέα Ψηφιακά Αντικείμενα
Σκοπός Ψηφιακά Αντικείμενα Μάθημα 1 Δραστηριότητα 1 ΜΕΤΡΩΝΤΑΣ ΑΠΟΣΤΑΣΗ ΜΕ ΤΟΝ ΑΙΣΘΗΤΗΡΑ ΥΠΕΡΗΧΩΝ (SR04). Ψηφιακά Αντικείμενα Μικροελεγκτής Προγραμματισμός Φυσικών Συστημάτων Νέα Ψηφιακά Αντικείμενα Αισθητήρες
Διαβάστε περισσότεραΕγκατάσταση του Lazarus
Εισαγωγή στο Προγραμματισμό με τη PASCAL ΠΕΡΙΕΧΟΜΕΝΑ: Πώς να κατεβάσετε και να εγκαταστήσετε το περιβάλλον προγραμματισμού Lazarus. Εισαγωγή στη PASCAL. Εγκατάσταση του Lazarus Γιατί η PASCAL? Έτσι, η
Διαβάστε περισσότεραΣυλλογή & Επεξεργασία Δεδομένων Εξαμηνιαία ΡομποΚαθαριστής Μέρος Β : Το Πρόγραμμα. Σχεδίαση Συστήματος Πραγματικής Εφαρμογής (Prototyping).
Σκοπός Συλλογή & Επεξεργασία Δεδομένων Εξαμηνιαία 2015 ΡομποΚαθαριστής Μέρος Β : Το Πρόγραμμα. Σχεδίαση Συστήματος Πραγματικής Εφαρμογής (Prototyping). Μονάδες ενός Ρομποτικού Συστήματος Μονάδα Συλλογής
Διαβάστε περισσότεραΜικροεπεξεργαστές - Μικροελεγκτές Ψηφιακά Συστήματα
Μικροεπεξεργαστές - Μικροελεγκτές Ψηφιακά Συστήματα 1. Ποια είναι η σχέση της έννοιας του μικροεπεξεργαστή με αυτή του μικροελεγκτή; Α. Ο μικροεπεξεργαστής εμπεριέχει τουλάχιστο έναν μικροελεγκτή. Β. Ο
Διαβάστε περισσότεραΕξαμηνιαία Εργασία 2013 Προγραμματίζοντας τον Arduino στη C Μέρος Β : Επικοινωνία Υπολογιστή με Μικροελεγκτή
Σκοπός Εξαμηνιαία Εργασία 2013 Προγραμματίζοντας τον Arduino στη C Μέρος Β : Επικοινωνία Υπολογιστή με Μικροελεγκτή Μικροελεγκτές Πλακέτα Arduino Προγραμματισμός Μικροελεγκτών στη C. Επικοινωνία Υπολογιστή
Διαβάστε περισσότεραΜια πρόταση διδασκαλίας για το μάθημα του προγραμματισμού Η/Υ στο Λύκειο με τη μεθοδολογία STEM
Μια πρόταση διδασκαλίας για το μάθημα του προγραμματισμού Η/Υ στο Λύκειο με τη μεθοδολογία STEM Οδηγίες για την υλοποίηση της διδακτικής παρέμβασης 1η διδακτική ώρα: Υλοποίηση του φύλλου εργασίας 1 με
Διαβάστε περισσότεραΠτυχιακή Εργασία Οδηγώντας ένα Ρομποτικό Αυτοκίνητο με το WiFi. Η Ασύρματη Επικοινωνία, χρησιμοποιώντας
Βασικές Έννοιες Πτυχιακή Εργασία 2015 Οδηγώντας ένα Ρομποτικό Αυτοκίνητο με το WiFi. Σχεδίαση Συστήματος Πραγματικής Εφαρμογής (Prototyping). Η Ασύρματη Επικοινωνία, χρησιμοποιώντας το πρωτόκολλο WiFi.
Διαβάστε περισσότεραΕΦΑΡΜΟΓΕΣ ΠΛΗΡΟΦΟΡΙΚΗΣ. Α Γενικού Λυκείου (Μάθημα Επιλογής)
ΕΦΑΡΜΟΓΕΣ ΠΛΗΡΟΦΟΡΙΚΗΣ Α Γενικού Λυκείου (Μάθημα Επιλογής) Σύγχρονα Υπολογιστικά Συστήματα τους υπερυπολογιστές (supercomputers) που χρησιμοποιούν ερευνητικά εργαστήρια τα μεγάλα συστήματα (mainframes)
Διαβάστε περισσότεραΕξαμηνιαία Εργασία 2013 Προγραμματίζοντας τον Arduino στη C Μέρος Α : Υλικά
Σκοπός Εξαμηνιαία Εργασία 2013 Προγραμματίζοντας τον Arduino στη C Μέρος Α : Υλικά Μικροελεγκτές Πλακέτα Arduino Προσομοίωση Μικροελεγκτών Προγραμματισμός Μικροελεγκτών στη C. 7.1 ΕΠΙΔΙΩΞΗ ΤΗΣ ΕΡΓΑΣΙΑΣ
Διαβάστε περισσότεραΕΝΟΤΗΤΑ 3 ΕΚΦΡΑΣΕΙΣ, ΑΝΑΜΟΝΕΣ (DELAYS), ΗΧΟΙ
ΕΝΟΤΗΤΑ 3 ΕΚΦΡΑΣΕΙΣ, ΑΝΑΜΟΝΕΣ (DELAYS), ΗΧΟΙ Σκοπός και περίγραμμα της Ενότητας 3 Σκοπός της παρουσίασης Να δούμε πιο προσεκτικά τις μεταβλητές, τις σταθερές και τις εκφράσεις γενικότερα. Να σας παρουσιάσουμε
Διαβάστε περισσότεραΚεφάλαιο 8. Αριθμητική Λογική μονάδα
Κεφάλαιο 8 Αριθμητική Λογική μονάδα 8.1 Εισαγωγή Στη μηχανική υπολογιστών η αριθμητική/λογική μονάδα (ALU) είναι ένα ψηφιακό κύκλωμα το οποίο εκτελεί αριθμητικούς και λογικούς υπολογισμούς. Η ALU είναι
Διαβάστε περισσότεραΣκοπός. Εργαστήριο 6 Εντολές Επανάληψης
Εργαστήριο 6 Εντολές Επανάληψης Η δομή Επιλογής στη PASCAL H δομή Επανάληψης στη PASCAL. Ρεύμα Εισόδου / Εξόδου.. Ρεύμα Εισόδου / Εξόδου. To πρόγραμμα γραφικών gnuplot. Γραφικά στη PASCAL. Σκοπός 6.1 ΕΠΙΔΙΩΞΗ
Διαβάστε περισσότερα*Ένας υπολογιστής είναι στην πραγματικότητα ένα σύστημα πολλών μερών που συνεργάζονται μεταξύ τους.
Ένας υπολογιστής είναι στην πραγματικότητα ένα σύστημα πολλών μερών που συνεργάζονται μεταξύ τους. *Τα φυσικά μέρη που μπορούμε να δούμε και να αγγίξουμε ονομάζονται συνολικά υλικό (hardware). * * υπερυπολογιστές
Διαβάστε περισσότεραΓΛΩΣΣΑ ΑΛΦΑΒΗΤΟ ΤΥΠΟΙ ΔΕΔΟΜΕΝΩΝ ΣΤΑΘΕΡΕΣ ΜΕΤΑΒΛΗΤΕΣ
ΓΛΩΣΣΑ ΑΛΦΑΒΗΤΟ Κεφαλαία και μικρά γράμματα ελληνικού αλφαβήτου: Α Ω και α ω Κεφαλαία και μικρά γράμματα λατινικού αλφαβήτου: A Z και a z Αριθμητικά ψηφία: 0 9 Ειδικοί χαρακτήρες: + - * / =. ( ),! & κενός
Διαβάστε περισσότεραΜικροεπεξεργαστές. Σημειώσεις Μαθήματος Υπεύθυνος: Δρ Άρης Παπακώστας,
Μικροεπεξεργαστές Σημειώσεις Μαθήματος 2013-14 Υπεύθυνος: Δρ Άρης Παπακώστας, Η γλώσσα assembly είναι μια γλώσσα προγραμματισμού χαμηλού επιπέδου για συγκεκριμένους υπολογιστές ή άλλη προγραμματιζόμενη
Διαβάστε περισσότεραΘΕΜΑ : ΗΛΕΚΤΡΟΝΙΚΗ ΜΝΗΜΗ ΚΑΙ ΜΙΚΡΟΕΛΕΓΚΤΕΣ. ΔΙΑΡΚΕΙΑ: 1 περίοδος
ΘΕΜΑ : ΗΛΕΚΤΡΟΝΙΚΗ ΜΝΗΜΗ ΚΑΙ ΜΙΚΡΟΕΛΕΓΚΤΕΣ ΔΙΑΡΚΕΙΑ: 1 περίοδος Σε αυτό το μάθημα θα μάθετε να: 1. Αναφέρετε τα διάφορα είδη μνήμης και συσκευές που τις περιέχουν. 2. Περιγράφετε τα σημαντικά χαρακτηριστικά
Διαβάστε περισσότεραΒασίλειος Κοντογιάννης ΠΕ19
Ενότητα1 Υλικό Λογισμικό και Εφαρμογές Κεφ1: Υλικό Υπολογιστών - Hardware Τι ονομάζουμε υλικό υπολογιστών; Με τον όρο υλικό (hardware) αναφερόμαστε σε οτιδήποτε έχει μια φυσική-υλική υπόσταση σε ένα υπολογιστικό
Διαβάστε περισσότεραΤο ολοκληρωμένο κύκλωμα μιας ΚΜΕ. «Φέτα» ημιαγωγών (wafer) από τη διαδικασία παραγωγής ΚΜΕ
Το ολοκληρωμένο κύκλωμα μιας ΚΜΕ Η Κεντρική Μονάδα Επεξεργασίας (Central Processing Unit -CPU) ή απλούστερα επεξεργαστής αποτελεί το μέρος του υλικού που εκτελεί τις εντολές ενός προγράμματος υπολογιστή
Διαβάστε περισσότεραΕΡΓΑΣΤΗΡΙΑΚΗ ΕΦΑΡΜΟΓΗ 4 TΟ ΡΟΜΠΟΤΙΚΟ ΟΧΗΜΑ ROGUE BLUE
Εργαστήριο Ευφυών Συστημάτων και Ρομποτικής Τμήμα Μηχανικών Παραγωγής και Διοίκησης Πολυτεχνείο Κρήτης www.robolab.tuc.gr, τηλ: 28210 37292 / 37314 e-mail: savas@dpem.tuc.gr, kyralakis@dpem.tuc.gr ΕΡΓΑΣΤΗΡΙΑΚΗ
Διαβάστε περισσότεραΕντολές της LOGO (MicroWorlds Pro)
Εντολές της LOGO (MicroWorlds Pro) Εντολές εμφάνισης (εξόδου) και αριθμητικές πράξεις δείξε Εμφανίζει στην οθόνη έναν αριθμό, το αποτέλεσμα πράξεων, μια λέξη ή μια λίστα (ομάδα) λέξεων. δείξε 200 200 δείξε
Διαβάστε περισσότεραΣτοιχεία από την αρχιτεκτονική των μικροϋπολογιστών
Στοιχεία από την αρχιτεκτονική των μικροϋπολογιστών Η επεξεργασία των δεδομένων ακολουθεί μια στερεότυπη διαδρομή: τα δεδομένα εισάγονται στο υπολογιστικό σύστημα, υφίστανται μια ορισμένη επεξεργασία και
Διαβάστε περισσότεραTO ΥΠΟΠΡΟΓΡΑΜΜΑ ΣΥΝΑΡΤΗΣΗ
Μάθημα 7 - Υποπρογράμματα Εργαστήριο 11 Ο TO ΥΠΟΠΡΟΓΡΑΜΜΑ ΣΥΝΑΡΤΗΣΗ Βασικές Έννοιες: Υποπρόγραμμα, Ανάλυση προβλήματος, top down σχεδίαση, Συνάρτηση, Διαδικασία, Παράμετρος, Κλήση συνάρτησης, Μετάβαση
Διαβάστε περισσότεραΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2009 ΑΠΑΝΤΗΣΕΙΣ
ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2009 Μάθημα : Μικροϋπολογιστές Τεχνολογία Τ.Σ. Ι, Θεωρητικής κατεύθυνσης Ημερομηνία
Διαβάστε περισσότεραΑΣΚΗΣΗ 4 ΠΡΟΒΛΗΜΑΤΑ ΛΟΓΙΚΗΣ ΣΧΕΔΙΑΣΗΣ
ΑΣΚΗΣΗ 4 ΠΡΟΒΛΗΜΑΤΑ ΛΟΓΙΚΗΣ ΣΧΕΔΙΑΣΗΣ 4.1 ΣΚΟΠΟΣ Σκοπός αυτής της εργαστηριακής άσκησης είναι να παρουσιάσει τις βασικές αρχές της σχεδίασης λογικών (ψηφιακών) κυκλωμάτων για πρακτικές εφαρμογές. Στα προηγούμενα
Διαβάστε περισσότερα4 ο Εργαστήριο Τυχαίοι Αριθμοί, Μεταβλητές Συστήματος
4 ο Εργαστήριο Τυχαίοι Αριθμοί, Μεταβλητές Συστήματος Μεταβλητές Συστήματος Η Processing χρησιμοποιεί κάποιες μεταβλητές συστήματος, όπως τις ονομάζουμε, για να μπορούμε να παίρνουμε πληροφορίες από το
Διαβάστε περισσότεραΑυτοματισμοί και Συστήματα Αυτομάτου Ελέγχου. Ενότητα 2
Αυτοματισμοί και Συστήματα Αυτομάτου Ελέγχου Ενότητα 2 Τι είναι το PLC ΠΕΡΙΕΧΟΜΕΝΑ 2 Τι είναι το PLC. 2.1 Πλεονεκτήματα των PLC. 2.2 Η δομή ενός PLC. 2.3 Τα PLC της αγοράς. 2.4 Αρχή λειτουργίας ενός PLC.
Διαβάστε περισσότεραΜάθημα 3: Αρχιτεκτονική Υπολογιστών
Μάθημα 3: Αρχιτεκτονική Υπολογιστών 3.1 Περιφερειακές μονάδες και τμήμα επεξεργασίας Στην καθημερινή μας ζωή ερχόμαστε συνέχεια σε επαφή με υπολογιστές. Ο υπολογιστής είναι μια συσκευή που επεξεργάζεται
Διαβάστε περισσότεραΠΑΝΕΠΙΣΤΗΜΙΟ AΙΓΑIΟΥ & ΑΕΙ ΠΕΙΡΑΙΑ Τ.Τ. Τμήματα Ναυτιλίας και Επιχειρηματικών Υπηρεσιών & Μηχ. Αυτοματισμού ΤΕ. Εισαγωγή στη Python
ΠΑΝΕΠΙΣΤΗΜΙΟ AΙΓΑIΟΥ & ΑΕΙ ΠΕΙΡΑΙΑ Τ.Τ. Τμήματα Ναυτιλίας και Επιχειρηματικών Υπηρεσιών & Μηχ. Αυτοματισμού ΤΕ ΠΛΗΡΟΦΟΡΙΚΗ ΤΕΧΝΟΛΟΓΙΑ ΚΑΙ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ Εισαγωγή στη Python Νικόλαος Ζ. Ζάχαρης Αναπληρωτής
Διαβάστε περισσότεραΗ ΔΟΜΗ ΕΠΑΝΑΛΗΨΗΣ Εντολές Επανάληψης REPEAT UNTIL, FOR, WHILE
ΕΡΓΑΣΤΗΡΙΟ 7 Ο Η ΔΟΜΗ ΕΠΑΝΑΛΗΨΗΣ Εντολές Επανάληψης REPEAT UNTIL, FOR, WHILE Βασικές Έννοιες: Δομή Επανάληψης, Εντολές Επανάληψης (For, While do, Repeat until), Αλγόριθμος, Αθροιστής, Μετρητής, Παράσταση
Διαβάστε περισσότεραΜηχανοτρονική. Τμήμα Μηχανικών Παραγωγής και Διοίκησης 7 ο Εξάμηνο,
Τμήμα Μηχανικών Παραγωγής και Διοίκησης 7 ο Εξάμηνο, 2016-2017 ΜΙΚΡΟΕΠΕΞΕΡΓΑΣΤΕΣ Μικροϋπολογιστής Υπολογιστής που χρησιμοποιείται για την είσοδο, επεξεργασία και έξοδο πληροφοριών. Είδη μικροϋπολογιστών:
Διαβάστε περισσότεραΕνότητα 4. Εισαγωγή στην Πληροφορική. Αναπαράσταση δεδοµένων. Αναπαράσταση πληροφορίας. υαδικοί αριθµοί. Χειµερινό Εξάµηνο 2006-07
Ενότητα 4 Εισαγωγή στην Πληροφορική Κεφάλαιο 4Α: Αναπαράσταση πληροφορίας Κεφάλαιο 4Β: Επεξεργαστές που χρησιµοποιούνται σε PCs Χειµερινό Εξάµηνο 2006-07 ρ. Παναγιώτης Χατζηδούκας (Π..407/80) Εισαγωγή
Διαβάστε περισσότεραΔιδάσκων:Μ.Χατζόπουλος, Παραδόσεις:Τρίτη 4-6, Τετάρτη 1-3; (Αμφιθέατρο Α15) Πληροφορίες στην ιστοσελίδα του μαθήματος http://www.di.uoa.
Πληροφορική 1 Διδάσκων:Μ.Χατζόπουλος, Παραδόσεις:Τρίτη 4-6, Τετάρτη 1-3; (Αμφιθέατρο Α15) Πληροφορίες στην ιστοσελίδα του μαθήματος http://www.di.uoa.gr/~organosi/ 2 Η δομή του μαθήματος Εισαγωγή στην
Διαβάστε περισσότεραΗ-Υ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ. Εργαστήριο 1 Εισαγωγή στη C. Σοφία Μπαλτζή s.mpaltzi@di.uoa.gr
Η-Υ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Εργαστήριο 1 Εισαγωγή στη C Σοφία Μπαλτζή s.mpaltzi@di.uoa.gr Διαδικαστικά Ιστοσελίδα μαθήματος: http://eclass.uoa.gr/courses/f30/ Υποχρεωτική παρακολούθηση: Παρασκευή 14:00 16:00 στην
Διαβάστε περισσότεραΠΡΟΒΛΗΜΑ ΕΠΕΓΕΡΓΑΣΙΑ. (Είναι οι σκέψεις και οι πράξεις που κάνουμε για να λυθεί το πρόβλημα) ΕΙΣΟΔΟΥ - ΕΞΟΔΟΥ
1 ο ΓΥΜΝΑΣΙΟ ΘΕΡΜΗΣ Μάθημα: Ενότητα: Πληροφορική Α' Γυμν. Το Υλικό του Υπολογιστή ΠΡΟΒΛΗΜΑ ΔΕΔΟΜΕΝΑ (Είναι τα στοιχεία που δίνουμε για λυθεί το πρόβλημα) ΕΠΕΓΕΡΓΑΣΙΑ (Είναι οι σκέψεις και οι πράξεις που
Διαβάστε περισσότεραΕισαγωγή στη γλώσσα προγραμματισμού C++
Εισαγωγή στη γλώσσα προγραμματισμού C++ Περιβάλλον Εργασίας 2 Περιβάλλον Εργασίας 1. Χρήση απλού κειμενογράφου και Μεταγλωττιστή 2. Ολοκληρωμένα Περιβάλλοντα Εργασίας (Integrated Development Environments)
Διαβάστε περισσότεραΣκοπός. Εργαστήριο 6 Εντολές Επανάληψης Τα Εργαστηριακά Προγράμματα. Η δομή Επιλογής στη PASCAL. H δομή Επανάληψης στη PASCAL. Η εντολή επανάληψης for
Εργαστήριο 6 Εντολές Επανάληψης Τα Εργαστηριακά Προγράμματα Η δομή Επιλογής στη PASCAL H δομή Επανάληψης στη PASCAL Η εντολή επανάληψης for Σκοπός Η εντολή επανάληψης while. 1 ΕΡΓΑΣΤΗΡΙΟ 6 Εισαγωγή στο
Διαβάστε περισσότεραΕΙΔΙΚΟΤΗΤΑ: ΤΕΧΝΙΚΟΣ ΕΦΑΡΜΟΓΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΜΑΘΗΜΑ: ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ
ΕΙΔΙΚΟΤΗΤΑ: ΤΕΧΝΙΚΟΣ ΕΦΑΡΜΟΓΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΜΑΘΗΜΑ: ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ (Τμήματα Υπολογιστή) ΕΚΠΑΙΔΕΥΤΗΣ:ΠΟΖΟΥΚΙΔΗΣ ΚΩΝΣΤΑΝΤΙΝΟΣ ΤΜΗΜΑΤΑ ΗΛΕΚΤΡΟΝΙΚΟΥ ΥΠΟΛΟΓΙΣΤΗ Κάθε ηλεκτρονικός υπολογιστής αποτελείται
Διαβάστε περισσότεραΠΕΡΙΕΧΟΜΕΝΑ ΚΕΦΑΛΑΙΟ 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
ΕΦΑΡΜΟΓΕΣ ΠΛΗΡΟΦΟΡΙΚΗΣ Α' ΛΥΚΕΙΟΥ ΕΝΟΤΗΤΑ 1η ΕΡΩΤΗΣΕΙΣ ΘΕΩΡΙΑΣ 1. Τι ονομάζουμε υλικό και τι λογισμικό ενός υπολογιστικού συστήματος; 2. Τι είναι α) η μητρική πλακέτα ( motherboard), β) η κεντρική μονάδα
Διαβάστε περισσότεραΚεφάλαιο 7 ο Βασικές Έννοιες Προγραμματισμού (σελ )
Κεφάλαιο 7 ο Βασικές Έννοιες Προγραμματισμού (σελ. 147 159) Για τις γλώσσες προγραμματισμού πρέπει να έχουμε υπόψη ότι: Κάθε γλώσσα προγραμματισμού σχεδιάζεται για συγκεκριμένο σκοπό, δίνοντας ιδιαίτερη
Διαβάστε περισσότεραΧρονικές σειρές 1 ο μάθημα: Εισαγωγή στη MATLAB
Χρονικές σειρές 1 ο μάθημα: Εισαγωγή στη MATLAB Εαρινό εξάμηνο 2018-2019 Τμήμα Μαθηματικών ΑΠΘ Διδάσκουσα: Αγγελική Παπάνα Μεταδιδακτορική Ερευνήτρια Πολυτεχνική σχολή, Α.Π.Θ. & Οικονομικό Τμήμα, Πανεπιστήμιο
Διαβάστε περισσότεραΣυλλογή & Επεξεργασία Δεδομένων Εργαστήριο 9 Ανάλυση Fourier: Από τη Θεωρία στην Πρακτική Εφαρμογή των Μαθηματικών
Συλλογή & Επεξεργασία Δεδομένων Εργαστήριο 9 Ανάλυση Fourier: Από τη Θεωρία στην Πρακτική Εφαρμογή των Μαθηματικών Τύπων. Σύστημα Συλλογής & Επεξεργασίας Μετρήσεων Σκοπός Βασική δομή ενός προγράμματος
Διαβάστε περισσότεραΦουκαράκη Χρυσούλα - ΓΕΛ Γαζίου
ΚΕΦΑΛΑΙΟ 1 Φουκαράκη Χρυσούλα - ΓΕΛ Γαζίου Υπολογιστικά συστήματα σχεδιάστηκαν για να καλύψουν συγκεκριμένες ανάγκες σε συγκεκριμένη χρονική στιγμή και βοηθούν στη συνολική πρόοδο της τεχνολογίας Φουκαράκη
Διαβάστε περισσότεραΚΕΦΑΛΑΙΟ 8 Η ΓΛΩΣΣΑ PASCAL
8.1. Εισαγωγή ΚΕΦΑΛΑΙΟ 8 Η ΓΛΩΣΣΑ PACAL Πως προέκυψε η γλώσσα προγραμματισμού Pascal και ποια είναι τα γενικά της χαρακτηριστικά; Σχεδιάστηκε από τον Ελβετό επιστήμονα της Πληροφορικής Nicklaus Wirth to
Διαβάστε περισσότεραΜάθημα 4: Κεντρική Μονάδα Επεξεργασίας
Μάθημα 4: Κεντρική Μονάδα Επεξεργασίας 4.1 Γενικά Ο υπολογιστής επεξεργάζεται δεδομένα ακολουθώντας βήμα βήμα, τις εντολές ενός προγράμματος. Το τμήμα του υπολογιστή, που εκτελεί τις εντολές και συντονίζει
Διαβάστε περισσότερα2ο ΓΕΛ ΑΓ.ΔΗΜΗΤΡΙΟΥ ΑΕΠΠ ΘΕΟΔΟΣΙΟΥ ΔΙΟΝ ΠΡΟΣΟΧΗ ΣΤΑ ΠΑΡΑΚΑΤΩ
ΠΡΟΣΟΧΗ ΣΤΑ ΠΑΡΑΚΑΤΩ ΣΤΑΘΕΡΕΣ είναι τα μεγέθη που δεν μεταβάλλονται κατά την εκτέλεση ενός αλγόριθμου. Εκτός από τις αριθμητικές σταθερές (7, 4, 3.5, 100 κλπ), τις λογικές σταθερές (αληθής και ψευδής)
Διαβάστε περισσότεραΕνότητα 2. Ζωγραφίζοντας με το ΒΥΟΒ
Ενότητα 2 : Ζωγραφίζοντας με το ΒΥΟΒ -1- Ενότητα 2. Ζωγραφίζοντας με το ΒΥΟΒ Κεφάλαιο 1: Κίνηση και γεωμετρικά σχήματα α. Θέση και προσανατολισμός της μορφής Η θέση της κάθε μορφής στο σκηνικό προσδιορίζεται
Διαβάστε περισσότεραΕφαρμογές Σειριακής Επικοινωνίας
Εφαρμογές Σειριακής Επικοινωνίας Εισαγωγή Στο μάθημα αυτό θα μάθουμε πώς να χρησιμοποιούμε την βιβλιοθήκη serial για την επικοινωνία από την πλατφόρμα Arduino πίσω στον υπολογιστή μέσω της θύρας usb. Τι
Διαβάστε περισσότεραΠρογραμματισμο ς σε Arduino
Προγραμματισμο ς σε Arduino Arduino UNO & Innoesys Educational Shield www.devobox.com Ηλεκτρονικά Εξαρτήματα & Υλικά Κατασκευής Πρωτοτύπων Λέανδρου 79, 10443, Κολωνός +30 210 51 55 513, info@devobox.com
Διαβάστε περισσότερα1. Τι ονομάζουμε αλγόριθμο; Δώστε παράδειγμα.
1. Τι ονομάζουμε αλγόριθμο; Δώστε παράδειγμα. ΑΠΑΝΤΗΣΗ Ορισμός: Αλγόριθμος είναι μια πεπερασμένη σειρά ενεργειών, αυστηρά καθορισμένων και εκτελέσιμων σε πεπερασμένο χρόνο, που στοχεύουν στην επίλυση ενός
Διαβάστε περισσότεραΚεφάλαιο 1.5: Τα βασικά μέρη ενός υπολογιστή
Κεφάλαιο 1.5: Τα βασικά μέρη ενός υπολογιστή 1.5.1 Ανάλυση των μερών ενός υπολογιστή Μονάδα συστήματος Είναι το κουτί του υπολογιστή το οποίο φαίνεται αρκετά συμπαγές, αλλά στην πραγματικότητα αποτελείται
Διαβάστε περισσότεραΑνάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον
Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον ΚΕΦΑΛΑΙΟ 2 2.4 Βασικές συνιστώσες/εντολές ενός αλγορίθμου 2.4.1 Δομή ακολουθίας ΚΕΦΑΛΑΙΟ 7 7.1 7.9 Σταθερές (constants): Προκαθορισμένες τιμές που παραμένουν
Διαβάστε περισσότεραΕνσωματωμένα Συστήματα
Ενσωματωμένα Συστήματα Ενότητα: ΕΡΓΑΣΤΗΡΙΑΚΗ ΑΣΚΗΣΗ ARDUINO Δρ. Μηνάς Δασυγένης mdasyg@ieee.org Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών Εργαστήριο Ψηφιακών Συστημάτων και Αρχιτεκτονικής Υπολογιστών
Διαβάστε περισσότεραΚεφάλαιο 1.6: Συσκευές αποθήκευσης
Κεφάλαιο 1.6: Συσκευές αποθήκευσης 1.6.1 Συσκευές αποθήκευσης Μνήμη τυχαίας προσπέλασης - RAM Η μνήμη RAM (Random Access Memory Μνήμη Τυχαίας Προσπέλασης), κρατεί όλη την πληροφορία (δεδομένα και εντολές)
Διαβάστε περισσότεραΤετάρτη 5-12/11/2014. ΣΗΜΕΙΩΣΕΙΣ 3 ου και 4 ου ΜΑΘΗΜΑΤΟΣ ΕΙΔΙΚΟΤΗΤΑ: ΤΕΧΝΙΚΟΣ ΕΦΑΡΜΟΓΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΜΑΘΗΜΑ: ΑΡΧΙΤΕΚΤΟΝΙΚΗ Η/Υ Α ΕΞΑΜΗΝΟ
Τετάρτη 5-12/11/2014 ΣΗΜΕΙΩΣΕΙΣ 3 ου και 4 ου ΜΑΘΗΜΑΤΟΣ ΕΙΔΙΚΟΤΗΤΑ: ΤΕΧΝΙΚΟΣ ΕΦΑΡΜΟΓΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΜΑΘΗΜΑ: ΑΡΧΙΤΕΚΤΟΝΙΚΗ Η/Υ Α ΕΞΑΜΗΝΟ ΕΚΠΑΙΔΕΥΤΗΣ: ΤΡΟΧΙΔΗΣ ΠΑΝΑΓΙΩΤΗΣ 1. Παράσταση και οργάνωση δεδομένων
Διαβάστε περισσότεραΕίναι το «μυαλό» του υπολογιστή μας. Αυτός κάνει όλους τους υπολογισμούς και τις πράξεις. Έχει δική του ενσωματωμένη μνήμη, τη λεγόμενη κρυφή
1 Είναι το «μυαλό» του υπολογιστή μας. Αυτός κάνει όλους τους υπολογισμούς και τις πράξεις. Έχει δική του ενσωματωμένη μνήμη, τη λεγόμενη κρυφή μνήμη(cache). Η cache είναι πολύ σημαντική, πολύ γρήγορη,
Διαβάστε περισσότεραΕΝΟΤΗΤΑ 5 Αναλογικά σήματα
ΕΝΟΤΗΤΑ 5 Αναλογικά σήματα Σκοπός και περίγραμμα της Ενότητας 5 Σκοπός της παρουσίασης Να δώσουμε τις βασικές ιδέες για τα αναλογικά σήματα και την χρήση διαφορετικών ειδών περιφερειακών Σύνοψη Επεξήγηση
Διαβάστε περισσότεραΑΣΚΗΣΗ 1 (22 Νοεμβρίου 2017)
ΑΣΚΗΣΗ 1 (22 Νοεμβρίου 2017) Περιγραφή της Άσκησης Ο σκοπός της πρώτης άσκησης είναι κυρίως η εξοικείωση με το περιβάλλον προγραμματισμού του Arduino, γι αυτό και δεν είναι ιδιαίτερα σύνθετη. Αρχικά, θα
Διαβάστε περισσότερα3 ο Εργαστήριο Μεταβλητές, Τελεστές
3 ο Εργαστήριο Μεταβλητές, Τελεστές Μια μεταβλητή έχει ένα όνομα και ουσιαστικά είναι ένας δείκτης σε μια συγκεκριμένη θέση στη μνήμη του υπολογιστή. Στη θέση μνήμης στην οποία δείχνει μια μεταβλητή αποθηκεύονται
Διαβάστε περισσότεραΔομές Ακολουθίας- Επιλογής - Επανάληψης. Δομημένος Προγραμματισμός
Δομές Ακολουθίας- Επιλογής - Επανάληψης Δομημένος Προγραμματισμός 1 Βασικές Έννοιες αλγορίθμων Σταθερές Μεταβλητές Εκφράσεις Πράξεις Εντολές 2 Βασικές Έννοιες Αλγορίθμων Σταθερά: Μια ποσότητα που έχει
Διαβάστε περισσότεραΤο υλικό του υπολογιστή
Το υλικό του υπολογιστή Ερωτήσεις 1. Τι αντιλαμβάνεστε με τον όρο υλικό; Το υλικό(hardware) αποτελείται από το σύνολο των ηλεκτρονικών τμημάτων που συνθέτουν το υπολογιστικό σύστημα, δηλαδή από τα ηλεκτρονικά
Διαβάστε περισσότεραΦυσικές και τεχνητές γλώσσες. Το αλφάβητο της ΓΛΩΣΣΑΣ, Τύποι Δεδομένων. Σταθερές, Μεταβλητές, Τελεστές, Συναρτήσεις, Δομή Προγράμματος
Φυσικές και τεχνητές γλώσσες. Το αλφάβητο της ΓΛΩΣΣΑΣ, Τύποι Δεδομένων. Σταθερές, Μεταβλητές, Τελεστές, Συναρτήσεις, Δομή Προγράμματος Ενότητες βιβλίου: 6.3, 7.1-7.6, 7.10, 8.1 Ώρες διδασκαλίας: 2 Φυσικές
Διαβάστε περισσότεραΜάθημα 3.2: Κεντρική Μονάδα Επεξεργασίας
Κεφάλαιο 3 ο Αρχιτεκτονική Υπολογιστών Μάθημα 3.: Κεντρική Μονάδα Επεξεργασίας Όταν ολοκληρώσεις το κεφάλαιο θα μπορείς: Να σχεδιάζεις την εσωτερική δομή της ΚΜΕ και να εξηγείς τη λειτουργία των επιμέρους
Διαβάστε περισσότερα2 ΟΥ και 7 ΟΥ ΚΕΦΑΛΑΙΟΥ
ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΕΠΙΜΕΛΕΙΑ: ΜΑΡΙΑ Σ. ΖΙΩΓΑ ΚΑΘΗΓΗΤΡΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΘΕΩΡΙΑ 2 ΟΥ και 7 ΟΥ ΚΕΦΑΛΑΙΟΥ ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ΑΛΓΟΡΙΘΜΩΝ και ΔΟΜΗ ΑΚΟΛΟΥΘΙΑΣ 2.1 Να δοθεί ο ορισμός
Διαβάστε περισσότεραΕργαστήριο 9 Συναρτήσεις στη PASCAL. Η έννοια του κατακερματισμού. Συναρτήσεις. Σκοπός
Εργαστήριο 9 Συναρτήσεις στη PASCAL Η έννοια του κατακερματισμού. Συναρτήσεις. Σκοπός 7.1 ΕΠΙΔΙΩΞΗ ΤΗΣ ΕΡΓΑΣΙΑΣ Η έννοια της συνάρτησης ως υποπρογράμματος είναι τόσο βασική σε όλες τις γλώσσες προγραμματισμού,
Διαβάστε περισσότεραΜετρήσεις και συλλογή δεδομένων (Data acquisition) με μικροελεγκτές. Εισαγωγή στο Arduino. Ηλεκτρομηχανολογικός εξοπλισμός διεργασιών
Μετρήσεις και συλλογή δεδομένων (Data acquisition) με μικροελεγκτές Εισαγωγή στο Arduino Ηλεκτρομηχανολογικός εξοπλισμός διεργασιών Τι είναι Μικροελεγκτής; Ηλεκτρονική συσκευή που διαχειρίζεται ηλεκτρονικά
Διαβάστε περισσότεραΤμήμα Λογιστικής. Εισαγωγή στους Ηλεκτρονικούς Υπολογιστές. Μάθημα 8. 1 Στέργιος Παλαμάς
ΤΕΙ Ηπείρου Παράρτημα Πρέβεζας Τμήμα Λογιστικής Εισαγωγή στους Ηλεκτρονικούς Υπολογιστές Μάθημα 8 Κεντρική Μονάδα Επεξεργασίας και Μνήμη 1 Αρχιτεκτονική του Ηλεκτρονικού Υπολογιστή Μονάδες Εισόδου Κεντρική
Διαβάστε περισσότεραΚΕΦΑΛΑΙΟ 7 ο. Έτσι ο προγραµµατισµός µε τη ΓΛΩΣΣΑ εστιάζεται στην ανάπτυξη του αλγορίθµου και τη µετατροπή του σε σωστό πρόγραµµα.
ΚΕΦΑΛΑΙΟ 7 ο 1. Επιλογή της κατάλληλης γλώσσας προγραµµατισµού Εκατοντάδες γλώσσες προγραµµατισµού χρησιµοποιούνται όπως αναφέρθηκε σήµερα για την επίλυση των προβληµάτων µε τον υπολογιστή, τη δηµιουργία
Διαβάστε περισσότερα7. Βασικά στοιχεία προγραµµατισµού.
7. Βασικά στοιχεία προγραµµατισµού. ΗΜ01-Θ1Γ Δίνονται οι παρακάτω έννοιες: 1. Λογικός τύπος δεδοµένων 2. Επιλύσιµο 3. Ακέραιος τύπος δεδοµένων 4. Περατότητα 5. Μεταβλητή 6. Ηµιδοµηµένο 7. Πραγµατικός τύπος
Διαβάστε περισσότεραΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ - ΓΛΩΣΣΑ
ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ Τεχνικές Σχεδίασης Αλγορίθμων Εισαγωγή στον Προγραμματισμό - ΓΛΩΣΣΑ Επιμέλεια: Ομάδα Διαγωνισμάτων από Το στέκι των πληροφορικών ο Θέμα 1 Α. α) Ποια είναι
Διαβάστε περισσότεραΒασικοί τύποι δεδομένων (Pascal) ΕΠΑ.Λ Αλίμου Γ Πληροφορική Δομημένος Προγραμματισμός (Ε) Σχολ. Ετος Κων/νος Φλώρος
Βασικοί τύποι δεδομένων (Pascal) ΕΠΑ.Λ Αλίμου Γ Πληροφορική Δομημένος Προγραμματισμός (Ε) Σχολ. Ετος 2012-13 Κων/νος Φλώρος Απλοί τύποι δεδομένων Οι τύποι δεδομένων προσδιορίζουν τον τρόπο παράστασης των
Διαβάστε περισσότεραΕφαρμογές Αναλογικών Ε/Ε PWM (pulse Width Modulation)
Εφαρμογές Αναλογικών Ε/Ε PWM (pulse Width Modulation) Εισαγωγή Σε αυτή την ενότητα θα δούμε εφαρμογές που χρησιμοποιούν τις αναλογικές Εισόδους/Εξόδους του Arduino ή την τεχνική PWM. Ψηφιακό vs Αναλογικό
Διαβάστε περισσότεραΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2006 ΑΠΑΝΤΗΣΕΙΣ
ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2006 Μάθημα : Μικροϋπολογιστές Τεχνολογία Τ.Σ. Ι, Θεωρητικής κατεύθυνσης Ημερομηνία
Διαβάστε περισσότεραΠΛΗ10 Κεφάλαιο 2. ΠΛΗ10 Εισαγωγή στην Πληροφορική: Τόμος Α Κεφάλαιο: 2 2.1: Bασική Δομή του Υπολογιστή
Εισαγωγή στην Πληροφορική: Τόμος Α Κεφάλαιο: 2 2.1: Bασική Δομή του Υπολογιστή Στόχοι Μαθήματος: Να γνωρίσετε τις βασικές λειτουργίες ενός Η/Υ. Να γνωρίσετε τις έννοιες δεδομένα, πληροφορία, επεξεργασία,
Διαβάστε περισσότεραΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ
ΤΕΙ ΙΟΝΙΩΝ ΝΗΣΩΝ ΤΜΗΜΑ ΕΦΑΡΜΟΓΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΣΤΗ ΔΙΟΙΚΗΣΗ ΚΑΙ ΣΤΗΝ ΟΙΚΟΝΟΜΙΑ 2 Ο ΜΑΘΗΜΑ ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ ΑΠΟΣΤΟΛΙΑ ΠΑΓΓΕ Υπολογιστής Συνοπτικό λεξικό Οξφόρδης -> «ηλεκτρονική υπολογιστική μηχανή»
Διαβάστε περισσότεραΕνσωματωμένα Συστήματα
Ενσωματωμένα Συστήματα για εφαρμογές πραγματικού χρόνου Εφαρμογές με τον Arduino Ιωάννης Καλόμοιρος Αναπληρωτής Καθηγητής Τμήμα Μηχανικών Πληροφορικής Μάθημα 10 1 Συναρτήσεις αναλογικής εξόδου: PWM Το
Διαβάστε περισσότεραΕνότητα Β1 κεφ.2 ο «Σο Εσωτερικό του Τπολογιστή»
1 2 1) ΚΟΤΣΙ ΤΠΟΛΟΓΙΣΗ (computer case): το κύριο κουτί που περικλείει τις βασικές συσκευές του υπολογιστή (επεξεργαστή, αποθήκες, RAM). 2) ΜΗΣΡΙΚΗ (motherboard): η πιο μεγάλη κάρτα πάνω στην οποία βρίσκεται
Διαβάστε περισσότεραΒασικές Έννοιες της Πληροφορικής
Βασικές Έννοιες της Πληροφορικής Ηλεκτρονικός Υπολογιστής Αυτόματη ηλεκτρονική μηχανή που δέχεται, φυλάσσει, επαναφέρει, επεξεργάζεται και παρουσιάζει πληροφορίες σύμφωνα με προκαθορισμένες εντολές. Δεδομένα
Διαβάστε περισσότεραΕΦΑΡΜΟΓΕΣ ΤΗΛΕΠIΚΟΙΝΩΝΙΑΚΩΝ ΔΙΑΤΑΞΕΩΝ
ΕΦΑΡΜΟΓΕΣ ΤΗΛΕΠIΚΟΙΝΩΝΙΑΚΩΝ ΔΙΑΤΑΞΕΩΝ ΟΙΚΟΝOΜΟΥ ΧΑΡΗΣ (6424) ΦΩΚΟΣ ΝΙΚΟΛΑΟΣ(6592) ΚΑΜΒΥΣΗΣ ΝΙΚΟΛΑΟΣ(7178) 2013-2014 ΠΕΡΙΕΧΟΜΕΝΑ Σκοπός της εργασίας Ανάλυση Arduino Uno Δημιουργία πληροφορίας Αποστολή και
Διαβάστε περισσότεραΤμήμα Χρηματοοικονομικής & Ελεγκτικής ΤΕΙ Ηπείρου Παράρτημα Πρέβεζας. Πληροφορική Ι ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΕΠΙΣΤΗΜΗ ΤΩΝ ΥΠΟΛΟΓΙΣΤΩΝ. Δρ.
Τμήμα Χρηματοοικονομικής & Ελεγκτικής ΤΕΙ Ηπείρου Παράρτημα Πρέβεζας Πληροφορική Ι ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΕΠΙΣΤΗΜΗ ΤΩΝ ΥΠΟΛΟΓΙΣΤΩΝ Δρ. Γκόγκος Χρήστος Επιστήμη των υπολογιστών Computer Science (CS) ή Information
Διαβάστε περισσότεραΜΙΚΡΟΕΛΕΓΚΤΗΣ PICAXE 18M2
ΘΕΜΑ : ΜΙΚΡΟΕΛΕΓΚΤΗΣ PICAXE 18M2 ΔΙΑΡΚΕΙΑ:? περίοδος Οι μικροελεγκτές είναι υπολογιστές χωρίς περιφερειακά, σε ολοκληρωμένα κυκλώματα. Μπορούν να συνδυάσουν αρκετές από τις βασικές λειτουργίες άλλων ειδικών
Διαβάστε περισσότεραΕργαστήριο 10 Πίνακες. Πίνακες. Η έννοια της δόμησης δεδομένων στη PASCAL. Σκοπός
Εργαστήριο 10 Πίνακες Πίνακες. Η έννοια της δόμησης δεδομένων στη PASCAL. Σκοπός 10.1 ΕΠΙΔΙΩΞΗ ΤΗΣ ΕΡΓΑΣΙΑΣ Σ αυτή την άσκηση, εξετάζουμε μία βασική δομή του προγραμματισμού, το πίνακα. Στις μέχρι τώρα
Διαβάστε περισσότεραΤα ηλεκτρονικά μέρη του ρομπότ Επιλογή των μονάδων εισόδου εξόδου ανάλογα το μοντέλο που θέλουμε να κατασκευάσουμε
1 Τα ηλεκτρονικά μέρη του ρομπότ Επιλογή των μονάδων εισόδου εξόδου ανάλογα το μοντέλο που θέλουμε να κατασκευάσουμε 2 Η υπολογιστική μονάδα Είσοδοι για τους κινητήρες Είσοδος για USB stick USB πόρτα για
Διαβάστε περισσότερα3ο σετ σημειώσεων - Πίνακες, συμβολοσειρές, συναρτήσεις
3ο σετ σημειώσεων - Πίνακες, συμβολοσειρές, συναρτήσεις 5 Απριλίου 01 1 Πίνακες Είδαμε ότι δηλώνοντας μία μεταβλητή κάποιου συγκεκριμένου τύπου δεσμεύουμε μνήμη κατάλληλη για να αποθηκευτεί μία οντότητα
Διαβάστε περισσότεραΠΛΗΡΟΦΟΡΙΚΗ: ΥΠΟΛΟΓΙΣΤΕΣ & ΤΕΧΝΟΛΟΓΙΕΣ ΔΙΑΔΙΚΤΥΟΥ
ΠΛΗΡΟΦΟΡΙΚΗ: ΥΠΟΛΟΓΙΣΤΕΣ & ΤΕΧΝΟΛΟΓΙΕΣ ΔΙΑΔΙΚΤΥΟΥ kv@hua.gr Στόχος Μαθήματος Εισαγωγή σε Βασικούς Όρους Πληροφορικής και Τηλεματικής. Εφαρμογές Τηλεματικής. Αναφορά στις κοινωνικές επιπτώσεις των Υπολογιστών.
Διαβάστε περισσότεραΠρογραμματισμός Ι. Δυναμική Διαχείριση Μνήμης. Δημήτρης Μιχαήλ. Ακ. Έτος 2011-2012. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο
Προγραμματισμός Ι Δυναμική Διαχείριση Μνήμης Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ακ. Έτος 2011-2012 Ανάγκη για Δυναμική Μνήμη Στατική Μνήμη Μέχρι τώρα χρησιμοποιούσαμε
Διαβάστε περισσότερα