4 ECTS; 1º Ano, 2º Semestre, 45,0 TP
- Carlos Alberto Farinha Ferreira
- Pedro Manuel Granchinho de Matos
This unit aims to make an introduction to microcontroller programming. Students will have contact with the Arduino platform, which will allow them to learn the main features of microcontrollers using relatively simplified development tools.
It is intended that, after the Curricular Unit, students have the ability to carry out microcontroller applications, in terms of their programming and basic circuits for interfacing with the real world.
1) Introduction to microprocessor/microcontroller systems:
a) characteristics of microprocessors;
b) characteristics of microcontrollers;
c) notions of embedded systems.
2) Data representation and computer arithmetic:
a) Binary representation of positive integers;
b) Binary representation of negative integers;
c) Binary representation of real numbers, floating point;
d) Data types in C.
3) Arduino ATMega328P/Mega2560 platform:
b) Development environment;
c) Digital inputs/outputs;
d) Analog inputs;
e) PWM outputs.
4) Arduino ATMega328P/Mega2560 Programming:
a) Programming language and environment development:
b) General instructions;
c) Specific libraries.
d) Introduction to TinkerCAD - graphical programming tool for Arduino.
5) Advanced features:
c) Introduction to serial communications, SPI and I2C and Bluetooth.
6) Project and conception of small microcontroller applications with Arduino platform ATMega328P/Mega2560.
The evaluation method consists of carrying out a written test (50% of the final grade) and carrying out practical laboratory work (50% of the final grade).
- Margolis, M. (2011). Arduino Cookbook. -: O'Reilly
et al. (2014). GreenT: guião de construção e programação. Tomar: -
- Barros, M. (2020). Acetatos de Arquitetura de Microcontroladores. Tomar: -
Theoretical-practical classes where concepts are exposed and practical cases are solved.
Software used in class
- Development software for Arduino (IDE);
- Proteus Design Suite simulator;
- TinkerCAD software Tool.