Chapter 3: LED 깜빡이기 - 나의 첫 하드웨어 제어¶
🎯 이 장에서 배우는 것¶
- [ ] 피코2의 내장 LED를 코드로 켜고 끌 수 있다
- [ ] GPIO 핀의 개념을 이해한다
- [ ] 무한 반복문으로 LED를 깜빡이게 할 수 있다
⏱️ 예상 학습 시간: 약 50분
📚 핵심 개념¶
개념: GPIO (General Purpose Input/Output)¶
비유로 시작할게요!
GPIO는 마치 "집의 현관문" 같아요. 문을 통해 사람이 드나들듯, GPIO 핀을 통해 피코와 외부 장치가 신호를 주고받아요.
정확한 정의: - GPIO = 범용 입출력 핀 - 피코가 외부 세상과 소통하는 통로 - 전기 신호를 내보내거나(출력) 받아들일 수(입력) 있음
flowchart LR
A[🧠 피코2] -->|GPIO 핀| B[💡 LED]
style A fill:#e3f2fd,stroke:#1976d2
style B fill:#fff9c4,stroke:#f9a825
💡 기억하세요: 피코2의 내장 LED는 GPIO 25번 핀에 연결되어 있어요!
🔨 따라하기¶
Step 1: LED 켜기¶
코드:
from machine import Pin
led = Pin(25, Pin.OUT) # 25번 핀을 출력 모드로 설정
led.value(1) # LED 켜기 (1 = 켜짐)
실행 결과:
(피코2의 초록색 LED가 켜집니다!)
✅ 체크포인트: 피코 보드의 LED가 켜졌나요?
Step 2: LED 깜빡이기¶
코드:
from machine import Pin
import time
led = Pin(25, Pin.OUT)
while True: # 무한 반복
led.value(1) # 켜기
time.sleep(0.5) # 0.5초 대기
led.value(0) # 끄기
time.sleep(0.5) # 0.5초 대기
실행 결과:
(LED가 0.5초 간격으로 깜빡깜빡!)
🎉 축하해요! 코드로 하드웨어를 제어하는 첫 경험이에요!
📝 전체 코드¶
from machine import Pin
import time
led = Pin(25, Pin.OUT)
while True:
led.value(1)
time.sleep(0.5)
led.value(0)
time.sleep(0.5)
⚠️ 주의할 점¶
while True는 무한 반복이에요!
- 프로그램을 멈추려면 Thonny의 빨간 정지 버튼(■)을 클릭하세요
✅ 점검하기¶
- GPIO 핀은 어떤 역할을 하나요?
정답 확인
피코가 외부 장치와 신호를 주고받는 통로예요.time.sleep(0.5)를time.sleep(2)로 바꾸면 어떻게 될까요?
정답 확인
LED가 2초 간격으로 천천히 깜빡여요!🚀 다음 장 미리보기¶
다음 장에서는 외부 LED를 브레드보드에 연결해서 제어해볼 거예요. 회로를 직접 만드는 재미를 느껴보세요!