버튼 누르면 LED 켜기¶
🎯 이 장에서 배우는 것¶
- [ ] if 조건문으로 버튼 상태에 따라 다르게 동작하게 할 수 있다
- [ ] 버튼을 누르면 LED가 켜지는 프로그램을 만들 수 있다
📚 핵심 개념¶
개념: 조건문 (if문)¶
비유: if문은 마치 "만약 ~하면" 이라고 말하는 것과 같아요.
"만약 버튼이 눌렸으면 → LED 켜!" "아니면 → LED 꺼!"
정확한 정의: 조건문은 특정 조건이 참(True)인지 거짓(False)인지에 따라 다른 코드를 실행합니다.
if 조건:
# 조건이 참일 때 실행
else:
# 조건이 거짓일 때 실행
버튼 값이 True면 눌린 상태, False면 안 눌린 상태라는 걸 저번 시간에 배웠죠? 이걸 if문과 연결하면 됩니다!
🔨 따라하기¶
Step 1: 조건문 추가하기¶
버튼 상태를 읽고, 눌렸으면 LED를 켜봅시다.
import time
from machine import Pin
led = Pin(15, Pin.OUT)
button = Pin(14, Pin.IN, Pin.PULL_DOWN)
while True:
if button.value() == 1: # 버튼이 눌렸으면
led.value(1) # LED 켜기
else: # 안 눌렸으면
led.value(0) # LED 끄기
time.sleep(0.1)
실행 결과: - 버튼을 누르면 → LED가 켜집니다 💡 - 버튼을 떼면 → LED가 꺼집니다
Step 2: 직접 실행해보기¶
- 코드를 Pico에 업로드합니다
- 버튼을 눌러보세요
- 내 손에 반응하는 LED를 확인하세요!
📝 전체 코드¶
import time
from machine import Pin
# LED와 버튼 설정
led = Pin(15, Pin.OUT)
button = Pin(14, Pin.IN, Pin.PULL_DOWN)
# 무한 반복
while True:
if button.value() == 1: # 버튼 눌림
led.value(1) # LED 켜기
else: # 버튼 안 눌림
led.value(0) # LED 끄기
time.sleep(0.1)
⚠️ 주의할 점¶
들여쓰기 필수! if문 안의 코드는 반드시 스페이스 4칸 들여쓰기해야 합니다.
# ❌ 잘못된 예
if button.value() == 1:
led.value(1) # 에러!
# ✅ 올바른 예
if button.value() == 1:
led.value(1) # 들여쓰기 필수
✅ 점검하기¶
- if문에서
==는 무슨 의미일까요?
정답 확인
"같은지 비교"하는 연산자입니다. `=`는 값을 저장, `==`는 비교!- 버튼을 눌렀는데 LED가 안 켜진다면?
정답 확인
연결 핀 번호(14, 15)가 맞는지, 들여쓰기가 제대로 됐는지 확인하세요.🔗 다음 장 미리보기¶
지금은 누르는 동안만 LED가 켜지죠? 다음 시간엔 한 번 누르면 켜지고, 다시 누르면 꺼지는 토글 기능을 만들어봅니다! 🔄