콘텐츠로 이동

Chapter 8: 미니 프로젝트 - 설계와 시작

🎯 이 장에서 배우는 것

  • [ ] 프로젝트 주제를 선정하고 기획서를 작성할 수 있다
  • [ ] 필요한 부품과 회로를 설계할 수 있다
  • [ ] 핵심 기능의 프로토타입을 구현할 수 있다
  • [ ] 기획과 실제 구현 사이의 간극을 이해할 수 있다

💡 왜 이걸 배우나요?

여태까지 배운 건 뭐였지? LED 켜고, 버튼 누르고, 센서 읽고, 부저 울리고... 전부 따로따로였어. 마치 레고 블록을 하나씩 만져본 것처럼.

이제 진짜 작품을 만들 시간이야! 🎨

실제 메이커들은 어떻게 일할까? 1. 아이디어를 떠올리고 2. 기획서로 정리하고 3. 프로토타입을 빠르게 만들어 테스트하고 4. 문제를 발견하면 수정하고 5. 완성까지 반복

이번 장에서는 1~3단계를 경험해볼 거야. 너의 첫 "진짜 작품"이 탄생하는 순간이지!

"아이디어는 누구나 있지만, 실행하는 사람이 메이커다" 🔧


📚 핵심 개념

개념 1: 프로젝트 기획서

  1. 비유로 시작: 프로젝트 기획서는 마치 여행 계획표와 같아요. 어디 가는지, 뭘 가져가는지, 어떤 순서로 다니는지 미리 정해두면 여행이 훨씬 수월하잖아?

  2. 정확한 정의: 프로젝트 기획서는 무엇을 만들지, 왜 만드는지, 어떻게 만들지를 문서화한 것이에요. 개발 과정의 나침반 역할을 해요.

  3. 예시로 확인: 예를 들어, "스마트 무드등" 기획서에는 "조도 센서로 어두워지면 자동으로 켜지고, 버튼으로 색상을 바꿀 수 있다"처럼 구체적으로 적어요.

쉽게 말하면: 만들기 전에 "뭘 만들 건지" 정리한 종이야!


개념 2: 프로토타입 (Prototype)

  1. 비유로 시작: 프로토타입은 마치 레고 시제품과 같아요. 진짜 건물 짓기 전에 레고로 먼저 만들어보는 거지.

  2. 정확한 정의: 프로토타입은 핵심 기능만 빠르게 구현한 초기 버전이에요. 완벽할 필요 없고, "이게 되네!"를 확인하는 게 목표야.

  3. 예시로 확인: 예를 들어, 스마트 무드등 프로토타입은 "조도 센서 값 읽기 + LED 켜기"만 되면 성공! 색상 변경, 저장 기능 같은 건 나중에 추가해.

쉽게 말하면: "일단 핵심부터 돌아가게 만들자!"


개념 3: 시스템 분해 (Decomposition)

  1. 비유로 시작: 시스템 분해는 마치 요리 레시피를 단계로 나누는 것과 같아요. "비빔밥 만들기"를 한꺼번에 하려면 막막하지만, "밥 짓기 → 나물 볶기 → 계란 프라이 → 비비기"로 나누면 할 수 있잖아?

  2. 정확한 정의: 시스템 분해는 복잡한 문제를 작고 관리 가능한 조각으로 나누는 방법이에요. 컴퓨터 과학에서 핵심적인 문제 해결 전략이지.

  3. 예시로 확인:

    스마트 무드등
    ├── 입력 파트
    │   ├── 조도 센서로 밝기 읽기
    │   └── 버튼으로 모드 선택
    ├── 처리 파트
    │   └── 밝기에 따라 LED 색상 결정
    └── 출력 파트
        └── RGB LED로 색상 표현
    

쉽게 말하면: 큰 걸 작은 조각으로 쪼개면 만들 수 있어!

flowchart TB A[🎯 큰 목표] --> B[📦 파트 1] A --> C[📦 파트 2] A --> D[📦 파트 3] B --> E[🔧 기능 1-1] B --> F[🔧 기능 1-2] C --> G[🔧 기능 2-1] D --> H[🔧 기능 3-1] D --> I[🔧 기능 3-2] style A fill:#e1bee7,stroke:#8e24aa,stroke-width:2px style B fill:#bbdefb,stroke:#1976d2 style C fill:#bbdefb,stroke:#1976d2 style D fill:#bbdefb,stroke:#1976d2 style E fill:#c8e6c9,stroke:#388e3c style F fill:#c8e6c9,stroke:#388e3c style G fill:#c8e6c9,stroke:#388e3c style H fill:#c8e6c9,stroke:#388e3c style I fill:#c8e6c9,stroke:#388e3c

🎨 프로젝트 옵션 소개

세 가지 프로젝트 중 하나를 골라봐! (또는 자유 주제도 OK 👍)

옵션 A: 스마트 무드등 💡

컨셉: 주변 밝기에 따라 자동으로 켜지고, 버튼으로 색상 모드를 바꾸는 조명

항목 내용
난이도 ⭐⭐ (보통)
필요 부품 조도 센서, RGB LED, 버튼
핵심 기능 자동 점등, 색상 변경
확장 가능 밝기 조절, 타이머, 패턴
flowchart LR A[🌗 조도 센서] --> C{⚙️ 밝기 판단} B[🔘 버튼] --> D{⚙️ 모드 선택} C --> E[💡 RGB LED] D --> E style A fill:#fff3e0,stroke:#f57c00 style B fill:#e3f2fd,stroke:#1976d2 style C fill:#fce4ec,stroke:#c2185b style D fill:#fce4ec,stroke:#c2185b style E fill:#e8f5e9,stroke:#388e3c

옵션 B: 반응형 알람 ⏰

컨셉: 온도가 특정 값을 넘으면 경고음과 LED로 알려주는 시스템

항목 내용
난이도 ⭐⭐ (보통)
필요 부품 온습도 센서(DHT11), 부저, LED
핵심 기능 온도 감지, 경고 출력
확장 가능 습도 알림, 다단계 경고, OLED 표시
flowchart LR A[🌡️ DHT11] --> B{⚙️ 온도 체크} B -->|30도 이상| C[🔔 부저] B -->|30도 이상| D[🔴 LED] B -->|정상| E[🟢 LED] style A fill:#e3f2fd,stroke:#1976d2 style B fill:#fff3e0,stroke:#f57c00 style C fill:#ffebee,stroke:#c62828 style D fill:#ffebee,stroke:#c62828 style E fill:#e8f5e9,stroke:#388e3c

옵션 C: 자유 주제 🚀

컨셉: 네가 직접 상상하는 작품!

항목 내용
난이도 ⭐⭐⭐ (도전)
필요 부품 키트 내 자유 조합
핵심 기능 네가 정해!
조건 입력 1개 + 출력 1개 이상 필수

자유 주제 아이디어 예시: - 🎮 반응 속도 테스트 게임 (LED 켜지면 버튼 누르기) - 🚗 거리 경보 시스템 (초음파 센서 + 부저) - 🎵 터치 피아노 (버튼 여러 개 + 부저) - 🌡️ 환경 모니터링 (온습도 + 조도 + LED 표시)


🔨 따라하기

Step 1: 주제 선정하기

목표: 만들고 싶은 프로젝트 하나를 확실히 정하기

질문에 답해봐: 1. 세 옵션 중 뭐가 제일 끌려? 2. 왜 그 프로젝트가 재밌을 것 같아? 3. 이 프로젝트가 완성되면 누가 쓸 수 있을까?

여기서 잠깐! 🤔

프로젝트 선택 팁: - "쉬운 것"보다 "하고 싶은 것"을 골라 - 어려워도 흥미 있으면 끝까지 해 - 모르겠으면 스마트 무드등을 추천해! (가장 시각적으로 만족감 높음)


Step 2: 기획서 작성하기

목표: 기획서 템플릿을 채워서 내 프로젝트 정리하기

아래 템플릿을 복사해서 너만의 기획서를 작성해봐!

# 🎯 프로젝트 기획서

## 1. 기본 정보
- **프로젝트 이름**: 
- **만드는 사람**: 
- **선택 옵션**: A / B / C (자유)

## 2. 프로젝트 설명
### 한 줄 소개
(예: "어두워지면 자동으로 켜지는 무드등")

### 만드는 이유
(왜 이걸 만들고 싶은지 솔직하게!)

### 누가 사용하나요?
(예: 나, 동생, 부모님, 친구...)

## 3. 기능 목록
### 핵심 기능 (반드시 구현)
- [ ] 기능 1: 
- [ ] 기능 2: 

### 추가 기능 (시간되면)
- [ ] 기능 3: 
- [ ] 기능 4: 

## 4. 필요한 부품
| 부품 | 용도 | 연결 포트 |
|------|------|----------|
|      |      |          |
|      |      |          |
|      |      |          |

## 5. 회로 연결도
(어떤 부품이 어디에 연결되는지 그림이나 설명)

## 6. 프로토타입 목표
오늘 수업 끝날 때까지:
- [ ] 

Step 3: 부품과 회로 설계하기

목표: 필요한 부품을 정리하고 연결 방법 파악하기

📦 부품 연결 참고표

부품 연결 포트 라이브러리/코드
조도 센서 A0 ADC(26)
DHT11 D16 dht.DHT11(Pin(16))
버튼 D20 Pin(20, Pin.IN, Pin.PULL_DOWN)
LED (단색) D18 Pin(18, Pin.OUT)
RGB LED D18 Pin(18, Pin.OUT) + PWM
부저 D20 PWM(Pin(20))
서보모터 D16 PWM(Pin(16))

🔌 프로젝트별 회로 연결도

옵션 A: 스마트 무드등

┌─────────────────────────────────────────────┐
│                Pico 2W                      │
│                                             │
│  A0  ◄──── 조도 센서 (Grove 케이블)         │
│  D18 ────► RGB LED (Grove 케이블)           │
│  D20 ◄──── 버튼 (Grove 케이블)              │
│                                             │
└─────────────────────────────────────────────┘

옵션 B: 반응형 알람

┌─────────────────────────────────────────────┐
│                Pico 2W                      │
│                                             │
│  D16 ◄──── DHT11 온습도 센서                │
│  D18 ────► LED (경고등)                     │
│  D20 ────► 부저 (경고음)                    │
│                                             │
└─────────────────────────────────────────────┘

여기서 잠깐! 🤔

연결할 때 주의점: - Grove 케이블 색깔 확인 (빨강=VCC, 검정=GND, 노랑=신호) - 포트 번호 잘 확인하기 (D16, D18, D20...) - 연결 후 흔들려서 빠지지 않게 잘 꽂기


Step 4: 프로토타입 개발하기

목표: 핵심 기능이 작동하는 최소한의 코드 만들기

이제 진짜 코딩 시간이야! 🎉

각 프로젝트별로 프로토타입 코드를 제공할게. 이걸 기반으로 시작해봐!


🔵 옵션 A: 스마트 무드등 프로토타입

코드:

# === WHAT: 스마트 무드등 프로토타입 ===
# 조도 센서로 밝기를 읽고, 어두우면 LED를 켜는 기본 동작

# --- WHY: 핵심 기능 확인 ---
# 일단 "어두우면 켜진다"가 되는지 확인하자!

# HOW: 어떻게 동작하는지
from machine import Pin, ADC  # 핀, 아날로그 변환
import time

# === 부품 연결 설정 ===
light_sensor = ADC(26)  # 조도 센서 (A0 = GP26)
led = Pin(18, Pin.OUT)  # LED (D18)
button = Pin(20, Pin.IN, Pin.PULL_DOWN)  # 버튼 (D20)

# === 설정값 ===
DARK_THRESHOLD = 20000  # 이 값보다 낮으면 "어둡다"고 판단
# (조도 센서 값은 0~65535, 어두울수록 낮음)

# === 메인 루프 ===
print("스마트 무드등 시작!")
print("조도 센서 값을 모니터링합니다...")

while True:
    # 1. 조도 센서 값 읽기
    brightness = light_sensor.read_u16()

    # 2. 밝기 판단 & LED 제어
    if brightness < DARK_THRESHOLD:
        led.on()
        status = "어두움 → LED 켜짐"
    else:
        led.off()
        status = "밝음 → LED 꺼짐"

    # 3. 현재 상태 출력
    print(f"밝기: {brightness}, 상태: {status}")

    # 4. 0.5초 대기
    time.sleep(0.5)

실행 결과:

스마트 무드등 시작!
조도 센서 값을 모니터링합니다...
밝기: 45230, 상태: 밝음 → LED 꺼짐
밝기: 44980, 상태: 밝음 → LED 꺼짐
밝기: 12300, 상태: 어두움 → LED 켜짐
밝기: 11800, 상태: 어두움 → LED 켜짐

테스트 방법: 1. 코드 실행 2. 조도 센서를 손으로 가려봐 → LED가 켜져야 해! 3. 손을 떼면 → LED가 꺼져야 해!


🔴 옵션 B: 반응형 알람 프로토타입

코드:

# === WHAT: 반응형 알람 프로토타입 ===
# 온도가 설정값을 넘으면 LED와 부저로 경고

# --- WHY: 핵심 기능 확인 ---
# 일단 "온도 높으면 경고"가 되는지 확인하자!

# HOW: 어떻게 동작하는지
from machine import Pin, PWM
import dht
import time

# === 부품 연결 설정 ===
sensor = dht.DHT11(Pin(16))  # DHT11 온습도 센서 (D16)
led = Pin(18, Pin.OUT)       # LED (D18)
buzzer = PWM(Pin(20))        # 부저 (D20)

# === 설정값 ===
TEMP_THRESHOLD = 30  # 이 온도 이상이면 경고 (테스트용으로 낮게 설정 가능)

# === 경고 함수 ===
def alarm_on():
    """경고 켜기"""
    led.on()
    buzzer.freq(1000)  # 1000Hz 소리
    buzzer.duty_u16(32768)  # 50% 볼륨

def alarm_off():
    """경고 끄기"""
    led.off()
    buzzer.duty_u16(0)  # 소리 끄기

# === 메인 루프 ===
print("반응형 알람 시작!")
print(f"경고 온도: {TEMP_THRESHOLD}도 이상")

while True:
    try:
        # 1. 온습도 측정
        sensor.measure()
        temp = sensor.temperature()
        humidity = sensor.humidity()

        # 2. 온도 판단 & 경고
        if temp >= TEMP_THRESHOLD:
            alarm_on()
            status = "⚠️ 경고!"
        else:
            alarm_off()
            status = "✅ 정상"

        # 3. 현재 상태 출력
        print(f"온도: {temp}°C, 습도: {humidity}%, 상태: {status}")

    except Exception as e:
        print(f"센서 읽기 오류: {e}")

    # 4. 2초 대기 (DHT11은 2초 간격 필요)
    time.sleep(2)

실행 결과:

반응형 알람 시작!
경고 온도: 30도 이상
온도: 25°C, 습도: 60%, 상태: ✅ 정상
온도: 26°C, 습도: 58%, 상태: ✅ 정상
온도: 31°C, 습도: 55%, 상태: ⚠️ 경고!

테스트 방법: 1. 코드 실행 2. 센서에 손을 대거나 입김을 불어봐 (온도 올리기) 3. 경고음과 LED가 켜지면 성공! 4. 테스트 쉽게 하려면 TEMP_THRESHOLD = 25로 낮춰봐


🟣 옵션 C: 자유 주제용 기본 템플릿

코드:

# === WHAT: 자유 프로젝트 템플릿 ===
# 입력 읽기 → 처리 → 출력의 기본 구조

# --- WHY: 모든 프로젝트의 기본 패턴 ---
# 이 구조를 수정해서 네 프로젝트를 만들어봐!

# HOW: 어떻게 동작하는지
from machine import Pin, ADC, PWM
import time

# === 부품 연결 설정 ===
# TODO: 네 프로젝트에 맞게 수정해!
# 입력 예시:
# button = Pin(20, Pin.IN, Pin.PULL_DOWN)
# sensor = ADC(26)

# 출력 예시:
# led = Pin(18, Pin.OUT)
# buzzer = PWM(Pin(20))

# === 설정값 ===
# TODO: 네 프로젝트에 필요한 설정값 추가

# === 함수 정의 ===
def read_input():
    """입력 읽기"""
    # TODO: 센서/버튼 값 읽기
    pass

def process_data(input_value):
    """데이터 처리"""
    # TODO: 입력값을 바탕으로 판단
    pass

def set_output(result):
    """출력 설정"""
    # TODO: LED/부저/서보 제어
    pass

# === 메인 루프 ===
print("프로젝트 시작!")

while True:
    # 1. 입력 읽기
    input_value = read_input()

    # 2. 처리
    result = process_data(input_value)

    # 3. 출력
    set_output(result)

    # 4. 대기
    time.sleep(0.5)


📝 전체 기획서 예시

실제로 작성하면 이런 느낌이야!

# 🎯 프로젝트 기획서

## 1. 기본 정보
- **프로젝트 이름**: 스마트 무드등 "밤친구"
- **만드는 사람**: 김피코
- **선택 옵션**: A (스마트 무드등)

## 2. 프로젝트 설명
### 한 줄 소개
어두워지면 자동으로 켜지고, 버튼으로 분위기에 맞는 색상을 선택할 수 있는 무드등

### 만드는 이유
밤에 책 읽을 때 너무 밝은 조명 말고 
은은한 무드등이 있으면 좋겠다고 생각했어요.
또 기분에 따라 색깔을 바꿀 수 있으면 재밌을 것 같아요!

### 누가 사용하나요?
- 나 (밤에 책 읽을 때)
- 동생 (잘 때 무서워서 은은한 불빛 필요)

## 3. 기능 목록
### 핵심 기능 (반드시 구현)
- [x] 기능 1: 주변이 어두워지면 자동으로 LED 켜짐
- [ ] 기능 2: 버튼 누르면 색상 모드 변경 (빨강→초록→파랑→꺼짐)

### 추가 기능 (시간되면)
- [ ] 기능 3: RGB 색상 부드럽게 변하는 효과
- [ ] 기능 4: 밝기 조절 기능 (로터리 센서 추가)

## 4. 필요한 부품
| 부품 | 용도 | 연결 포트 |
|------|------|----------|
| 조도 센서 | 주변 밝기 측정 | A0 |
| RGB LED | 색상 출력 | D18 |
| 버튼 | 모드 선택 | D20 |

## 5. 회로 연결도
Grove Shield 사용
- A0 포트 ← 조도 센서
- D18 포트 → RGB LED  
- D20 포트 ← 버튼

## 6. 프로토타입 목표
오늘 수업 끝날 때까지:
- [x] 조도 센서 값 읽어서 출력하기
- [x] 어두우면 LED 켜지는 것 확인
- [ ] 버튼 누르면 print 출력되는 것 확인

⚠️ 자주 하는 실수

실수 1: 너무 큰 목표 설정하기

증상: "AI 로봇 만들기", "스마트홈 전체 시스템" 같은 기획서

원인: 할 수 있는 시간과 부품을 고려하지 않음

해결:

# 잘못된 기획
목표: 음성인식 스마트홈 시스템
(→ 한 학기도 부족한 프로젝트!)

# 올바른 기획  
목표: 조도 센서로 자동 켜지는 무드등
(→ 50분 안에 프로토타입 가능!)

💡 : "오늘 안에 핵심이 돌아가야 한다"고 생각하면 적절한 크기가 나와!


실수 2: 연결 포트 충돌

증상: "부저도 D20, 버튼도 D20인데 왜 안 돼요?"

원인: 같은 포트에 여러 부품 연결

해결:

# 잘못된 연결 - 포트 충돌!
button = Pin(20, Pin.IN, Pin.PULL_DOWN)  # D20
buzzer = PWM(Pin(20))  # D20 또 사용!

# 올바른 연결 - 포트 분리
button = Pin(20, Pin.IN, Pin.PULL_DOWN)  # D20
buzzer = PWM(Pin(18))  # D18 사용 (또는 다른 포트)

💡 : 기획서에 "연결 포트"를 미리 정리하면 충돌 방지!


실수 3: 센서 값 범위 모르고 코딩

증상: "왜 항상 '어둡다'고 나와요?"

원인: 조도 센서 값 범위(0~65535)를 모르고 임계값 설정

해결:

# 잘못된 코드 - 임계값을 막 정함
DARK_THRESHOLD = 100  # 거의 항상 어둡다고 판단됨

# 올바른 코드 - 먼저 값을 확인!
# Step 1: 먼저 실제 값 확인
brightness = light_sensor.read_u16()
print(f"현재 밝기: {brightness}")  # 밝을 때/어두울 때 확인

# Step 2: 확인 후 적절한 임계값 설정
DARK_THRESHOLD = 20000  # 실제 측정값 기반으로 설정

💡 : 항상 먼저 값을 print로 확인하고 임계값을 정해!


실수 4: DHT11 너무 빠르게 읽기

증상: OSError 또는 이상한 값

원인: DHT11은 최소 2초 간격으로 읽어야 함

해결:

# 잘못된 코드
while True:
    sensor.measure()
    time.sleep(0.5)  # 0.5초 → 너무 빠름!

# 올바른 코드
while True:
    sensor.measure()
    time.sleep(2)  # 2초 이상 대기 필수!


✅ 스스로 점검하기

  1. 프로토타입의 목적은 무엇인가요?
  2. A) 완벽한 제품을 만드는 것
  3. B) 핵심 기능이 되는지 빠르게 확인하는 것
  4. C) 예쁘게 꾸미는 것

  5. 스마트 무드등에서 조도 센서 값이 10,000일 때, DARK_THRESHOLD가 20,000이면 LED는?

  6. A) 켜진다
  7. B) 꺼진다
  8. C) 깜빡인다

  9. 기획서에서 "핵심 기능"과 "추가 기능"을 나누는 이유는?

정답 확인 1. **B) 핵심 기능이 되는지 빠르게 확인하는 것** - 프로토타입은 "일단 되게" 만드는 게 목표야. 완벽함은 나중에! 2. **A) 켜진다** - 코드에서 `brightness < DARK_THRESHOLD` 조건 - 10,000 < 20,000 → True → LED 켜짐 - (값이 낮을수록 어두움!) 3. **시간이 부족할 때 우선순위를 정하기 위해서** - 핵심 기능 = 반드시 해야 하는 것 - 추가 기능 = 시간 되면 하는 것 - 이렇게 나눠야 "미완성"을 방지할 수 있어!

🚀 더 해보기

도전 1: 프로토타입에 print 디버깅 추가하기

센서 값이 이상하면 원인을 찾기 어려워. print를 전략적으로 넣어봐!

# 디버그 모드 추가
DEBUG = True  # 테스트 끝나면 False로

if DEBUG:
    print(f"[DEBUG] 센서 원본값: {brightness}")
    print(f"[DEBUG] 임계값: {DARK_THRESHOLD}")
    print(f"[DEBUG] 비교 결과: {brightness < DARK_THRESHOLD}")

도전 2: 버튼으로 모드 변경 추가하기

스마트 무드등에 버튼 기능을 추가해봐!

# 힌트 코드
mode = 0  # 0: 꺼짐, 1: 빨강, 2: 초록, 3: 파랑

while True:
    # 버튼 누르면 모드 변경
    if button.value() == 1:
        mode = (mode + 1) % 4  # 0→1→2→3→0 순환
        print(f"모드 변경: {mode}")
        time.sleep(0.3)  # 디바운싱

    # TODO: mode에 따라 LED 색상 변경

도전 3: 두 센서 조합하기 ⭐

조도 센서 + 온도 센서를 조합해서 "어둡고 더우면" 알림!

# 힌트: 두 조건을 AND로 연결
if brightness < DARK_THRESHOLD and temp > 28:
    print("어둡고 덥네요! 환기 필요!")

📋 프로젝트 체크리스트

오늘 수업 끝나기 전에 확인해봐!

기획 단계

  • [ ] 프로젝트 주제를 선택했다
  • [ ] 기획서를 작성했다
  • [ ] 핵심 기능과 추가 기능을 구분했다

설계 단계

  • [ ] 필요한 부품을 정리했다
  • [ ] 연결 포트를 확인했다 (충돌 없음)
  • [ ] 회로 연결을 완료했다

개발 단계

  • [ ] 프로토타입 코드를 작성했다
  • [ ] 코드가 에러 없이 실행된다
  • [ ] 핵심 기능이 작동한다 (적어도 1개)

남은 할 일 (다음 시간)

  • [ ] 아직 안 된 기능: ____
  • [ ] 개선하고 싶은 점: ____

🔗 다음 장으로

오늘은 프로젝트를 기획하고 프로토타입을 시작했어!

배운 것: - ✅ 기획서로 아이디어를 정리하는 법 - ✅ 복잡한 시스템을 작은 조각으로 나누는 법 - ✅ 핵심 기능만 빠르게 확인하는 프로토타입 개발

다음 장에서는: - 🎯 프로젝트를 완성하고 - 🎤 1분 발표를 하고 - 👏 친구들의 작품을 보고 피드백을 나눌 거야!

준비할 것: 오늘 못 끝낸 기능이 있다면, 다음 시간 시작 15분 안에 완성할 수 있도록 계획을 세워와!

수고했어, 메이커! 🔧✨