Course: DES406 Microcontrollers 1
Assessment Type: Assignment
Weighting: This assignment contributes towards the 10% allocated for Assignments/Tests.
The objective of this assignment is to develop a functional microcontroller application based on a set of requirements. You will create an interactive traffic light controller to perform a simple industrial function. This will involve designing a circuit where a microcontroller is interfaced to practical devices (LEDs and a switch) and developing the control software to meet the given specifications.
This assignment provides an opportunity to demonstrate competency in the following course learning outcomes:
Learning Outcome Met: LO1 - Demonstrate and apply knowledge of microcontroller hardware.
Justification: This section requires you to build a functional circuit. A microcontroller is interfaced to practical devices (LEDs, a push button, and resistors) by connecting them to the correct I/O pins. The microcontroller on-board subsystems (digital I/O ports) must be correctly wired to external components, demonstrating an applied understanding of hardware interfacing in accordance with standard industry practice.
Using the Tinkercad simulation environment, you are required to assemble the following circuit:
Learning Outcome Met: LO2 - Demonstrate practical microcontroller software development methods.
Justification: This section requires you to write and test embedded software. An IDE is used to demonstrate practical software development methods for microcontrollers. Programs for a microcontroller are written and documented based on given specifications to solve a defined problem. This includes using control structures, functions, and debugging outputs, all of which reflect standard industry practice for software development.
You will write C++ code for the Arduino to control the traffic light system. The program must be developed in two stages.
First, implement a non-interactive traffic light sequence that repeats indefinitely. The on-board subsystems (timers and digital I/O) must be configured to achieve the following sequence:
Modify your program to incorporate the pedestrian push button. The system must poll this input to alter its behaviour as specified below:
To demonstrate professional coding standards, your programs for the microcontroller must be written and documented adhering to the following guidelines:
const int) for code readability and maintainability.setup() and loop(). This is a fundamental aspect of practical software development methods.if/else) to manage the state of the traffic light and to handle the button input..ino file.| Criteria | Points | Learning Outcome |
|---|---|---|
| Circuit correctly interfaces practical devices in Tinkercad. | 15 | LO1 |
| Stage A: Basic automated traffic light cycle is correctly implemented. | 20 | LO2 |
| Stage B: Pedestrian button logic is correctly implemented as per specifications. | 30 | LO2 |
| Code uses constants, an array, and custom functions as required. | 15 | LO2 |
| Serial Monitor output is used effectively for status and verification. | 10 | LO2 |
| Code is well-structured, readable, and documented in accordance with industry practice. | 10 | LO2 |
| Total | 100 |