콘텐츠로 이동

나만의 작품 만들기 & 마무리

Part 3: 소리로 표현하기 🎵


🎯 이 장에서 배우는 것

  • [ ] LED, 버튼, 부저를 조합해 나만의 작품을 만들 수 있다
  • [ ] 전체 과정에서 배운 내용을 정리할 수 있다
  • [ ] 다음 학습 방향을 알 수 있다

📚 핵심 개념

개념: 통합 프로젝트

지금까지 배운 모든 것을 하나로 합치는 시간이에요!

마치 레고 블록처럼, 각각 배운 LED, 버튼, 부저를 자유롭게 조합하면 다양한 작품이 탄생합니다.

flowchart LR A[🔘 버튼] --> B[🧠 라즈베리파이] B --> C[💡 LED] B --> D[🔔 부저]

조합 아이디어: - 버튼 → 멜로디 = 초인종 - 버튼 → LED + 소리 = 알림 장치


🔨 따라하기: 나만의 초인종 만들기

Step 1: 회로 연결 확인

기존 연결 그대로 사용합니다: - 버튼: GPIO 17 - LED: GPIO 18
- 부저: GPIO 27

Step 2: 통합 코드 작성

from gpiozero import LED, Button, Buzzer
from time import sleep

# 부품 연결
led = LED(18)
button = Button(17)
buzzer = Buzzer(27)

# 초인종 멜로디
def doorbell():
    print("🔔 딩동!")
    led.on()

    # 딩~
    buzzer.on()
    sleep(0.3)
    buzzer.off()
    sleep(0.1)

    # 동~
    buzzer.on()
    sleep(0.5)
    buzzer.off()

    led.off()

# 버튼 누르면 초인종 작동
button.when_pressed = doorbell

print("초인종 준비 완료! 버튼을 눌러보세요")
print("종료: Ctrl+C")

while True:
    sleep(0.1)

실행 결과:

초인종 준비 완료! 버튼을 눌러보세요
🔔 딩동!


📝 전체 코드

from gpiozero import LED, Button, Buzzer
from time import sleep

led = LED(18)
button = Button(17)
buzzer = Buzzer(27)

def doorbell():
    print("🔔 딩동!")
    led.on()
    buzzer.on()
    sleep(0.3)
    buzzer.off()
    sleep(0.1)
    buzzer.on()
    sleep(0.5)
    buzzer.off()
    led.off()

button.when_pressed = doorbell

print("초인종 준비 완료!")
while True:
    sleep(0.1)

⚠️ 주의할 점

무한루프 종료: Ctrl+C로 프로그램을 종료하세요. 강제 종료해도 괜찮습니다!


🎉 축하합니다!

🏆 수료를 축하합니다!

14차시 완주!

여러분은 이제 라즈베리파이로 하드웨어를 제어할 수 있는 사람입니다!

💡 LED 켜기 → 🔘 버튼 입력 → 🔔 소리 출력

"하드웨어가 더 이상 무섭지 않아요!"


📖 배운 내용 정리

차시 배운 것 핵심 코드
1차시 LED 켜기/끄기 led.on(), led.off()
2차시 버튼 입력 받기 button.when_pressed
3차시 부저로 소리내기 buzzer.on(), buzzer.off()

🚀 다음 단계 추천

더 배우고 싶다면: 1. 센서 추가: 온도, 습도, 거리 센서 2. 모터 제어: 서보모터, DC모터 3. 네트워크: IoT 프로젝트 (원격 제어)

추천 검색어: "라즈베리파이 센서 프로젝트", "gpiozero 튜토리얼"


✅ 마지막 점검

  1. LED, 버튼, 부저를 동시에 제어할 수 있나요?
정답 확인네! 각각 GPIO 핀에 연결하고, 함수 안에서 순서대로 제어하면 됩니다.
  1. 이 과정에서 가장 중요했던 것은?
정답 확인직접 해보는 것! 코드를 읽기만 하지 말고, 실행하고 수정해보세요.

🔗 마무리

여러분은 14차시 전체 과정을 완주했습니다! 🎊

처음엔 낯설었던 GPIO, 회로, 코드가 이제는 친숙해졌을 거예요. 이 경험을 바탕으로 더 재미있는 프로젝트에 도전해보세요.

기억하세요: 모든 멋진 프로젝트는 LED 하나 켜는 것에서 시작했습니다! 💡