Anteprima
Σχεδίαση Συστημάτων με Μικροελεγκτές
(ECS04/EIP108) - Κωνσταντίνος Γιαννακόπουλος
Descrizione del Corso
Μικροελεγκτές
Arduino
Προγραμματισμός του Arduino
Αισθητήρες
Αρχιτεκτονική του ATmega328
Αρχιτεκτονική και Προγραμματισμός των Περιφερειακών του Atmega328
Συστήματα Λήψης και Καταγραφής Σημάτων στον Υπολογιστή, LabVIEW
Raspberry Pi
Creation Date
giovedì 1 ottobre 2020
-
Γενικές Πληροφορίες Μαθήματος
ΣΧΕΔΙΑΣΗ ΣΥΣΤΗΜΑΤΩΝ ΜΕ ΜΙΚΡΟΕΛΕΓΚΤΕΣ (ECS04/EIP108): υποχρεωτικό των Ειδικεύσεων Α: Ηλεκτρονική - Κυκλώματα και Συστήματα (Electronics - Circuits and Systems) (ECS04) και Β: Ηλεκτρονική και Επεξεργασία της Πληροφορίας (Electronics and Information Processing) (EIP108) του ΠΜΣ του Τμήματος Φυσικής: Εφαρμογές της Φυσικής στην Ατμόσφαιρα και στην Ηλεκτρονική
Διδάσκεται στο Α' εξάμηνο και αντιστοιχεί σε 8 πιστωτικές μονάδες (ECTS) για την Ειδίκευση Α και 7 πιστωτικές μονάδες (ECTS) για την Ειδίκευση Β.
Το μάθημα αποτελείται από θεωρητικό (Θ) και εργαστηριακό (Ε) μέρος.
Οι παραδόσεις του μαθήματος γίνονται κάθε Δευτέρα 13:00-15:00 και Τετάρτη 11:00-13:00 στην αίθουσα Φ3 και στο Εργαστήριο Σχεδίασης Συστημάτων με Μικροελεγκτές (Β' κτίριο Φυσικής, 2ος όροφος).
Διδάσκων:
Κωνσταντίνος Γιαννακόπουλος (γραφείο 205, Β' κτίριο Φυσικής, 2ος όροφος, kgian1@upatras.gr) (περισσότερες πληροφορίες)
Ώρες Φοιτητών: Δευτέρα 11:00-13:00, Τρίτη 12:00-13:00, Τετάρτη 13:00-14:00
Εξετάσεις: 20/01/2025-07/02/2025Ίδρυση ΠΜΣ: 811/12740/24.04.2018 (ΦΕΚ 1607/09.05.2018 τ. Β') όπως διορθώθηκε με το ΦΕΚ 343/11.02.2019 τ. Β' και τροποποιήθηκε με το 86/743/20377/26.06.2020 (ΦΕΚ 3058/23.07.2020 τ. Β')
Κανονισμός ΠΜΣ: 1700/24771/25.07.2018 (ΦΕΚ 3781/03.09.2018 τ. Β') όπως διορθώθηκε με το ΦΕΚ 3774/14.10.2019 τ. Β', τροποποιήθηκε με το 86/743/20377/26.06.2020 (ΦΕΚ 3058/23.07.2020 τ. Β') και επικαιροποιήθκε με το 71380/29.09.2023 (ΦΕΚ 5801/04.10.2023 τ. Β')
Περιεχόμενο μαθήματος
Εισαγωγή στους Μικροελεγκτές
Μικροϋπολογιστές, μικροεπεξεργαστές (αρχιτεκτονική, χαρακτηριστικά, κατηγορίες), μικροελεγκτές (αρχιτεκτονική, πλεονεκτήματα), ενσωματωμένα συστήματα, διαδίκτυο των πραγμάτων, μετατροπή A/D και D/A, pulse width modulation
Η Πλατφόρμα Arduino
Εισαγωγή, πλεονεκτήματα, εξέλιξη και εκδόσεις, σύγκριση εκδόσεων, πρόσθετα, περιγραφή Arduino UNO R3 (δομή, χαρακτηριστικά), Arduino Nano, πρωτόκολλα UART/I2C/SPI
Εισαγωγή στον Προγραμματισμό του Arduino
Περιβάλλον Arduino IDE και άλλα εργαλεία/εξομοιωτές (Fritzing, Tinkercad, Wokwi, κτλ), Arduino Web Editor, η γλώσσα προγραμματισμού Arduino, προγραμματισμός μικροελεγκτών σε C, δομή ενός Sketch, τύποι δεδομένων/τελεστές, μεταβλητές, ανάπτυξη και κλήση συναρτήσεων, κλήση συναρτήσεων από βιβλιοθήκη, δημιουργία βιβλιοθήκης, bitwise τελεστές και διαχείριση καταχωρητών
Εισαγωγή στους Αισθητήρες
Μικροελεγκτές και αισθητήρες, αισθητήρες θερμοκρασίας, πίεσης, υπερήχων, υπερύθρων, κτλ, επικοινωνία με υπέρυθρες
Η Αρχιτεκτονική του ATmega328
Δομή – δυνατότητες – βασικά αρχιτεκτονικά χαρακτηριστικά, MIPS, RISC/CISC, μπλοκ διάγραμμα, AVR CPU, ALU, καταχωρητές, μετρητής προγράμματος, στοίβα, χάρτης μνήμης
Αρχιτεκτονική και Προγραμματισμός των Περιφερειακών Μονάδων του ATmega328
I/O θύρες (χαρακτηριστικά, καταχωρητές ελέγχου, ψηφιακό διάγραμμα, ρύθμιση, άλλες λειτουργίες), ψηφιακές είσοδοι/έξοδοι, αναλογικές είσοδοι/έξοδοι (ADC διαδοχικής προσέγγισης), pulse width modulation (PWM) (fast PWM, phase correct PWM, PWM συχνότητες, prescaler), διαχείριση χρονιστών και διακοπών (interrupt vectors, εξωτερικές διακοπές), διαχείριση σειριακής θύρας, η διεπαφή TWI (ο δίαυλος I2C, το πρωτόκολλο I2C), SPI, εξοικονόμηση ενέργειας (sleep modes), αναλογικός συγκριτής, επικοινωνία μέσω Ethernet – Ethernet Shield
Συστήματα Λήψης και Καταγραφής Σημάτων στον Υπολογιστή, Εισαγωγή στο LabVIEW
Εργαλεία διαχείρισης, επεξεργασίας και καταγραφής σημάτων στον υπολογιστή, βασικά χαρακτηριστικά, οργάνωση και διαχείριση αρχείων πληροφορίας, LabVIEW και συστήματα συλλογής δεδομένων (βασικοί τύποι δεδομένων, ροή δεδομένων, βασικές δομές, τοπικές μεταβλητές, βασικές γραφικές παραστάσεις, subVIs, διαχείριση αρχείων, επικοινωνία μέσω σειριακής θύρας), παραδείγματα εφαρμογών και συστημάτων συλλογής δεδομένων (διασύνδεση EEPROM και real time clock με I2C πρωτόκολλο και διαχείριση μέσω LabVIEW), LabVIEW LINX Toolkit (ρυθμίσεις, παραδείγματα, συναρτήσεις)
Εισαγωγή στην Πλατφόρμα Raspberry Pi
Raspberry Pi 3 και αρχιτεκτονικές System on Chip (SoC), αρχιτεκτονικές IoT και συστήματα επίβλεψης και αναγνώρισης, λειτουργικά συστήματα και προγραμματισμός σε Python
Εργαστηριακές Ασκήσεις
Άσκηση 1: Εισαγωγή στους μικροελεγκτές με τη βοήθεια του Arduino Uno
Άσκηση 2: Ψηφιακές έξοδοι - PWM έξοδοι
Άσκηση 3: Αναλογικές είσοδοι
Άσκηση 4: Μέτρηση ωμικής αντίστασης και χωρητικότητας, DAC
Άσκηση 5: Διακοπές, Αισθητήρες υπέρηχων - υπέρυθρων, EEPROM
Άσκηση 6: Οθόνη υγρών κρυστάλλων
Άσκηση 7: Wi-Fi, Bluetooth, Internet of Things (IoT)
Άσκηση 8: Εισαγωγή στο LabVIEW, Χειρισμός συστήματος καταγραφής από PC
Άσκηση 9: Διασύνδεση EEPROM και Real Time Clock με I2C πρωτόκολλο
Άσκηση 10: Καταγραφή Απόστασης στο LabVIEW (Arduino IDE/VISA vs LINX)
Βαθμολογία
Εργαστήριο 50%
Project
Εξετάσεις 50%
Απαιτείται η βάση στο καθένα από τα παραπάνω
Προτεινόμενη Ελληνική Βιβλιογραφία
- Π. Παπάζογλου & Σ.-Π. Λιωνής, Ανάπτυξη Εφαρμογών με το Arduino, 3η Έκδοση, Εκδόσεις Τζιόλα, 2021
- Π. Παπάζογλου, Αρχιτεκτονική και Προγραμματισμός του Μικροελεγκτή AVR, Εκδόσεις Τζιόλα, 2018
Προτεινόμενη Διεθνής Βιβλιογραφία
- N. Dunbar, Arduino Software Internals, 2nd Edition, Apress, 2024
- S. Monk, Programming Arduino Getting Started with Sketches, 3rd Edition, McGraw Hill, 2023
- Mathworks, Matlab Support Package for Arduino Hardware (User’s Guide, Reference, Release Notes) R2023b, 2023
- Mathworks, Simulink Support Package for Arduino Hardware (User’s Guide, Reference, Release Notes) R2023b, 2023
- Mathworks, Matlab Support Package for Raspberry Pi Hardware (User’s Guide, Reference, Release Notes) R2023b, 2023
- Mathworks, Simulink Support Package for Raspberry Pi Hardware (User’s Guide, Reference, Release Notes) R2023b, 2023
- J. Boxall, Arduino Workshop A Hands-On Introduction with 65 Projects, 2nd Edition, No Starch Press, 2021
- J. C. Shovic, Raspberry Pi IoT Projects, 2nd Edition, Apress, 2021
- A. Pajankar, Practical Linux with Raspberry Pi OS, Apress, 2021
- S. F. Lott & D. Phillips, Python Object-Oriented Programming, 4th Edition, Packt Publishing Ltd, 2021
- J. M. Fiore, Embedded Controllers Using C and Arduino, 2nd Edition, version 2.1.10, May 2021
- J. M. Fiore, Embedded Controllers Using C and Arduino Laboratory Manual, 2nd Edition, version 2.3.5, April 2020
- M. Margolis, B. Jepson & N. R. Weldin, Arduino Cookbook, 3rd Edition, O’Reilly Media, 2020
- J. Blum, Exploring Arduino Tools and Techniques for Engineering Wizardy, 2nd Edition, Wiley, 2020
- G. Koch, The LEGO Arduino Cookbook, Apress, 2020
- S. Watkiss, Learn Electronics with Raspberry Pi Physical Computing with Circuits, Sensors, Outputs, and Projects, 2nd Edition, Apress, 2020
- A. Kurniawan, Internet of Things Projects with ESP32, Packt Publishing Ltd, 2019
- N. Cameron, Arduino Applied Comprehensive Projects for Everyday Electronics, Apress, 2019
- S. Monk, Programming Arduino Next Steps Going Further with Sketches, 2nd Edition, McGraw Hill, 2019
- R. Singh, A. Gehlot, B. Singh & S. Choudhury, Arduino-Based Embedded Systems, Interfacing, Simulation, and LabVIEW GUI, CRC Press, 2018
- W. Donat, Learn Raspberry Pi Programming with Python, 2nd Edition, Apress, 2018
- S. Monk, Electronics Cookbook Practical Electronic Recipes with Arduino & Raspberry Pi, O’Reilly Media, 2017
- J. Culkin & E. Hagan, Learn Electronics with Arduino An Illustrated Beginner’s Guide to Physical Computing, Maker Media, 2017
- M. Geddes, Arduino Project Handbook Volume 2: 25 Simple Electronics Projects for Beginners, no starch press, 2017
- M. Geddes, Arduino Project Handbook 25 Practical Projects to Get Started, no starch press, 2016
- J. M. Hughes, Arduino A Technical Reference A Handbook for Technicians, Engineers, and Makers, O’Reilly Media, 2016
- Atmel, 8-bit AVR Microcontrollers ATmega328/P Datasheet Complete, 2016
- Atmel, ATmega328P 8-bit AVR Microcontroller with 32K Bytes In-System Programmable Flash Datasheet, 2015
- M. Schwartz & O. Manickum, Programming Arduino with LabVIEW, Packt Publishing Ltd, 2015
- M. Banzi & M. Shiloh, Getting Started with Arduino, 3rd Edition, Maker Media, 2015