콘텐츠로 이동

부저로 '삐-' 소리 내기

🎯 이 장에서 배우는 것

  • [ ] 부저를 브레드보드에 연결할 수 있다
  • [ ] PWM으로 소리가 나는 원리를 이해할 수 있다
  • [ ] 코드로 부저에서 소리를 낼 수 있다

📚 핵심 개념

개념: PWM과 소리

부저에서 소리가 나는 원리는 진동이에요. 스피커가 떨리면서 공기를 밀어내면 우리 귀에 소리로 들리죠.

PWM(펄스 폭 변조)은 전기 신호를 빠르게 껐다 켰다 반복하는 기술이에요. 1초에 440번 깜빡이면 부저가 440번 떨려서 '라' 음이 나요!

flowchart LR A["숫자 440"] --> B["1초에 440번 깜빡"] --> C["🔊 '라' 음"]

핵심은 간단해요: 숫자가 클수록 높은 음, 작을수록 낮은 음이 납니다.


🔨 따라하기

Step 1: 부저 연결하기

부저의 다리 2개를 확인하세요: - 긴 다리(+) → GPIO 15번 - 짧은 다리(-) → GND

Step 2: 소리 내기

코드:

from machine import Pin, PWM
from time import sleep

# 부저를 PWM으로 설정
buzzer = PWM(Pin(15))

# 주파수 설정 (440 = '라' 음)
buzzer.freq(440)
buzzer.duty_u16(32768)  # 소리 크기 (중간)

sleep(1)  # 1초 동안 소리

buzzer.duty_u16(0)  # 소리 끄기

실행 결과:

🔊 '삐-' 소리가 1초간 남


📝 전체 코드

from machine import Pin, PWM
from time import sleep

buzzer = PWM(Pin(15))

# 도레미 연주해보기
buzzer.freq(262)  # 도
buzzer.duty_u16(32768)
sleep(0.5)

buzzer.freq(294)  # 레
sleep(0.5)

buzzer.freq(330)  # 미
sleep(0.5)

buzzer.duty_u16(0)  # 끝

⚠️ 주의할 점

  1. 소리가 안 나요: duty_u16(0)이면 소리가 안 납니다. 32768 정도로 설정하세요.
  2. 부저 방향: +, - 다리를 바꿔 꽂으면 소리가 안 나거나 작아요.

✅ 점검하기

  1. 주파수 440은 어떤 음인가요?
정답 확인'라' 음이에요. 숫자가 클수록 높은 음!
  1. 소리를 끄려면 어떻게 하나요?
정답 확인buzzer.duty_u16(0)으로 설정하면 꺼져요.

🔗 다음 장 미리보기

이제 소리를 낼 수 있으니, 다음 장에서는 버튼을 누르면 소리가 나는 인터랙티브한 프로그램을 만들어볼 거예요! 🎹