๐ Hi, I'm Soyun Park
๐ INU Embedded Systems Engineering
๐ง Experienced in Embedded Systems, AI Vision, and IoT, applying real-time sensor fusion to safety and mobility projects.
-
๐ ์์จ์ฃผํ ์๋ฎฌ๋ ์ด์ ๋ํ ๊ธ์( 2025.09 ~ 2025.10)
๐ MATLAB/Simulink ๊ธฐ๋ฐ ์์จ์ฃผํ ์๋ฎฌ๋ ์ด์ - ๋ํ์ ๊ธฐํํ ์์จ์ฃผํ๊ฒฝ์ง๋ํ
- ์ญํ : ์์คํ ์ค๊ณ ๋ฐ ์๋ฎฌ๋ ์ด์ ๊ตฌํ
- ๋ด์ฉ:
- RoadRunner + Simulink๋ฅผ ํ์ฉํด ์์จ์ฃผํ ์ฐจ๋์ ์ฐจ์ ์ ์ง, ์ฐจ์ ๋ณ๊ฒฝ, ์ฅ์ ๋ฌผ ํํผ, Cut-in ๋์ ์๋๋ฆฌ์ค๋ฅผ ์๋ฎฌ๋ ์ด์
- Vision Sensor, Radar, LiDAR ๋ฑ ๊ฐ์ ์ผ์๋ฅผ ๊ตฌ์ฑํ๊ณ , PID ์ ์ด ๋ฐ ๊ฒฝ๋ก Planner ๋ก์ง์ ์ค๊ณ
- ๋ค์ํ ์ฃผํ ํ๊ฒฝ(์ง์ , ๊ณก์ , ์ฅ์ ๋ฌผ, ๋๋ฐ ์ํฉ)์์ ์ธ์ ๋ฐ ์ ์ด ์ฑ๋ฅ ๊ฒ์ฆ
- ๊ธฐ์ : MATLAB, Simulink, RoadRunner, Automated Driving Toolbox, Navigation Toolbox
-
๐ Is Not Break Down(2025.07 ~ 2025.09)
๐๋ฉํฐ๋ชจ๋ฌ AI ์์คํ (์์ยท์์ฑยทOBD-II) โ ์ค์๊ฐ ๊ฒฝ๊ณ & ์ด์ ์ ์์ ์ฑ ํ๋ณด
- ์ญํ : ๋ฉ์ธ ๊ฐ๋ฐ์
- ๋ด์ฉ: ์ด์ ์์ ๊ธ๋ฐ์ง ๋ฐ ํ๋ฌ ์ค์กฐ์ ์ํฉ์ ์กฐ๊ธฐ์ ๊ฐ์งํ๋ ๋ฉํฐ๋ชจ๋ฌ AI ๊ธฐ๋ฐ ์์คํ
- ์
๋ ฅ:
- ์ผ๊ตด ํ์ (FER, IMX500) โ ๋๋ยท๋ถ๋ ธ ๊ฐ์ ํ์ง
- ์์ฑ(openSMILE) โ ๊ธด์ฅยท๋นํฉ ๋ฐํ ํจํด ๋ถ์
- ์ฐจ๋ ์ผ์(OBD-II) โ ์๋, RPM, ์ค๋กํ, ๋ธ๋ ์ดํฌ ์ ํธ ์ค์๊ฐ ์์ง
- ๊ตฌ์กฐ:
- Producer-Consumer ์ํคํ ์ฒ ๊ธฐ๋ฐ ๋ฉํฐ์ค๋ ๋ ์ฒ๋ฆฌ
- ์์/์์ฑ/์ผ์ ๋ฐ์ดํฐ๋ฅผ ๋๊ธฐํํ์ฌ ์ตํฉ(Fusion)
- ์ด์ ์ํฉ ๋ฐ์ ์ ์ค์๊ฐ ๊ฒฝ๊ณ ํ๋จ ๋ฐ UI ํ์
- ์
๋ ฅ:
- ๊ธฐ์ : Raspberry Pi 5, TensorFlow Lite (FER ๋ชจ๋ธ), openSMILE, Python ๋ฉํฐ์ค๋ ๋ฉ, OBD-II ์๋ฆฌ์ผ ํต์
- ์ฑ๊ณผ:
- ์ค์๊ฐ ๊ฒฝ๊ณ ์์คํ ๊ตฌํ: UI์ Alert ์์ด์ฝ ์ ํ + ์ด๋ฒคํธ ๋ก๊น
- ์์ ์ฑ ๊ธฐ๋ฅ ์ถ๊ฐ: ์ฟจ๋ค์ด ํ์ด๋จธ, persist_min_frames ๋ก์ง ์ ์ฉ โ ์คํ๋ฅ ๊ฐ์
- ์์: ๋ฉํฐ๋ชจ๋ฌ ๋ฐ์ดํฐ ์ตํฉ(AI + ์ผ์)์ ํตํ ์ด์ ์ ์์ ์ฑ ํ๋ณด ๊ฐ๋ฅ์ฑ ๊ฒ์ฆ
-
๐ ์๋ด ํ๋ก์ ํธ (WCL-INU ์ฐ๊ตฌ์ค) (2025.01 ~ )
๐YOLOv5/v8 ๊ธฐ๋ฐ ๋ฒ ํ์ง/๊ณ์ ๋ชจ๋ธ โ ์ปค์คํ ๋ฐ์ดํฐ์ ์ ์ ๋ฐ ํ์ต ํ์ดํ๋ผ์ธ ๊ตฌ์ถ
- ์ญํ : ๋ฐ์ดํฐ์ ์ ์ ๋ฐ ๋ชจ๋ธ ํ์ต ๋ด๋น
- ๋ด์ฉ: YOLOv5/v8์ ํ์ฉํ ๊ฟ๋ฒ ํ์ง ๋ฐ ๊ณ์ ์ฐ๊ตฌ
- ๊ธฐ์กด ์์์์ ๋ฒ์ ํ์งํ๊ธฐ ์ํด labelImg๋ฅผ ์ฌ์ฉํ ์์ฒ ์ฅ ๋จ์์ ์์์ ๋ผ๋ฒจ๋ง ์งํ
- YOLO ํฌ๋งท(
.txt) ๋ณํ ํ ์ปค์คํ ๋ฐ์ดํฐ์ ๋๋ ํ ๋ฆฌ ๊ตฌ์กฐ(images/train,labels/train๋ฑ) ์ง์ ๊ตฌ์ฑ - ๋ฐ์ดํฐ ์ ์ฒ๋ฆฌ: ๋ฒ์ด ์๋ ํ๋ ์์๋ ๋น ๋ผ๋ฒจ ํ์ผ ์์ฑํ์ฌ ๋ชจ๋ธ์ false positive ์ต์ํ
- ํ์ต/๊ฒ์ฆ ํ์ดํ๋ผ์ธ ๊ตฌ์ถ:
train.py์คํ ํ๊ฒฝ ์ธํ , ํ๋ผ๋ฏธํฐ ํ๋, GPU/๊ฐ์ํ๊ฒฝ ๊ด๋ฆฌ
- ๊ธฐ์ : Python, YOLOv5/v8, PyTorch, LabelImg, ๋ฐ์ดํฐ์ ๊ด๋ฆฌ(~/bee/dataset)
- ์ฑ๊ณผ:
- ๋ฒ ํ์ง ์ ํ๋๋ฅผ ๋์ธ ์ปค์คํ YOLO ๋ชจ๋ธ ํ์ต ์งํ ์ค
- ๊ทธ๋ฆผ์ยท๊ฒน์นจ ๋ฑ ์ด๋ ค์ด ์ํฉ์์๋ ์ผ์ ์์ค ์ด์์ ํ์ง ์ฑ๋ฅ ํ๋ณด
- ์ฐ๊ตฌ์ค ๋ด๋ถ์์ ํ์ฉ ๊ฐ๋ฅํ ์คํ์ฉ ๋ฐ์ดํฐ์ ๋ฐ ํ์ต ์ฝ๋๋ฒ ์ด์ค ๊ตฌ์ถ
-
๐ RC์นด ๊ธฐ๋ฐ ํ๋ก์ ํธ (2025.05 ~ 2025.06)
๐ Flask ์คํธ๋ฆฌ๋ฐ + RC ์ ํธ ์์ โ ์์จ์ฃผํ & ์๋ ์ ํ
- ์ญํ : ์์คํ ํตํฉ ๊ฐ๋ฐ
- ๋ด์ฉ:
- Raspberry Pi 5 + Picamera2๋ฅผ ํ์ฉํด RC์นด ์ฃผํ ์์์ Flask ์น ์๋ฒ๋ฅผ ํตํด ์ค์๊ฐ ์คํธ๋ฆฌ๋ฐ
- OpenCV ๊ธฐ๋ฐ ์ฐจ์ ์ธ์ ๋ฐ PID ์๊ณ ๋ฆฌ์ฆ์ ์ ์ฉํ ์กฐํฅ ์ ์ด๋ก ๋ผ์ธํธ๋ ์ด์ฑ ์์จ์ฃผํ ๊ตฌํ
- Radiolink AT9 ์กฐ์ข ๊ธฐ & R9DS ์์ ๊ธฐ์์ PWM ์ ํธ๋ฅผ ๋ฐ์, ์๋ ๋ชจ๋๋ก ์ ํ ์ RC ์ ๋ ฅ ์ฐ์ ์ ์ด ๊ฐ๋ฅํ๋๋ก ์ค๊ณ
- Arduino Nano๋ฅผ ์๋ธ ์ปจํธ๋กค๋ฌ๋ก ์ฌ์ฉํด Servo(์กฐํฅ) ๋ฐ ESC(๋ชจํฐ) ์ ์ด๋ฅผ ์์ ํ, Raspberry Pi์ ์๋ฆฌ์ผ ํต์ ์ผ๋ก ํตํฉ
- ๊ธฐ์ : Raspberry Pi 5, Picamera2, Arduino Nano, Python (Flask, OpenCV), PWM ์ ํธ ์ฒ๋ฆฌ
- ์ฑ๊ณผ:
- ์์จ์ฃผํ โ ์๋ ์ ํ ๋ชจ๋๋ฅผ ์ค์๊ฐ์ผ๋ก ์ค์์นญ ๊ฐ๋ฅ
- ๊ธด๊ธ์ฌ์ถ(Emergency Kill Switch) ๊ธฐ๋ฅ์ ๊ตฌํํด ์์ ์ฑ ํ๋ณด
- Flask ๊ธฐ๋ฐ ์น ์ธํฐํ์ด์ค์์ ์ฃผํ ์์์ ํ์ธํ๋ฉด์ ์ ์ด ๊ฐ๋ฅ โ ์๊ฒฉ ๊ด์ ํ๊ฒฝ ์์ฐ ์ฑ๊ณต
- ์ค์ ํ๋์จ์ด(์กฐ์ข ๊ธฐ/์์ ๊ธฐ + RC์นด ํ๋ซํผ)์ ์ํํธ์จ์ด( Flask ์๋ฒ)๋ฅผ ํตํฉํ๋ฉฐ ์๋ฒ ๋๋ ์์คํ ์ ์ฃผ๊ธฐ ๊ฒฝํ
- ์์:
- ๋จ์ ๋ผ์ธํธ๋ ์ด์ฑ์ ๋์ด, ์๋/์์จ ์ฃผํ ํตํฉ ๋ฐ ์์ ๊ธฐ๋ฅ(๊ธด๊ธ์ฌ์ถ) ๊น์ง ๊ตฌํ
- ํ๋ถ ์์ค์์ ์ค์ ์ฐจ๋ ์์คํ ์ HMI(์ฌ๋-๊ธฐ๊ณ ์ธํฐํ์ด์ค) ์ ์ ์ฌํ ๊ตฌ์กฐ๋ฅผ ์ํ RC์นด์ ์ ์ฉํ ์ฌ๋ก
-
๐ฆฝ ํธ๋ค ์๋ ฅ ํจํด ๊ธฐ๋ฐ ๋ฐ์์จ์ฃผํ ๋ณดํ๊ธฐ (2024.09 ~ 2025.05)
๐FSR ์๋ ฅ์ผ์ + ์์ด๋ก์ผ์ + ๋ชจํฐ ์ ์ด โ ๋ฐ์์จ์ฃผํ ๋ณดํ๊ธฐ / ์ฐ์์ ์์, ๋ ผ๋ฌธ 2ํธ ๋ฐํ
- ์ญํ : ์๋ฒ ๋๋ ๊ฐ๋ฐ์
- ๋ด์ฉ: ๋
ธ์ฝ์๋ฅผ ์ํ ๋ณดํ ๋ณด์กฐ๊ธฐ ์ ์
- ์บก์คํค: ํธ๋ค ์๋ ฅ ํจํด ๊ธฐ๋ฐ ๋ฐ์์จ์ฃผํ ๋ณดํ๊ธฐ
- ์ฐฝ์ ์ง์๋จ: ์ฌ์ฉ์ ๋ง์ถคํ ๋ณดํ ๋ณด์กฐ๊ธฐ ์ ์
- ๊ธฐ์ :
- ํ๋์จ์ด: FSR ๋งคํธ๋ฆญ์ค ์๋ ฅ์ผ์(ํธ๋ค ์๋ ฅ ๊ฐ์ง), ์์ด๋ก์ผ์(์ค๋ฅด๋งยท๋ด๋ฆฌ๋ง ํ๋ณ), DC ๋ชจํฐ + ๋๋ผ์ด๋ฒ
- ์ํํธ์จ์ด: ๋ชจํฐ ์ ์ด ์ฝ๋ ๊ตฌํ ๋ฐ ๊ฐ ๋ชจ๋ ํตํฉ(Combine), Raspberry Pi 5 โ Arduino ๊ฐ ์๋ฆฌ์ผ ํต์
- ์์คํ ํตํฉ: ์ผ์ ๋ฐ์ดํฐ โ ์ ์ด ์๊ณ ๋ฆฌ์ฆ ์ ์ฉ โ ๋ณดํ ๋ณด์กฐ๊ธฐ ๊ตฌ๋๊น์ง end-to-end ๊ตฌํ
- ์ฑ๊ณผ:
- ์บก์คํค ๋์์ธ ์์ฑ / ์ฐฝ์ ์ง์๋จ ๋์๋ฆฌ ์ฐ์์ ์์
- ๊ด๋ จ ์ฐ๊ตฌ ์ฑ๊ณผ๋ฅผ ํ์ ๋ ผ๋ฌธ 2ํธ์ผ๋ก ๋ฐํ
-
๐ถ ํ๊ธ ๋ฌธ์ ์ธ์ ์ธ๊ณต์ ๊ฒฝ๋ง (2024.10 ~ 2024.12)
๐115ํด๋์ค ํ๊ธ ๋ฐ์ดํฐ์ ์์ฑ + Forward/Backprop ์ง์ ๊ตฌํ โ AI pipeline ๊ฒฝํ
- ๋ด์ฉ:
- ํ๊ธ ๋ฌธ์ ์ธ์ ๋ฌธ์ ๋ฅผ ์ง์ ๋ค๋ฃจ๊ธฐ ์ํด 64ร64 ํ๋ฐฑ ๋นํธ๋งต ๊ธฐ๋ฐ ํ๊ธ ์ด๋ฏธ์ง ๋ฐ์ดํฐ์ ์ ์์ฒด ์ ์
- "์ถฉ, ์ฒญ, ๋จ, ๋" ๋ฑ ๋ค์ํ ํ๊ธ ๊ธ์๋ฅผ ๋์์ผ๋ก ํฐํธยทํฝ์ ์์น ๋ณํ์ ๊ฐ๋ฏธํ ๋ฐ์ดํฐ๋ฅผ ๊ฐ 100์ฅ์ฉ ์์ฑํ์ฌ ๋ฐ์ดํฐ ๋ค์์ฑ ํ๋ณด
- ํด๋์ค ์๋ฅผ ํ์ฅํ์ฌ ์ด 115๊ฐ ํด๋์ค(one-hot ์ธ์ฝ๋ฉ ๊ตฌ์กฐ) ๋ก ๋ผ๋ฒจ๋ง, ๋ค์ค ํด๋์ค ๋ถ๋ฅ๊ฐ ๊ฐ๋ฅํ ํํ๋ก ๊ตฌ์ฑ
- ์ ๊ฒฝ๋ง ๊ตฌ์กฐ๋ฅผ ์ง์ ์ค๊ณํ๊ณ , ์์ ํ(Forward Propagation) ์ ์ญ์ ํ(Backpropagation) ์๊ณ ๋ฆฌ์ฆ์ Python๊ณผ C ์ธ์ด๋ก ์ง์ ๊ตฌํ
- ํ์ต๋ฅ , ๋ฐฐ์น ํฌ๊ธฐ, ๋ฐ๋ณต ํ์ ๋ฑ ํ์ดํผํ๋ผ๋ฏธํฐ๋ฅผ ์ง์ ํ๋ํ๋ฉฐ ์ฑ๋ฅ ๋ณํ๋ฅผ ์คํ์ ์ผ๋ก ๋ถ์
- ๊ธฐ์ ์คํ: Python, C ์ธ์ด, Custom Neural Network Implementation, ๋ฐ์ดํฐ ์ ์ฒ๋ฆฌ & ์ฆ๊ฐ
- ์ฑ๊ณผ:
- ๋จ์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ฌ์ฉ์ด ์๋ ์ ์์ค ๊ตฌํ์ ํตํด ์ธ๊ณต์ ๊ฒฝ๋ง์ ์ํ์ /ํ๋ก๊ทธ๋๋ฐ์ ๋์ ์๋ฆฌ๋ฅผ ๊น์ด ์ดํด
- ํ๋ จ ์ ํ๋์ ํ ์คํธ ์ ํ๋๋ฅผ ๋น๊ตํ๋ฉฐ ์ค๋ฒํผํ /๋ฒ์ฉ์ฑ ๋ฌธ์ ๋ฅผ ์ฒด๊ฐ, ๋ฐ์ดํฐ ๋ค์์ฑ(ํฐํธ/์์น ๋ณํ)์ ํ์์ฑ์ ๊ฒ์ฆ
- ์ต์ข ์ ์ผ๋ก ๋จ์ ์ฝ๋ ์ค์ต์ ๋์ด, ๋ฐ์ดํฐ์ ๊ตฌ์ถ โ ๋ชจ๋ธ ํ์ต/ํ๊ฐ โ ํ๊ณ ๋ถ์๊น์ง ์ํํ์ฌ ์ธ๊ณต์ง๋ฅ ๋ชจ๋ธ ๊ฐ๋ฐ ์ฌ์ดํด(AI pipeline) ์ ์จ์ ํ ๊ฒฝํ
- ์์:
- โํ๊ธ ์ธ์โ์ด๋ผ๋ ์ค์ ๊ณผ์ ๋ฅผ ํตํด AI ์ด๋ก ์ ์ค์ต๊ณผ ์ฐ๊ฒฐ
- PyTorch/TensorFlow์ ๊ฐ์ ๊ณ ์์ค ํ๋ ์์ํฌ ์ด์ ๋จ๊ณ์์, ์ ๊ฒฝ๋ง์ ๋ด๋ถ ์๋์ ์ง์ ๊ตฌํํ๋ฉฐ ์๋ฆฌ๋ฅผ ์ฒด๋
- ๋ด์ฉ:
-
๐ก METLAB ์ฐ๊ตฌ ์ฒดํ ํ๋ก๊ทธ๋จ ๋ํ ์ต์ฐ์์ (2024.07 ~ 2024.09)
๐์ฐ๊ตฌ ํ์ฅ -> ESP32-CAM CSI + ์์ ๋ฐ์ดํฐ ์ตํฉ โ ์์จ์ฃผํ์๋์ฐจ ์ ์ฒํ ์ธ์ ์ ํ๋ ๊ฐ์ / ์ด์ฅ์ ์์
- ์ญํ : ์ฐ๊ตฌ ํ์ฅ
- ์ฃผ์ : ์ ์ฒํ ์ํฉ์์ ์์จ์ฃผํ ์ธ์ ์ ํ๋ ๊ฐ์
- ๋ด์ฉ:
- ์์จ์ฃผํ ์ฐจ๋์ด ์ ์ฒํ(๋น, ์๊ฐ, ๋ ๋ฑ) ์ํฉ์์ ์นด๋ฉ๋ผ ๊ธฐ๋ฐ ์ธ์ ์ ํ๋๊ฐ ๊ธ๊ฒฉํ ์ ํ๋๋ ๋ฌธ์ ์ ์ฃผ๋ชฉ
- ESP32-CAM์ ํ์ฉํด ์์ ๋ฐ์ดํฐ์ ๋์์ Wi-Fi CSI(Channel State Information) ์ ํธ๋ฅผ ์์งํ์ฌ, ์๊ฐยท๋ฌด์ ์ฑ๋ ํน์ฑ์ ๊ฒฐํฉํ ๋ฉํฐ๋ชจ๋ฌ ๋ฐ์ดํฐ์ ๊ตฌ์ถ
- ์์ง๋ ๋ฐ์ดํฐ๋ฅผ ์ ์ฒ๋ฆฌ(๊ฒฐ์ธก์น ์ ๊ฑฐ, Normalization, ํน์ง ์ ํ) ํ ๋๋คํฌ๋ ์คํธ(Random Forest) ๋ชจ๋ธ์ ์ ์ฉํ์ฌ, ์ ์ฒํ ํ๊ฒฝ์์์ ๊ฐ์ฒด ์ธ์ ์ฑ๋ฅ์ ๋น๊ตยทํ๊ฐ
- ๊ธฐ์ ์คํ: ESP-IDF, ESP-CSI ๋ผ์ด๋ธ๋ฌ๋ฆฌ, Python(pandas, scikit-learn), Random Forest ๋ชจ๋ธ, ๋ฐ์ดํฐ ์ ์ฒ๋ฆฌ/๋ถ์
- ์ฑ๊ณผ:
- ๋จ์ผ ์์ ๋ฐ์ดํฐ ๋๋น ๋ฉํฐ๋ชจ๋ฌ ๋ฐ์ดํฐ(์์ + CSI) ๊ธฐ๋ฐ ๋ชจ๋ธ์ด ์๊ฐยท์ฐ์ฒ ์ํฉ์์ ์ธ์ ์ ํ๋๊ฐ ์ ์๋ฏธํ๊ฒ ํฅ์๋จ์ ๊ฒ์ฆ
- ESP32-CAM + Wi-Fi CSI๋ฅผ ๊ฒฐํฉํ ์ ๋น์ฉยท์ ์ ๋ ฅํ ์ผ์ ์ตํฉ ๋ฐฉ์์ ๊ฐ๋ฅ์ฑ์ ํ์ธ
- ์ธ์ฒ๋ํ๊ต ์ ๋ณด๊ธฐ์ ๋ํ ์ฐ๊ตฌ ์ฒดํ ํ๋ ์ด์ฅ์ ์์
-
โ๏ธ STM32 ์ค์๊ฐ ์ ์ด ํ๋ก์ ํธ (2024.05 ~ 2024.06)
๐์ ์ธ์ ์ผ์ยท์๋ณด๋ชจํฐยท7-Segment๋ฅผ ๋ก์ฐ๋ ๋ฒจ ๋ ์ง์คํฐ๋ก ์ ์ด ํฌํจํ ์ค์๊ฐ ๋ฐ์ํ ์ ์ด ์์คํ
-
์ญํ : ์ผ์ ์ ๋ ฅ ์ฒ๋ฆฌ ๋ฐ ์๋ณด๋ชจํฐยท์ธ๊ทธ๋จผํธ ์ ์ด ๋ก์ง ๊ตฌํ ๋ด๋น
-
๋ด์ฉ:
- ์ ์ธ์ (IR) ์ผ์๋ฅผ ํ์ฉํด ๊ณต์ด ํต๊ณผํ๋ ์๊ฐ์ ๊ฐ์ง
- ๊ฐ์ง ์ ํธ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ์๋ณด๋ชจํฐ๊ฐ ๋์ํด ๊ณต์ ๋จ์ด๋จ๋ฆฌ๋ ๋์ ๊ตฌํ
- ๊ณต์ด ๋จ์ด์ง ๋๋ง๋ค 7-Segment ๋์คํ๋ ์ด๋ฅผ ํตํด ์นด์ดํธ๋ฅผ ์ค์๊ฐ ํ์
- ๋จ์ํ HAL ๋ผ์ด๋ธ๋ฌ๋ฆฌ ํธ์ถ์ด ์๋๋ผ, ๋ ์ง์คํฐ ๋จ์ ์ค์ (ADC, GPIO, Timer, PWM) ์ ํตํด Low-Level ์ ์ด๋ฅผ ์ง์ ๊ตฌํ
- ์ํฌ๋ฆด ๊ตฌ์กฐ๋ฌผ์ ํ์ฉํด ๊ฒฝ์ฌ๋ก ์ ์ ๋ฐ ๊ธฐ์ธ๊ธฐ ์กฐ์ ๊ธฐ๋ฅ ์ถ๊ฐ โ ๋ค์ํ ์คํ ํ๊ฒฝ ๊ตฌ์ถ
-
๊ธฐ์ :
- STM32 ๋ง์ดํฌ๋ก์ปจํธ๋กค๋ฌ (C, CMSIS ๊ธฐ๋ฐ)
- ADC (Analog to Digital Converter) ๋ ์ง์คํฐ ์ง์ ์ ์ด โ IR ์ผ์ ์ ๋ ฅ๊ฐ ์ค์๊ฐ ์ฒ๋ฆฌ
- Timer & PWM ๋ ์ง์คํฐ ํ์ฉ โ ์๋ณด๋ชจํฐ ๊ฐ๋ ์ ์ด (ํ๋์จ์ด ํ์ด๋ฐ ์ ํ๋ ํ๋ณด)
- GPIO Low-Level ์ ์ด โ 7-Segment ์ง์ ๊ตฌ๋
- ์ค์๊ฐ์ฑ ๋ณด์ฅ: ์ธํฐ๋ฝํธ ๊ธฐ๋ฐ ์ด๋ฒคํธ ์ฒ๋ฆฌ, busy-wait ์ง์ โ ์ฆ๊ฐ ๋ฐ์ ๊ตฌํ
- ๋ฐ์ดํฐ์ํธ ๊ธฐ๋ฐ ์ค๊ณ: HAL ์ถ์ํ๊ฐ ์๋ ๋ ์ง์คํฐ ์ฃผ์๋ฅผ ์ง์ ๋งคํํ์ฌ ์์คํ ์ ๋์ ์๋ฆฌ๋ถํฐ ํผํผํ๊ฒ ๊ตฌ์ถ
- ์ํฌ๋ฆด ๊ธฐ๋ฐ ์คํ ํ๋์จ์ด ์ ์
-
์ฑ๊ณผ:
- STM32 ํ๋์จ์ด ๊ตฌ์กฐ์ ๋ฐ์ดํฐ์ํธ๋ฅผ ๊น์ด ์ดํดํ๊ณ , Low-Level ์ ์ด ๋ฅ๋ ฅ ํ๋ณด
- ์ฌ๋ฌ ์ผ์๋ฅผ ๋์์ ๋ค๋ฃจ๋ฉฐ ์๋ฒ ๋๋ ์ค์๊ฐ ์ ์ด ์์คํ ๊ตฌํ ๊ฒฝํ ์ถ์
- ๋จ์ ๊ตฌํ ์์ค์ ๋์ด ํ๋์จ์ด ์ต์ ํ ๋ฐ ์ ๋ขฐ์ฑ ๋์ ๋์์ ๋ฌ์ฑ
-
-
๐ฎ ๊ฐ์ฒด์งํฅ SW ํ๋ก์ ํธ (2023.10 ~ 2023.12)
๐C++ ๊ธฐ๋ฐ์ผ๋ก ๋ฒฝ์น๊ธฐ ๊ฒ์๊ณผ A* Pathfinding ์๊ฐํ๋ฅผ ๊ตฌํ, ์ค์๊ฐ ์ด๋ฒคํธ ์ฒ๋ฆฌ ๋ฐ ์๊ณ ๋ฆฌ์ฆ
- ์ญํ : ๊ฒ์ ๋ก์ง ๋ฐ ๊ธฐ๋ฅ ๊ตฌํ ๋ด๋น
- ๋ด์ฉ:
Paddle,Ball,Bomb,Heart๋ฑ์ ํด๋์ค๋ฅผ ์ง์ ์ค๊ณํ์ฌ ์์, ์ค๋ฒ๋ผ์ด๋ฉ, ์ค๋ฒ๋ก๋ฉ ๊ฐ๋ ์ ์ ์ฉ- ๊ณต ํ๊น, Paddle ์ถฉ๋, ํญํ ์์ดํ , ๋ชฉ์จ ๊ฐ์ ๋ฑ ๋ค์ํ ๊ฒ์ ์ด๋ฒคํธ ๊ตฌํ
- ๊ธฐ์ :
- C++ (๊ฐ์ฒด์งํฅ ํ๋ก๊ทธ๋๋ฐ: ์์/์ค๋ฒ๋ผ์ด๋ฉ/์ค๋ฒ๋ก๋ฉ)
- SFML Graphics (๊ณต, Paddle, ํญํ, ๋ฐฐ๊ฒฝ ์๊ฐํ)
- SFML Audio (์ถฉ๋, ์์ดํ ํ๋, ๊ฒ์์ค๋ฒ ํจ๊ณผ์)
- ์ฑ๊ณผ:
- ๊ฐ์ฒด์งํฅ ๊ฐ๋ ์ ์ค์ ๊ฒ์ ์ ์์ ์ ์ฉ
- ์ค์๊ฐ ๋ฐ์ํ ๋์์ผ๋ก ์์ฑ๋ ์๋ ๋ฏธ๋๊ฒ์ ์ ์
- ์ญํ : ์๊ณ ๋ฆฌ์ฆ ๋ฐ ์๊ฐํ ๊ตฌํ ๋ด๋น
- ๋ด์ฉ:
- ๋ง์ฐ์ค ์ขํด๋ฆญ์ผ๋ก ๋ชฉ์ ์ง ์ง์ โ ์ฅ์ ๋ฌผ์ ํผํด ์ต๋จ ๊ฒฝ๋ก ํ์
- ์์ง์ด๋ ๋ฒฝ์ด ์์ ๊ฒฝ์ฐ์๋ ์ค์๊ฐ ๊ฒฝ๋ก ์ฌ๊ณ์ฐ
- ๊ฒฝ๋ก ํ์ ๊ณผ์ (Visited, Path)์ ํ๋์ยท๋ ธ๋์ ์ ๋ก ์๊ฐํ
- ๊ธฐ์ :
- C++ (ํด๋์ค ๊ธฐ๋ฐ ์๊ณ ๋ฆฌ์ฆ ๊ตฌํ)
- A* ์๊ณ ๋ฆฌ์ฆ (ํด๋ฆฌ์คํฑ ๊ธฐ๋ฐ ์ต๋จ ๊ฒฝ๋ก ํ์)
- SFML Graphics (๋งต, ์ฅ์ ๋ฌผ, ํ์ ๊ณผ์ , ๊ฒฝ๋ก ์๊ฐํ)
- ์ฑ๊ณผ:
- A* ์๊ณ ๋ฆฌ์ฆ๊ณผ ์ค์๊ฐ ์๊ฐํ๋ฅผ ๊ฒฐํฉํ์ฌ ํ์ ๊ณผ์ ์ ๋์ผ๋ก ํ์ธ ๊ฐ๋ฅ
- ํญ๊ท ์บ๋ฆญํฐ๊ฐ ์ฅ์ ๋ฌผ์ ํผํ๋ฉฐ ๋ชฉ์ ์ง๊น์ง ์ด๋ํ๋ ์ ๋๋ฉ์ด์ ๊ตฌํ
-
๐ ์ค๋งํธ ๋ ์๋ โ INU Maker ๊ฒฝ์ง๋ (Maker Fair, 2022.09~11)
๐์จ์ต๋ยท๊ฑฐ๋ฆฌ์ผ์ + LCD + ์กฐ๋ช ์ ์ด โ ํ์ต ํจ์จ ํฅ์ IoT ๋ ์๋
- ์ญํ : ํ ๊ฐ๋ฐ์ (์๋ฒ ๋๋ ์ํํธ์จ์ด ๊ตฌํ)
- ๋ด์ฉ: ๋
์ ํ๊ฒฝ์ ๊ฐ์ ํ๊ธฐ ์ํด ์ผ์ ๋ฐ ์ ์ด ๊ธฐ๋ฅ์ ํตํฉํ ์ค๋งํธ ๋
์๋ ์ ์
- ์จ์ต๋ ์ผ์(DHT11): ๋ ์ ํ๊ฒฝ์ ์จ์ต๋ ์ธก์ โ ์ ์ ๋ฒ์ ๋ฒ์ด๋๋ฉด LED ์๋ฆผ
- RTC ๋ชจ๋(DS1302): ๋ ์ง/์๊ฐ ํ์ ๋ฐ ํ์ต ํ์ด๋จธ ๊ธฐ๋ฅ ์ ๊ณต
- ๊ฑฐ๋ฆฌ ์ผ์: ์ฌ์ฉ์์ ์ฑ ๊ณผ์ ๊ฑฐ๋ฆฌ ๊ฐ์ง โ ๋๊ณผ ์ฑ ์ฌ์ด ๊ฐ๊ฒฉ ์ ์ง ์ ๋
- LCD ๋์คํ๋ ์ด: ์๊ฐยท๋ ์งยทํ์ด๋จธ ์ํยท์ต๋ ์ ๋ณด๋ฅผ ์ง๊ด์ ์ผ๋ก ํ์
- ์กฐ๋ช ์ ์ด(์คํ ๋ LED): ๋ฒํผ ์ ๋ ฅ์ผ๋ก ๋ฐ๊ธฐ 3๋จ๊ณ ์กฐ์ ๊ฐ๋ฅ (PWM ํ์ฉ)
- ๋ชจ๋ ์ ํ ๊ธฐ๋ฅ: ๋ฒํผ์ ํตํด ํ์ด๋จธ ๋ชจ๋ โ ๋ ์ง ๋ชจ๋ ์ ํ
- ๊ธฐ์ : Arduino, C/C++, ์ผ์ ์ ์ด ๋ผ์ด๋ธ๋ฌ๋ฆฌ(DHT, Wire, DS1302, LCD I2C), PWM ์ ์ด, ๋์งํธ ์ ์ถ๋ ฅ
- ์ฑ๊ณผ:
- ๋จ์ ์กฐ๋ช ๊ธฐ๊ธฐ๋ฅผ ๋์ด ์ฌ์ฉ์ ํ์ต ํจ์จ ๋ฐ ๊ฑด๊ฐ์ ๊ณ ๋ คํ IoTํ ๋ ์๋ ๊ตฌํ
- ๊ต๋ด Maker ๊ฒฝ์ง๋ํ ์ถํ, ์๋ฒ ๋๋ ์์คํ ์ค๊ณ ๋ฐ ํตํฉ ์ ์ด ๊ฒฝํ ํ๋ณด
-
๐ INU ์ ๋ณด๊ธฐ์ ๋ ์ ์ฉ SNS โ ESC ์๋ชจ์ (ESC Club, 2024.09~2025.01)
๐ํ๋ก ํธ์๋ ํ์ฅ โ UI/UX ์ค๊ณ, React ๊ตฌํ, JWT ์ธ์ฆ, API ํต์ / ๊ณต๋ชจ์ ์ถ์
- ์ญํ : ํ๋ก ํธ์๋ ํ์ฅ
- ๋ด์ฉ: ์ธ์ฒ๋ ์ ๋ณด๊ธฐ์ ๋ํ ์ฌํ์/์กธ์
์์ ์ํ ์ ์ฉ SNS/์ฑ ๊ฐ๋ฐ
- UI/UX ์ค๊ณ: ์ฑ ์ ์ฒด ํ๋ฉด ํ๋ฆ ๋ฐ ์ฌ์ฉ์ ๊ฒฝํ ์ค๊ณ (๋ก๊ทธ์ธ, ํ์๊ฐ์ , ๊ฒ์ํ, ๋๊ธ, ์๋ฆผ ๋ฑ)
- ํ๋ก ํธ์๋ ๊ตฌํ: React ๊ธฐ๋ฐ ํ์ด์ง ์ ์, ๋ฐ์ํ ๋์์ธ ์ ์ฉ
- ์ธ์ฆ ๋ฐ ๋ณด์: JWT ํ ํฐ ๋ฐ๊ธ ๋ฐ ๊ฒ์ฆ ํ๋ฆ์ ํ๋ก ํธ์๋ ๋จ์์ ๊ตฌํ โ ๋ก๊ทธ์ธ/ํ์๊ฐ์ /์ด๋ฉ์ผ ์ธ์ฆ ์ฒ๋ฆฌ
- ๋ฐ์ดํฐ ํต์ : Axios๋ฅผ ํตํ API ์ฐ๋, GET/POST ์์ฒญ ์ฒ๋ฆฌ, ์ฌ์ฉ์ ์ ๋ณด์ ๊ฒ์๊ธ CRUD ๊ธฐ๋ฅ ๊ตฌํ
- ํ ๋ฆฌ๋ฉ: ํ๋ก ํธ์๋ ๊ฐ๋ฐ ํํธ ๋ฆฌ๋ฉ, ์ฝ๋ ๋ฆฌ๋ทฐ ๋ฐ ํ์ ๊ด๋ฆฌ
- ๊ธฐ์ : React, CSS ๋ชจ๋, Axios, JWT ์ธ์ฆ, GitHub ํ์
- ์ฑ๊ณผ:
- ์ ๋ณด๊ธฐ์ ๋ ์ํํธ์จ์ด ๊ณต๋ชจ์ ์ถ์
- ์ค์ ์ฌ์ฉ์ ์ค์ฌ์ UI/UX ์ค๊ณ๋ถํฐ ๊ตฌํ, ๋ณด์(์ธ์ฆ) ์ฒ๋ฆฌ, ๋ฐ์ดํฐ ์ฐ๋๊น์ง ํ๋ก ํธ์๋ ์ ๋ฐ์ ๊ฒฝํ
-
๐ RUN ๊ธฐ๋ก ๊ด๋ฆฌ Web (2024.11~2024.12)
๐Flask + SQLite ๊ธฐ๋ฐ ๋ฌ๋ ๊ธฐ๋ก ์ ์ฅ/์กฐํ โ ์ธ๋ถ API ์ฐ๋ ํ์ฅ
- ์ญํ : ๊ฐ๋ฐ์
- ๋ด์ฉ: ๋ฌ๋ ๊ธฐ๋ก์ ์ ์ฅํ๊ณ ๋ถ๋ฌ์ ํ์ธํ ์ ์๋ ๋ฐ์ดํฐ ์ค์ฌ ์น์ฑ ๊ฐ๋ฐ
- DB ํ์ฉ ์ค์ฌ: SQLite์ ์ ์ฅ๋ ๊ธฐ๋ก ๋ฐ์ดํฐ๋ฅผ Flask๋ฅผ ํตํด ๋ถ๋ฌ์ ์น ํ๋ฉด์ ์ถ๋ ฅ
- ๊ธฐ๋ฅ:
- ๊ฐ์ธ ๊ธฐ๋ก ์ ๋ ฅ โ SQLite DB์ ์ ์ฅ
- ๊ธฐ๋ก ์กฐํ โ ์ ์ฅ๋ ๋ฐ์ดํฐ๋ฅผ ๋ถ๋ฌ์ ํ ์ด๋ธ ํ์์ผ๋ก ํ์
- API ์ฐ๋: ์ธ๋ถ API๋ฅผ ํตํด ๋ค๋ฅธ ์ฌ์ฉ์๋ค์ ๋ฌ๋ ๊ธฐ๋ก๊น์ง ๋ถ๋ฌ์ ํจ๊ป ์กฐํ ๊ฐ๋ฅ
- ๊ตฌํ ํ๋ฆ: DB ์ฐ๋ + API ํ์ฉ์ ํตํด ๋จ์ ๋ก์ปฌ ๊ธฐ๋ก ๊ด๋ฆฌ์์ ํ์ฅ๋ ๋ฐ์ดํฐ ๊ด๋ฆฌ ๊ตฌ์กฐ ์ค๊ณ
- ๊ธฐ์ : Flask, SQLite, HTML/CSS (๊ธฐ๋ณธ ํ๋ก ํธ์๋ ๊ตฌ์ฑ), API ์ฐ๋
- ์ฑ๊ณผ:
- ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ธ๋ถ API๋ฅผ ๋์์ ํ์ฉํ ์น์ฑ ๊ตฌ์กฐ ๊ฒฝํ
- ํ๋ก ํธ์๋ + DB ์ฐ๋ + ์ธ๋ถ API ์๋ต ์ฒ๋ฆฌ๊น์ง ํฌํจํด ์ค์ตํ ํ์คํ ๊ฐ๋ฐ ๊ณผ์ ์ฒดํ
-
๐ ๋น์นธ๋ง๋จ web (2023.10~2023.12)
Details
๐์ผ์ ์กฐ์จ ์๊ณ ๋ฆฌ์ฆ ๊ฐ๋ฐ โ ๋ชจ์์๊ฐ Top3 ์๋ ์ถ์ฒ / ํ์ฅ์ ์์(์ฐ์์) + ์ฝ์์ค ํฌ์คํฐ ๋ฐํ
- ์ญํ : ์ผ์ ์กฐ์ ์๊ณ ๋ฆฌ์ฆ ๊ฐ๋ฐ
- ๋ด์ฉ: ๋ค์ ์ธ์์ ์๊ฐํ ๋ฐ์ดํฐ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ์๋์ผ๋ก ๋ชจ์ ์๊ฐ์ ์ฐพ์์ฃผ๋ ์น ์๋น์ค
- ์ฌ์ฉ์ ์๊ฐํ๋ฅผ ๋น๊ตํด ๊ณตํต ๊ฐ๋ฅํ ์๊ฐ๋๋ฅผ ์๋ ํ์
- ์ธ์์ยท์กฐ๊ฑด(ํ์ผ/์ฃผ๋ง, ์ต์ ์๊ฐ ๋ฑ)์ ๋ฐ๋ผ ์ต์ ๋ชจ์ ์๊ฐ Top3๋ฅผ ๋ญํน์ผ๋ก ์ถ์ฒ
- ์๊ณ ๋ฆฌ์ฆ์ ๋จ์ ํฉ์งํฉ/๊ต์งํฉ ๊ณ์ฐ์ด ์๋๋ผ, ์ฐธ์ฌ์จ์ ๊ณ ๋ คํ ๊ฐ์ค์น ๊ธฐ๋ฐ ์ต์ ํ ๋ฐฉ์์ผ๋ก ์ค๊ณ
- ์ฑ๊ณผ:
- ํ๋ก์ ํธ์ ํต์ฌ ๋ก์ง(์๊ฐ ์กฐ์จ)์ ๊ตฌํํ์ฌ ํ์ด ์์ฑ๋ ๋์ ๊ฒฐ๊ณผ๋ฌผ์ ๋ฐํํ ์ ์์์
- ์ธ์ฒ๋ํ๊ต ์ ๋ณด๊ธฐ์ ๋ํ ๊ณต๋ชจ์ ํ์ฅ์ ์์
- ์์ธ ์ฝ์์ค์์ ํฌ์คํฐ ๋ฐํ ์งํ, ์ฐ๊ตฌ ์ฑ๊ณผ๋ฅผ ๋์ธ์ ์ผ๋ก ๊ณต์
