Chapter 02: Pico와 첫 만남 - 개발환경 설정¶
🎯 이 장에서 배우는 것¶
- Raspberry Pi Pico가 무엇인지 설명할 수 있다
- Grove Shield의 역할과 장점을 이해할 수 있다
- Thonny IDE를 설치하고 Pico와 연결할 수 있다
- 첫 번째 Python 코드를 Pico에서 실행할 수 있다
- 코드가 컴퓨터에서 Pico로 전송되는 과정을 설명할 수 있다
💡 왜 이걸 배우나요?¶
상상해봐. 네가 만든 코드가 컴퓨터 화면 속에만 있는 게 아니라, 실제 세상에서 LED를 켜고, 모터를 돌리고, 센서로 온도를 측정한다면?
이게 바로 피지컬 컴퓨팅(Physical Computing)이야.
┌─────────────────────────────────────────────────────────────┐
│ │
│ 일반 프로그래밍 vs 피지컬 컴퓨팅 │
│ │
│ ┌─────────────┐ ┌─────────────┐ │
│ │ 컴퓨터 │ │ 컴퓨터 │ │
│ │ ┌───────┐ │ │ ┌───────┐ │ │
│ │ │ 코드 │ │ │ │ 코드 │ │ │
│ │ └───────┘ │ │ └───┬───┘ │ │
│ │ ↓ │ │ ↓ │ │
│ │ ┌───────┐ │ └──────┼──────┘ │
│ │ │ 화면 │ │ ↓ │
│ │ └───────┘ │ ┌─────────────┐ │
│ └─────────────┘ │ Pico │ │
│ │ ┌───────┐ │ │
│ 결과: 화면에 출력 │ │ 센서 │──┼──→ 실제 세상│
│ │ │ LED │ │ │
│ │ │ 모터 │ │ │
│ │ └───────┘ │ │
│ └─────────────┘ │
│ │
│ 결과: 실제 세상이 바뀜! │
│ │
└─────────────────────────────────────────────────────────────┘
이 수업에서 우리는 "측정만 하지 말고, 학교를 바꿔보자"는 목표로 진행해. 온도가 높으면 자동으로 선풍기가 돌아가게 하고, 소음이 심하면 경고등이 켜지게 만들 거야.
그 첫 걸음이 바로 개발 환경 설정이야. 요리를 시작하기 전에 주방을 세팅하는 것처럼, 코딩을 시작하기 전에 도구를 준비하는 거지!
📚 핵심 개념¶
개념 1: Raspberry Pi Pico란?¶
비유로 시작: Pico는 마치 아주 작은 뇌와 같아. 우리 뇌가 눈으로 보고(입력), 생각하고(처리), 손을 움직이는(출력) 것처럼, Pico도 센서로 감지하고, 코드로 판단하고, LED나 모터를 제어해.
정확한 정의: Raspberry Pi Pico는 영국 라즈베리파이 재단에서 만든 마이크로컨트롤러(Microcontroller)야. 손가락 두 마디 정도 크기지만, 센서를 읽고 다양한 부품을 제어할 수 있는 작은 컴퓨터야.
예시로 확인: - 온도 센서를 연결하면 → 온도를 측정할 수 있어 - LED를 연결하면 → 빛을 켜고 끌 수 있어 - 모터를 연결하면 → 바람을 일으킬 수 있어
┌─────────────────────────────────────────────────────────────┐
│ │
│ Raspberry Pi Pico 실물 크기 (약 51mm x 21mm) │
│ │
│ ┌─────────────────────────────────────────────────────┐ │
│ │ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ │ │
│ │ │ │
│ │ ┌─────────┐ ┌────┐ │ │
│ │ │ RP2040 │ Raspberry Pi │USB │ │ │
│ │ │ Chip │ Pico │ │ │ │
│ │ └─────────┘ └────┘ │ │
│ │ │ │
│ │ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ │ │
│ └─────────────────────────────────────────────────────┘ │
│ │
│ ↑ 이 구멍들(○)이 GPIO 핀 - 센서나 부품을 연결하는 곳 │
│ │
└─────────────────────────────────────────────────────────────┘
쉽게 말하면: Pico는 손바닥 위의 작은 컴퓨터로, 센서를 읽고 부품을 제어하는 일을 해!
개념 2: GPIO 핀이란?¶
비유로 시작: GPIO 핀은 마치 콘센트와 같아. 집에서 전자제품을 콘센트에 꽂아서 사용하듯이, Pico에서는 센서나 LED를 GPIO 핀에 연결해서 사용해.
정확한 정의: GPIO는 General Purpose Input/Output의 약자야. "범용 입출력"이라는 뜻인데, 쉽게 말해 "아무 용도로나 쓸 수 있는 연결 단자"야.
예시로 확인: - 입력(Input)으로 사용: 버튼이 눌렸는지 확인, 온도 센서 값 읽기 - 출력(Output)으로 사용: LED 켜기, 모터 돌리기, 부저 울리기
┌─────────────────────────────────────────────────────────────┐
│ │
│ GPIO 핀의 역할 │
│ │
│ ┌──────────┐ ┌──────────┐ │
│ │ 센서 │ │ LED │ │
│ │ (온도) │ │ (빛) │ │
│ └────┬─────┘ └────┬─────┘ │
│ │ │ │
│ ↓ 입력 ↑ 출력 │
│ ┌────┴──────────────────────┴────┐ │
│ │ GPIO 핀들 │ │
│ │ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ │ │
│ │ Pico │ │
│ └────────────────────────────────┘ │
│ │
│ - 입력 핀: 바깥 세상 → Pico (정보를 받아들임) │
│ - 출력 핀: Pico → 바깥 세상 (명령을 내보냄) │
│ │
└─────────────────────────────────────────────────────────────┘
쉽게 말하면: GPIO 핀은 Pico가 바깥 세상과 소통하는 통로야!
개념 3: Grove Shield란?¶
비유로 시작: Grove Shield는 마치 멀티탭(멀티콘센트)과 같아. 콘센트 하나에 멀티탭을 꽂으면 여러 기기를 쉽게 연결할 수 있잖아? Grove Shield도 Pico에 꽂으면 여러 센서와 부품을 케이블 하나로 쉽게 연결할 수 있어.
정확한 정의: Grove Shield는 Seeed Studio에서 만든 확장 보드야. Pico 위에 끼우면 Grove 규격의 센서와 부품을 4핀 케이블 하나로 연결할 수 있어. 복잡한 배선이나 납땜 없이도 다양한 프로젝트를 만들 수 있지!
예시로 확인:
┌─────────────────────────────────────────────────────────────┐
│ │
│ Grove Shield 없이 vs Grove Shield 사용 │
│ │
│ [복잡한 방법] [쉬운 방법] │
│ │
│ 빨강선──┐ ┌─────────────┐ │
│ 검정선──┼──→ Pico │ Grove Shield│ │
│ 노랑선──┤ (어디 꽂지?) │ ┌─┐ ┌─┐ ┌─┐│ │
│ 하양선──┘ │ │○│ │○│ │○││ │
│ │ └─┘ └─┘ └─┘│ │
│ → 선 4개를 └──────┬──────┘ │
│ 각각 연결해야 함 ↓ │
│ → 잘못 꽂으면 고장! 케이블 하나로 "찰칵" │
│ → 누구나 쉽게! │
│ │
└─────────────────────────────────────────────────────────────┘
Grove 커넥터의 장점: | 장점 | 설명 | |------|------| | 🔌 쉬운 연결 | 케이블 하나로 "찰칵" 연결 | | 🛡️ 안전함 | 잘못 꽂아도 고장 안 남 (방향이 정해져 있음) | | 📦 표준화 | 모든 Grove 부품이 같은 방식으로 연결 | | 🔄 재사용 | 연결했다 뺐다 자유롭게 |
쉽게 말하면: Grove Shield는 복잡한 배선 없이 센서를 쉽게 연결하게 해주는 확장 보드야!
개념 4: Thonny IDE란?¶
비유로 시작: Thonny는 마치 코딩 전용 메모장과 같아. 일반 메모장에서는 글을 쓰고 저장만 할 수 있지만, Thonny에서는 코드를 쓰고, 실행하고, 결과를 바로 확인할 수 있어!
정확한 정의: Thonny는 Python 전용 통합 개발 환경(IDE, Integrated Development Environment)이야. 초보자를 위해 만들어져서 설치도 쉽고, Pico와의 연결도 간단해.
예시로 확인:
┌─────────────────────────────────────────────────────────────┐
│ Thonny IDE 화면 구성 │
├─────────────────────────────────────────────────────────────┤
│ ┌─────────────────────────────────────────────────────┐ │
│ │ 파일 편집 보기 실행 도구 도움말 │ │
│ ├─────────────────────────────────────────────────────┤ │
│ │ ▶ 실행 ■ 정지 │ 저장 │ │ │
│ ├─────────────────────────────────────────────────────┤ │
│ │ │ │
│ │ # 여기에 코드를 작성해요 │ │
│ │ print("Hello, Pico!") ← 코드 작성 영역 │ │
│ │ │ │
│ ├─────────────────────────────────────────────────────┤ │
│ │ Shell (쉘) │ │
│ │ ────────────────────────────── │ │
│ │ >>> Hello, Pico! ← 결과 출력 영역 │ │
│ │ >>> │ │
│ └─────────────────────────────────────────────────────┘ │
│ │
└─────────────────────────────────────────────────────────────┘
쉽게 말하면: Thonny는 **코드 작성 + 실행 + 결과 확인을 한 곳에서 할 수