Rapid Prototyping of Digital Sensor Systems
Overall Course Objectives
The course introduces the student to the microcontroller with the aim of constructing prototypes of digital measuring systems. An Arduino Uno R3 microcontroller is used to digitize sensor signals, to register user input, and to control motors, displays, and other devices.
See course description in Danish
Learning Objectives
- explain the architecture of the ATmega 328p microcontroller and the purpose of the ALU, registers, program counter as well as the types and use of memories included in the ATmega 328p.
- explain the principles of the binary and hexadecimal number systems and explain the binary representation of the data variable types available in standard C and Arduino C.
- explain and be able to use all data variable types available in standard C and Arduino C and be able to use type casting.
- write programs using Arduino C and standard C, using conditionals (if, case/switch,?: operator), loop structures (for, while, do while), user-defined functions.
- write programs that can perform simple mathematical calculations using the built-in math functions.
- clear and set bits in registers using bitwise operators in standard C.
- program the Arduino Uno R3 to interface with LCD displays, LEDs, pushbuttons and handle issues like switch bouncing and pull-up/pull-down resistors.
- program the Arduino Uno R3 to communicate with serial peripherals using the I2C protocol.
- explain the principle of the succesive approximation analog-to-digital converter (ADC).
- explain the performance parameters of the ADC and program it to digitize low frequency sensor signals.
- explain the principle of pulse-width modulation (pwm) and use it to control LED light intensity and to control a DC motor.
- Explain the current-voltage relationship for inductors and capacitors, and derive and solve differential equations for circuits that include inductors and capacitors.
Course Content
Sensor Technologies: Inductors, capacitors, thermistors, pressure sensors and light dependent resistors.
Digital systems: Arduino Uno R3 system, ATmega 328P microcontroller, push buttons, LCD displays, LEDs, RGB LED, DC motors, digitalization of low frequency signals.
Programming in standard C: Type declaration, mathematical operations, user-defined functions, for and while loops, if blocks, bit manipulation with Arduino C and with plain C. Reading from and writing to the registers of the microcontroller.
Teaching Method
Lectures, exercises, lab work, quizzes.
Faculty
Remarks
Participants must buy and bring their own Arduino Starter kit. It is recommended to buy “Elegoo – The most complete starter kit for UNO” several months before semester start. An Arduino Uno R4 cannot be used in the course, as it is completely different from the microcontroller used in the lectures.
Limited number of seats
Minimum: 10, Maximum: 90.
Please be aware that this course has a minimum requirement for the number of participants needed, in order for it to be held. If these requirements are not met, then the course will not be held. Furthermore, there is a limited number of seats available. If there are too many applicants, a pool will be created for the remainder of the qualified applicants, and they will be selected at random. You will be informed 8 days before the start of the course, whether you have been allocated a spot.