# Design Project

## LAB: EC Design Problem

**Date:** 2023-09-26

**Author/Partner:**

**Github:** repository link

**Demo Video:** Youtube link

## What you need to submit <a href="#what-you-need-to-submit" id="what-you-need-to-submit"></a>

[Read the instruction carefully](#what-you-need-to-submit-2)

***

## 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*

[Please refer to past design problem](https://github.com/ykkimhgu/course-doc/blob/master/ec-course/project/LAB_DesignProblem_Smart%20Home_2021%20\(1\).pdf)

* [Watch past final project videos](https://ykkim.gitbook.io/ec/ec-course/project/past-projects)

![image](https://user-images.githubusercontent.com/38373000/192134563-72f68b29-4127-42ac-b064-2eda95a9a52a.png)

#### Score: Total 100pt

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

* Demonstration: 60pt (including demo video)
* Report: 30pt (1 report per team)
* Peer Evaluation: 10pt (average of self-eval and peer-eval)

### 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:

![img](file:///C:/Users/ykkim/AppData/Local/Temp/msohtmlclip1/01/clip_image002.gif)

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.!!!*

![image](https://user-images.githubusercontent.com/38373000/192134563-72f68b29-4127-42ac-b064-2eda95a9a52a.png)

###

## 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 code (private repositor) goes here: [ADD Code LINK such as github](https://github.com/ykkimhgu/EC-student/)

```c++
// 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

## &#x20;<a href="#what-you-need-to-submit" id="what-you-need-to-submit"></a>

***

## What you need to submit <a href="#what-you-need-to-submit" id="what-you-need-to-submit"></a>

**`LAB_EC_DesignProject_KEYWORD.zip`**

1. **Report: `\report\`**

* \\`img` folder
* EC\_DesignProject\_KEYWORD\_Report.md
* EC\_DesignProject\_KEYWORD\_Report.pdf

2. **Source code: `\src\`**

* `\include`**folder**
* EC\_DesignProject\_KEYWORD\_main.c
* EC\_DesignProject\_KEYWORD\_mcu2.c, and others

3. **Presentation and DemoVideo: `\demo\`**

* EC\_DesignProject\_KEYWORD\_Presentation.ppt
* EC\_DesignProject\_KEYWORD\_Presentation.pdf
* EC\_DesignProject\_KEYWORD\_Demo. mp4 (기타 영상 확장자 가능)

#### Example: KEYWORD=SmartHome

<figure><img src="/files/FeNLGRxOWMXXCiGhha6n" alt=""><figcaption></figcaption></figure>

***

##


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://ykkim.gitbook.io/ec/ec-course/projects/project.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
