πŸ’Ύ
EC
  • Introduction
  • EC Course
    • Syllabus
    • Preparation for EC
    • Tutorial
      • Tutorial: arduino-stm32
        • Tutorial: arduino-stm32 Installation
        • Tutorial: arduino-stm32 Part1
        • Tutorial: arduino-stm32 Part2
      • Tutorial: MDK uVision
        • Tutorial: Installing MDK uVision
        • Tutorial: Create a Project with uVision
        • Tutorial: Adding library header in uVision
        • Tutorial: Re-using Project Configuration
        • Debugging in uVision
      • Tutorial: PlatformIO in CLion
      • Tutorial: PlatformIO in VSCode
      • Tutorial: Repository Management
      • Tutorial: Managing library header files
      • Tutorial: PinName Configuration
      • Tutorial: Bitwise Macro
      • Tutorial: Custom initialization
      • Tutorial: Documentation
      • Tutorial: Creating Application API
      • Tutorial: 7-Segment Display
      • Tutorial: DC motor driver connection
      • Tutorial: USART with TeraTerm
      • Tutorial: Finite State Machine programming
      • Tutorial: Bluetooth
      • Tutorial: Zigbee with Nucleo board
    • LAB
      • LAB Report Template
      • LAB: Smart mini-fan with STM32-duino
      • LAB: Portable Fan with mbed
      • LAB: GPIO Digital InOut
      • LAB: GPIO Digital InOut 7-segment
      • LAB: EXTI & SysTick
      • LAB: Timer & PWM
      • LAB: Stepper Motor
      • LAB: Input Capture - Ultrasonic
      • LAB: USART - LED, Bluetooth
      • LAB: ADC - IR reflective sensor
      • LAB: Line Tracing RC Car
    • Sample code
      • Code Templates
    • Hardware
      • Nucleo-F411RE
      • LAB Hardware
        • Electronic Chips
        • HUINS Embedded Kit
    • Projects
      • Line Tracing Car Project
      • Design Project
        • Past Projects
      • Project Grading Criteria
    • Study Resource for MCU
      • Hexa-Decimal Table
      • Bitwise Op for Register
      • System Clock
      • Timer
      • USART
      • ADC
  • STM32 M4 Programming
    • Documentation
      • C++ API Docs
    • Firmware Library
      • PinName Configuration
      • GPIO Digital
      • RCC
      • EXTI_SysTick
      • TIMER
      • USART
    • Troubleshooting
    • mbed for STM32
      • Tutorial: mbed-Part 1
      • Tutorial: mbed - Part 2
      • Tutorial: mbed - Part 3
      • Using mbed API on uVision
    • mbed OS
  • Other Programming
    • Arduino
    • Socket Programming
      • Window Socket Programming
      • Arduino WiFi
    • Cube-MX
    • Github
    • Markdown
      • Example: API documentation
    • MATLAB
  • C Programming
    • C-Programming Lessons
      • Installing Visual Studio Community
        • Visual Studio Community 2022
      • Installing VS Code(Mac/Linux)
      • Creating Header Lib
      • Pointer
      • Array
      • 2D Array
      • Structure
      • Dynamic Alloc
      • Bitwise Operation
  • Numerical Programming
    • Syllabus
    • Preparation for NP
    • Math Review
    • Tutorial
      • TA Session Video
      • Tutorial: NP Library Header Files
      • Tutorial - Sine Taylor
      • Tutorial: Passing a Function, Function callback
      • Tutorial: Nonlinear solver
      • Tutorial: Differentiation
      • Tutorial: Integration
      • Tutorial: Matrix Structure
      • Tutorial: Eigenvalue problem
      • Tutorial: ODE-IVP
      • Tutorial: Curve Fitting
      • Tutorial: Create Github Repos of NP lib
      • Tutorial: Version Control in Github
      • Tutorial: Documentation with Markdown
      • Exercise: Version Control and Documentation
    • Example: MATLAB
    • Example: NP Library
    • Assignment
      • Assignment Factorial and Power
      • Assignment: Version Control and Documentation
    • Problem Bank
Powered by GitBook
On this page
  • LAB: EC Design Problem
  • What you need to submit
  • I. Introduction
  • Overview
  • Requirements
  • II. Problem
  • Problem Description
  • MCU Configuration
  • Circuit Diagram
  • III. Algorithm
  • Logic Design
  • Code
  • IV. Results and Demo
  • Analyze your results !!
  • V. Reference
  • Appendix
  • Troubleshooting
  • Other Appendix
  • What you need to submit

Was this helpful?

  1. EC Course
  2. Projects

Design Project

PreviousLine Tracing Car ProjectNextPast Projects

Last updated 4 months ago

Was this helpful?

LAB: EC Design Problem

Date: 2023-09-26

Author/Partner:

Github: repository link

Demo Video: Youtube link

What you need to submit


I. Introduction

Overview

Design problem for an application of 32-bit MCUs ( STM32F411). You can freely choose the design problem related to smart factory, smart home system or any other related to our mechanical and control engineering.

You need explain the overview of the design problem with a diagram and brief abstract

Score: Total 100pt

This project will be scored based on (1) Complexity (2) Completeness (3) Creativity

  • Demonstration: 70pt (including demo video)

  • Report: 30pt (1 report per team)

  • Peer Evaluation: +10 to -10

Requirements

You must use at least 3 sensors: including 1 analog sensor and 1 digital sensor

  • You can choose sensors that were not used in the course LABs.

  • You will get higher scores if you use more sensors

  • You must use at least 2 actuators

  • You must use at least 1 wireless communication.

  • You must use at least 1 timer interrupt IRQ

  • You will get a higher score if you use more numbers of MCUs, sensors, and actuators

Hardware

Write down all the necessary hardware.

Item

Model/Description

Qty

MCU

NUCLEO -F411RE

2

Analog Sensor

IR reflective optical sensor(TCRT5000)

1

Digital Sensor

-

-

Actuator

-

-

Display

-

-

Communication

-

-

Others

-

-

Software

Keil uVision IDE, CMSIS, EC_HAL


II. Problem

Problem Description

Detail description of the problem goes here.

Your problem must have at least 3 modes(states). Explain necessary states(modes) and description

Example diagram:

Description of system modes, how your MCU should function and more

For example:

1. System Mode:

MODE

Description

Normal Mode (NORM_MODE)

Pressing MODE_button (B1 of MCU_1) toggles from NORM_mode 👨πŸ‘ͺSECUR _mode

Security Mode (SECUR_MODE):

Pressing STOP_button (B1 of MCU_2) resets from SIREN_mode to SECUR_mode.

2. Front Door:

MODE

Description

Normal Mode (NORM_MODE)

When a person is detected within the given distance from the door(outside): Keep turning on the door light as long as the person is present. When a person is detected inside the house nearby the door: Turn on the door light for given period of time and does not generates the SIREN _TRG trigger.

Security Mode (SECUR_MODE):

When a person is detected within the given distance from the door(outside): Keep turning on the door light as long as the person is present and sends the VISITOR_LOG message to the server. When a person is detected inside the house nearby the door: Keep turning on the door light and generates the SIREN _TRG trigger.

3. Sensor Unit: MCU_1

Function

Sensor

Configuration

Comments

Door Person detect (front)

Ultrasonic distance sensor

Sampling 0.1 sec Check object presence within 30cm Generates PERSON_OUTSIDE flag

Need to check for outlier measurements (at least 7/10 Postive) VISITOR_LOG under SECUR_MODE

Door Person detect (inside)

PIR motion sensor

Edge trigger Generates PERSON_INSIDE flag

MCU Configuration

You are free to select appropriate configurations for the design problem. Create a configuration table to list all the necessary setup.

Example:

Functions

Register

PORT_PIN

Configuration

System Clock

RCC

-

PLL 84MHz

delay_ms

SysTick

-

Bluetooth

USART1

TXD: PA9 RXD: PA10

No Parity, 8-bit Data, 1-bit Stop bit 9600 baud-rate

Timer Interrupt

TIMER1

...

...

Circuit Diagram

MUST condition: Show the wiring of each sensor/actuator component to MCUs.

DO NOT draw by hand.!!!

III. Algorithm

Logic Design

In the report, you need to explain concisely how you designed the system with state tables/diagram or flow-chart.

  • Listing all necessary states (states, input, output etc) to implement this design problem.

  • Listing all necessary conditional FLAGS for programming.

  • Showing the logic flow from the initialization

  • and more

Code

// YOUR MAIN CODE ONLY

// YOUR CODE with Comments

IV. Results and Demo

Experiment images and results

Show experiment images /results

You are required to show In-class demonstration.

Add [demo video link]

Analyze your results !!


V. Reference

Complete list of all references used (github, blog, paper, etc)

Appendix

Troubleshooting

Other Appendix


What you need to submit

LAB_EC_DesignProject_KEYWORD.zip

  1. Report: \report\

  • \img folder

  • EC_DesignProject_KEYWORD_Report.md

  • EC_DesignProject_KEYWORD_Report.pdf

  1. Source code: \src\

  • \includefolder

  • EC_DesignProject_KEYWORD_main.c

  • EC_DesignProject_KEYWORD_mcu2.c, and others

  1. Presentation and DemoVideo: \demo\

  • EC_DesignProject_KEYWORD_Presentation.ppt

  • EC_DesignProject_KEYWORD_Presentation.pdf

  • EC_DesignProject_KEYWORD_Demo. mp4 (기타 μ˜μƒ ν™•μž₯자 κ°€λŠ₯)

Example: KEYWORD=SmartHome


image
img
image

Your code (private repositor) goes here:

Please refer to past design problem
Watch past final project videos
ADD Code LINK such as github
Read the instruction carefully