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

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

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

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

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

Εφαρμογές Arduino Σεμινάριο Ηλεκτρονικού Τομέα

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

Γνωριμία με το Arduino

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

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

Μετρήσεις και συλλογή δεδομένων (Data acquisition) με μικροελεγκτές. Εισαγωγή στο Arduino. Ηλεκτρομηχανολογικός εξοπλισμός διεργασιών

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

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

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

Εφαρμογές Arduino Σεμινάριο Ηλεκτρονικού Τομέα

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

Τεχνολογικό Εκπαιδευτικό Ίδρυμα Σερρών Σχολή Τεχνολογικών Εφαρμογών Τμήμα Πληροφορικής & Επικοινωνιών

Φύλλο εργασίας 7 - Δημιουργώ τα δικά μου χρώματα με το RGB LED

Μηχανοτρονική. Τμήμα Μηχανικών Παραγωγής και Διοίκησης 7 ο Εξάμηνο,

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

ΔΙΔΑΚΤΙΚΟ ΣΕΝΑΡΙΟ ΔΗΜΙΟΥΡΓΙΑ ΣΥΣΤΗΜΑΤΟΣ ΔΙΕΞΑΓΩΓΗΣ ΠΑΙΧΝΙΔΙΟΥ ΕΡΩΤΗΣΕΩΝ/ΑΠΑΝΤΗΣΕΩΝ ΜΕ ΧΡΗΣΗ ARDUINO - QUIZ GAME ΦΥΛΛΟ ΕΡΓΑΣΙΑΣ 3

ΑΣΚΗΣΗ 2 (29 Νοεμβρίου 2016)

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

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

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

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

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

για τις ρυθμίσεις LabView μέσα από το κανάλι και του καλωδίου USB.

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

ARDUINO ΟΔΗΓΟΣ ΓΙΑ ΑΡΧΑΡΙΟΥΣ

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

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

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

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

Arduino Teachers Workshop

ΕΙΣΑΓΩΓΗ ΣΤΟ ARDUINO. Υποψήφιος Διδάκτωρ

ΕΝΟΤΗΤΑ 13 Ο ΔΙΑΥΛΟΣ I2C

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

Προηγμένοι Μικροεπεξεργαστές. Εργαστήριο 5 - Editor

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

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

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

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

Εφαρμογές αναλογικών / Ψηφιακών

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

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

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

Αθήνα 29 ΝΟΕ, 2016 ΘΕΜΑ: ΑΙΤΗΜΑ ΑΓΟΡΑΣ ΥΛΙΚΩΝ ΓΙΑ ΤΟ ΕΡΓΑΣΤΗΡΙΟ ΣΥΛΛΟΓΗΣ & ΕΠΕΞΕΡΓΑΣΙΑΣ ΔΕΔΟΜΕΝΩΝ

Μ.Π.Σ. «ΠΡΟΗΓΜΕΝΕΣ ΜΕΘΟΔΟΙ ΚΑΤΑΣΚΕΥΗΣ ΠΡΟΙΟΝΤΩΝ ΑΠΟ ΞΥΛΟ» Μάθημα: Σχεδίαση και Εφαρμογές Διαδραστικών Συστημάτων. Διδάσκοντας: Α.

Η δυναμική του Arduino στο μάθημα της Τεχνολογίας. Φάσουρας Δημήτριος Ηλεκτρολόγος ΠΕ 17,03

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

Α.Ε.Ι. ΠΕΙΡΑΙΑ Τ.Τ Φεβρουάριος 2017

ΔΙΠΛΩΜΑΤΙΚΗ ΕΡΓΑΣΙΑ. Ιωάννης Δημητρίου. Επιβλέπων καθηγητής: Μηνάς Δασυγένης

ΔΙΑΧΥΤΑ ΚΑΙ ΕΝΣΩΜΑΤΩΜΕΝΑ ΣΥΣΤΗΜΑΤΑ

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

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

Φύλλο εργασίας 4 - Δημιουργώ τα δικά μου χρώματα με το RGB LED

Σημειώσεις : Χρήστος Μουρατίδης. Κάντε κλικ για έναρξη

Arduino. δουλεύοντας με το... Υλικό αναφοράς και χρήσης της ανοιχτής πλατφόρμας

ΠΕΡΙΓΡΑΦΗ ΥΛΙΚΟΥ AVR 1. ΕΙΣΑΓΩΓΗ 1.1 ΓΕΝΙΚΗ ΔΟΜΗ 1.2 ΟΙΚΟΓΕΝΕΙΕΣ 1.3 ΤΥΠΟΙ 1.4 ΕΡΓΑΛΕΙΑ

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

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

1o ΕΠΑΛ- Ε.Κ. Συκεών -Τομέας: Ηλεκτρονικής, Ηλεκτρολογίας και Αυτοματισμού Εκπαιδευτικοί: Μπουλταδάκης Στέλιος Μαυρίδης Κώστας

WDT και Power Up timer

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

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

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Πίνακες Κλάσεις και Αντικείμενα

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

ΡΟΜΠΟΤΙΚΗ ΜΕ ARDUINO - ARDUINO ΚΑΙ ΗΧΟΣ II. Δημιουργός: Δρ.Αθανάσιος Μπαλαφούτης Επιβλέπων: Πετεινάτος Ηλίας Υποψήφιος Διδάκτωρ

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

ΠΛΗΡΟΦΟΡΙΚH ΓΙΑ ΤΗΝ ΤEΧΝΗ Η ΕΞAΜΗΝΟ

1o ΕΠΑΛ- Ε.Κ. Συκεών -Τομέας: Ηλεκτρονικής, Ηλεκτρολογίας και Αυτοματισμού Εκπαιδευτικοί: Μπουλταδάκης Στέλιος Μαυρίδης Κώστας

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

ΠΛΗΡΟΦΟΡΙΚΗ ΙΙ (JAVA) 11/3/2008

2017 Κατασκευάζω και Προγραμματίζω με τον μικροελεγκτή Arduino

Αρχιτεκτονική Υπολογιστών

Δομή (Structure) Προγραμματισμός Arduino. Η λειτουργία setup()

Τεχνητό Άκρο (τηλεχειριζόμενη μηχανική - ρομποτική παλάμη)

Δοκιμάκης Βύρωνας Ζωγόπουλος Παπαλιάκος Γιώργος

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

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

Σχεδιασμός και Υλοποίηση οχήματος ελεγχόμενου μέσω Bluetooth

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

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

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

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

G&K ELECTRONICS AVR ATMEGA DEVELOPMENT BOARD

O Arduino στο Εργαστήριο Φυσικών Επιστηµών

ΣΕΙΡΑ ΚΑΤΑΓΡΑΦΙΚΩΝ Ultima

Τεχνητό Άκρο (τηλεχειριζόμενη μηχανική - ρομποτική παλάμη)

Γενική οργάνωση υπολογιστή «ΑΒΑΚΑ»

Εργαστήριο Λειτουργικών Συστημάτων. Minix Overview

ΕΡΓΑΣΤΗΡΙΟ 6 ΟΔΗΓΗΣΗ ΑΠΕΙΚΟΝΙΣΕΩΝ SSD ΚΑΙ LCD

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

ΑΝΑΛΥΣΗ ΜΕΤΕΩΡΟΛΟΓΙΚΩΝ ΜΕΤΡΗΣΕΩΝ ΜΕΣΩ ΑΙΣΘΗΤΗΡΩΝ ΜΕ ΤΗ ΧΡΗΣΗ ΤΟΥ ΜΙΚΡΟΕΛΕΓΚΤΗ ARDUINO

ΡΟΜΠΟΤΙΚΗ ΜΕ ARDUINO - ARDUINO ΚΑΙ ΗΧΟΣ I. Δημιουργός: Δρ.Αθανάσιος Μπαλαφούτης Επιβλέπων: Πετεινάτος Ηλίας Υποψήφιος Διδάκτωρ

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

Αντικειμενοστρεφής Προγραμματισμός

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

Εισαγωγή στη γλώσσα προγραμματισμού JAVA. Δομές Δεδομένων Διδάσκων: Π.Α. Μήτκας Τομέας Ηλεκτρονικής και Υπολογιστών

ΕΙΣΑΓΩΓΗ. Αρχιτεκτονική Η/Υ ΗΜΟΣ ΜΠΟΛΑΝΑΚΗΣ

Transcript:

Εργαστήριο ενσωματωμένων συστημάτων Παρουσίαση 3: Βασικός Προγραμματισμός Arduino (AVR) (Συνέχεια) Εργαστήριο Αυτομάτου Ελέγχου

Η πλατφόρμα Arduino Microcontroller: ATmega328 Operating Voltage: 5V Digital I/O Pins: 14 (of which 6 provide PWM output) Analog Input Pins: 6 Flash Memory: SRAM: 32 KB (ATmega328) 2 KB (ATmega328) EEPROM: 1 KB (ATmega328) Clock Speed: 16 MHz

Προγραμματισμός Arduino Η γλώσσα του Arduino βασίζεται στη γλώσσα Wiring. Υποστηρίζει όλες τις βασικές δομές της C καθώς και κάποιες της C++. Υπάρχουν έτοιμες βιβλιοθήκες για την επικοινωνία με συσκευές εισόδων/εξόδων. Ο χρήστης θα πρέπει να ορίσει δύο βασικές λειτουργίες για να κάνουν ένα πρόγραμμα κυκλικής εκτέλεσης: void setup() void loop() Xρησιμοποιεί το GNU toolchain και το AVR Libc για να μεταγλωττίζει προγράμματα.

Κλάσεις C++ Ορισμός Οι κλάσεις χρησιμοποιούνται για την υλοποίηση αφηρημένων τύπων δεδομένων. Για το σκοπό αυτό μπορούμε να ορίσουμε μέλη (members) της κλάσης: μεταβλητές και συναρτήσεις που είναι ορατά μόνο από συναρτήσεις που αναφέρονται στον τύπο αυτό (private) καθώς και μεταβλητές και συναρτήσεις που είναι καθολικά ορατά (public). Οι μεταβλητές ορίζουν ιδιότητες (properties) και οι συναρτήσεις ορίζουν μεθόδους πρόσβασης (methods) των αντικειμένων της κλάσης. Η δήλωση μιας κλάσης (class) είναι παρόμοια με αυτή μιας δομής Παραδείγματα: http://www.cprogramming.com/tutorial/lesson12.html http://en.cppreference.com/w/cpp/language/class http://pages.cs.wisc.edu/~cs368-2/cpptutorial/notes/classes-intro.html

Κλάσεις C++ Παράδειγμα header / point.h

Κλάσεις C++ Παράδειγμα class implementation / point.cpp

Κλάσεις C++ Παράδειγμα source / main.cpp

Βασικές συναρτήσεις Ψηφιακές θύρες: pinmode(pin,mode) : Ορίζει την λειτουργία του pin (είσοδος/έξοδος) digitalwrite(pin,val): Γραφει την τιμή εξόδου του pin (LOW/HIGH) val = digitalread(pin): Διαβάζει την τιμή του pin Αναλογικές θύρες: analogwrite(pin,val): (PWM) Γραφει την τιμή % duty cycle του pin (0-255) val = analogread(pin): Διαβάζει την τιμή του pin (0-1023) Χρονιστές time = millis(): time = micros(): delay(val): Επιστρέφει τον χρόνο σε ms από τότε που άρχισε το πρόγραμμα Επισρέφει τον χρόνο σε μs από τότε που άρχισε το πρόγραμμα Κάνει πάυση το πρόγραμμα για val ms delaymicroseconds(val): Κάνει πάυση το πρόγραμμα για val μs

Βασικές συναρτήσεις Σειριακές θύρες / USB Με την σειριακή θύρα μπορείς να επικοινωνήσεις είτε με άλλες συσκευές που διαθέτουν σειριακές θύρες ή με τον υπολογιστή μεσω USB. Βασικές συναρτήσεις δομής: val = avaliable() : Επιστρέφει τον αριθμό των bytes που είναι διαθέσιμα στην θύρα begin(baudrate): Ξεκινάει/Ρυθμίζει την σειριακή θύρα. Συνήθως δίνουμε μόνο το baudrate print(val): Τυπώνει την τιμή val σε ASCII text println(val): Τυπώνει την τιμή val σε ASCII text και αλλάζει γραμμή ('\r') val = read(): Διαβάζει ένα byte απο την σειριακή readbytes(buffer,length): Διαβάζει length bytes απο την σειριακή και τα σώζει στον buffer.

Βασικές βιβλιοθήκες Servo Η βιβλιοθήκη Servo επιτρέπει τον έλεγχο σερβοκινητήρων από τον Arduino, μέσω σημάτων PWM. Βασικές συναρτήσεις δομής: attach(pin) : Αντιστοιχίζει ένα αντικείμενο servo σε μία PWM θύρα του Arduino write(degrees): Στρέφει τον άξονα του σερβοκινητήρα στις degree μοίρες

Βασικές βιβλιοθήκες Επικοινωνία με I2C (Wire, I2Cdev) Η βιβλιοθήκη Wire, η οποία περιλαμβάνεται στην βασική έκδοση του Arduino IDE, ενσωματώνει τις βασικές λειτουργίες επικοινωνίας με I2C περιφερειακές συσκευές. Βασικές συναρτήσεις δομής: begin()/begin(address): Συνδέει την συσκευή στον δίαυλο I2C ως master ή ως slave με διεύθυνση address. begintransmission(address): Ξεκινά την επικοινωνία μεταξύ master και του slave στη διεύθυνση address. endtransmission(address): Λήγει την τρέχουσα επικοινωνία. write(val): Στέλνει στον slave το περιεχόμενο της val (τιμή, string, array) requestfrom(address, quantity): Ζητά από τον slave στη διεύθυνση address απάντησ μήκους quantity val = read(): Διαβάζει ένα byte απο τον slave

Βασικές βιβλιοθήκες Επικοινωνία με I2C (Wire, I2Cdev) #2 Η βιβλιοθήκη I2Cdev δεν αποτελεί μέρος της επίσημης έκδοσης του Arduino IDE, όμως διευκολύνει σημαντικά την επικοινωνία με δημοφιλείς I2C συσκευές, παρέχοντας προεπιλεγμένες ρυθμίσεις. Καθώς δεν είναι επίσημη Arduino βιβλιοθήκη, χρειάζεται να αντιγράψουμε στο φάκελο libraries της εγκατάστασης του Arduino. την Μαζί με την I2Cdev, παρέχονται και έτοιμες, εξειδικευμένες βιβλιοθήκες που αφορούν συγκεκριμένες συσκευές (πχ την IMU MPU6050). Οι βιβλιοθήκες αυτές χρησιμοποιούν την I2Cdev για να παράσχουν έναν πολύ αφηρημένο και εύχρηστο τρόπο επικοινωνίας με την εκάστοτε συσκευή. Χρειάζεται να προσθέσουμε την βιβλιοθήκη της συσκευής που μας ενδιαφέρει στον φάκελο libraries

Ολοκληρωμένο Παράδειγμα

Ολοκληρωμένο Παράδειγμα (DEMO)

Εργαστήριο ενσωματωμένων συστημάτων Τέλος Παρουσίασης Εργαστήριο Αυτομάτου Ελέγχου