콘텐츠로 이동

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는 **코드 작성 + 실행 + 결과 확인을 한 곳에서 할 수