부저로 '삐-' 소리 내기¶
🎯 이 장에서 배우는 것¶
- [ ] 부저를 브레드보드에 연결할 수 있다
- [ ] 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) # 끝
⚠️ 주의할 점¶
- 소리가 안 나요:
duty_u16(0)이면 소리가 안 납니다. 32768 정도로 설정하세요. - 부저 방향: +, - 다리를 바꿔 꽂으면 소리가 안 나거나 작아요.
✅ 점검하기¶
- 주파수 440은 어떤 음인가요?
정답 확인
'라' 음이에요. 숫자가 클수록 높은 음!- 소리를 끄려면 어떻게 하나요?
정답 확인
buzzer.duty_u16(0)으로 설정하면 꺼져요.🔗 다음 장 미리보기¶
이제 소리를 낼 수 있으니, 다음 장에서는 버튼을 누르면 소리가 나는 인터랙티브한 프로그램을 만들어볼 거예요! 🎹