1. Course number and name: EEE703046 – Microcontroller (+Lab)
2. Credit: 3 (Engineering
Topics), including 30 hours of lectures, 30 hours of lab, and 90 hours of
self-study; Required.
Contact Hours: 3 (Lecture: 2/week; Discussion & Examples: 1/week).
3. Instructor’s or course coordinator’s name: Ph.D. Huynh Ba Phuc.
4.
Textbook:
a. Required:
[1] Massimo Banzi and Michael Shiloh (2015),
Getting Started with Arduino, 3rd
edition, Maker Media Inc.
b. Additional
Textbooks (Optional):
[1] Trương Đình Nhơn, Phạm Quang Huy (2018),
Vi điều khiển và ứng dụng - Hướng dẫn sử
dụng Arduino, Nhà xuất bản Thanh Niên.
[2] Rajesh Singh (2018), Arduino-Based Embedded Systems, CRC
Press.
5. Specific course information:
a. Catalog description of
the content of the course:
The
course introduces microcontroller structure and gives instructions to students
on the basic concepts of designing and implementing microcontroller circuits to
control and communicate with popular peripherals and actuators. The student
knows the subject of currently applied microcontrollers and knows the area of
their uses. The student also knows basic integrated programming environments
enabling the designing of the application. This course is practice-based. Each
lesson includes a brief lecture, then students work on practical projects.
b. Prerequisites: Circuit theory (EEE703055); Microeletronics
Circuit Design (EEE704074); Sensor technology (EEE703040); Object-Oriented
Programming (CSE703029).
6. Specific goals for the course:
a. Course Learning Outcomes and
Relationship to Student Outcomes:
At the end of the course,
students will be able to |
ABET SOs and PIs |
LO.01 – know the structure,
main components, and applications of Microcontrollers; know the
structure, technical specification, and application of Arduino. |
1.1 |
LO.02 – use common functions
of microcontroller to communicate and control common peripheral devices. |
1.2 |
LO.03 – use the Integrated
Development Environment to write programs for the microcontrollers; use
simulation tools to verify the programming codes. |
1.3 |
LO.04 – design a microcontroller circuit that
combines multiple functions and peripheral modules to satisfy the
requirements and constraints of a given problem. |
2.1 |
LO.05 – divide work and communicate
with each other in the team to complete a specific exercise. |
5.2 |
b. Related Student Outcomes (ABET SOs):
No. |
The graduates must have: |
1 |
an
ability to identify, formulate, and solve complex engineering problems
by applying principles of engineering, science, and mathematics. |
2 |
an
ability to apply engineering design to produce solutions that meet specified
needs with consideration of public health, safety, and welfare, as well as
global, cultural, social, environmental, and economic factors. |
5 |
an
ability to function effectively on a team whose members together provide
leadership, create a collaborative and inclusive environment, establish
goals, plan tasks, and meet objectives. |
7. Brief list of lecture topics to be covered:
Week |
Lecture topics |
1 |
Start-up Quiz Lesson 1: Introduction 1.1. Microprocessor and
microcontroller. 1.2. Central processing unit
(CPU). 1.3. Program memory: Read Only
Memory (ROM). 1.4. Data memory: Random Access
Memory (RAM). 1.5. Timers and counters. 1.6. Input/output (I/O) ports. 1.7. Serial communication
interface. 1.8. System bus. 1.9. Interrupt mechanism. 1.10. ADC and DAC. 1.11. Programming methods for
microcontrollers. |
2 |
Lesson 2: Introduction to
Arduino 2.1. About Arduino. 2.2. Some Arduino boards. 2.3. Some Arduino pins. 2.4. Arduino Integrated
Development Environment (IDE). 2.5. First program: Blink an
LED. 2.6. Simulation. 2.7. Preparing for Quiz 1 and
Exercise 1. |
3, 4 |
Quiz 1 Lesson 3: Arduino basic
functions 3.1. Digital inputs/outputs. 3.2. Analog inputs/outputs. 3.3. Time delay. 3.4. Timers. 3.5. Interrupts. 3.6. Examples. 3.7. Preparing for Exercise 2. 3.8. Discussion of Final
Project. (The online course video is for internal circulation only) |
5, 6 |
Lesson 4: Motor control 4.1. Introduction. 4.2. PWM. 4.3. DC motor control. 4.4. Stepper motor control. 4.5. RC servo control. 4.6. Examples. 4.7. Preparing for Quiz 2,
Exercise 3, and Exercise 4. 4.8. Discussion of Final
Project. (The online course video is for internal circulation only) |
7 |
Quiz 2 Lesson 5: UART, I2C, and SPI 5.1. UART. 5.2. I2C. 5.3. SPI. 5.4. Examples. 5.5. Preparing Quiz 3, Exercise
5, and Exercise 6. 5.6. Discussion of Final
Project. (The online course video is for internal circulation only) |
8 |
Quiz 3 Lesson 6: Servo motor control 6.1. Introduction. 6.2. Encoders. 6.3. Speed control using PID. 6.4. Position control using PID. 6.5. Examples. 6.6. Preparing for Quiz 4 and Exercise
7. 6.7. Discussion of Final
Project. (The online course video is for internal circulation only) |
9, 10 |
Quiz 4 Lesson 7: Popular modules for
Arduino boards 7.1. Distance measurement. 7.2. LCD. 7.3. Temperature, humidity, and
pressure sensors. 7.4. IMU. 7.5. Exercise 8. 7.6. LiDAR. 7.7. WIFI. 7.8. Bluetooth. 7.9. CAN. 7.10. Final quiz. 7.11. Discussion of Final
Project (The online course video is for internal circulation only) |
8. Brief
list of lab topics to be covered:
Week |
Lab topics |
1, 2 |
No labs (Meeting with the
instructor for advice if needed). |
3 |
Lab 1: Getting started with
Arduino IDE. Preparing the required software. Exercise 1: Write the first
program, compile it, and upload it to the board. |
4 |
Lab 2: Discussion of Report 1. Exercise 2: Practice examples
about digital inputs/outputs, analog inputs, timers, counters, and interrupts. Report 1. |
5 |
Lab 3: Discussion of Report 2. Exercise 3: Practice examples of
motor control. Using the knowledge in the previous sections. |
6 |
Lab 4: Discussion of Report 3. Exercise 4: Practice examples of
UART. Using the knowledge in the previous sections. Report 2. |
7 |
Lab 5: Discussion of Report 4. Exercise 5: Practice examples of
I2C. Using the knowledge in the previous sections. |
8 |
Lab 6: Discussion of Report 5. Exercise 6: Practice examples of
SPI. Using the knowledge in the previous sections. Report 3. |
9 |
Lab 7: Discussion of Report 6. Exercise 7: Practice examples of
servo motor control. Using the knowledge in the previous sections. |
10 |
Lab 8: Discussion of Report 7. Exercise 8: Practice examples of
distance measurement using an Ultrasonic sensor. Using the knowledge in the
previous sections. Report 4. |
11 |
Lab 9: Discussion of Report 8. Final project: Synthesis practice
using many component modules. |
12 |
Lab 10: Discussion of the Final Report. Final project: Synthesis
practice using many component modules (continued). Final report. |
13, 14, 15 |
No labs (Meeting with the
instructor for advice if needed). |
9. Evaluation:
Scale: 0 – 10.
· Final
score = CC1 (5%) + CC2 (5%) + Mid-term 1 (10%) + Mid-term 2 (20%) + Final exam (60%).
· CC1: Attendance (5%)
· CC2: Start-up quiz (2%) + Participate
in all 6 Quiz (3%).
· Mid-term 1: Quiz 1 (5%) + Quiz 2 (5%)
· Mid-term 2: Quiz 3 (5%) + Quiz 4 (5%) + Report
1 (10%).
· Final exam: Final quiz (5%)+ Report 2 (10%) + Report
3 (10%) + Report 4 (10%) + Final report (25%).
Students must pay attention to the deadlines of the assignments.
Detailed evaluation:
ASSIGNMENT |
RATING WEIGHT (%) |
||||
LO.01 |
LO.02 |
LO.03 |
LO.04 |
LO.05 |
|
Quiz 1 |
20 |
40 |
40 |
0 |
0 |
Quiz 2 |
20 |
40 |
40 |
0 |
0 |
Quiz 3 |
20 |
40 |
40 |
0 |
0 |
Quiz 4 |
20 |
40 |
40 |
0 |
0 |
Final quiz |
20 |
40 |
30 |
10 |
0 |
Report 1 |
20 |
40 |
40 |
0 |
0 |
Report 2 |
20 |
40 |
30 |
10 |
0 |
Report 3 |
20 |
40 |
30 |
10 |
0 |
Report 4 |
20 |
40 |
30 |
10 |
0 |
Final Report |
20 |
20 |
20 |
20 |
20 |
10. Contribution of
course to meeting the Professional Component:
Engineering Topics: 3 Credits (100%)