콘텐츠로 이동

버튼 누르면 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: 직접 실행해보기

  1. 코드를 Pico에 업로드합니다
  2. 버튼을 눌러보세요
  3. 내 손에 반응하는 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)  # 들여쓰기 필수

✅ 점검하기

  1. if문에서 ==는 무슨 의미일까요?
정답 확인"같은지 비교"하는 연산자입니다. `=`는 값을 저장, `==`는 비교!
  1. 버튼을 눌렀는데 LED가 안 켜진다면?
정답 확인연결 핀 번호(14, 15)가 맞는지, 들여쓰기가 제대로 됐는지 확인하세요.

🔗 다음 장 미리보기

지금은 누르는 동안만 LED가 켜지죠? 다음 시간엔 한 번 누르면 켜지고, 다시 누르면 꺼지는 토글 기능을 만들어봅니다! 🔄