본문 바로가기

코딩/파이썬과 라즈베리파이

[Raspberry Pi] 라즈베리 파이와 함께 하는 파이썬 코딩 017. 부저로 소리 내기

라즈베리 파이의 GPIO 핀에 (피에조) 부저를 연결한 후 소리를 내는 코딩을 해 본다.

 

다음의 글 들이 본 코딩에 참고가 될 수 있을 것이다.

2021.04.25 - [학습노트/Raspberry Pi] - [Raspberry Pi 3 B+] 라즈베리 파이의 GPIO

2021.05.16 - [학습노트/Raspberry Pi] - [Raspberry Pi] 라즈베리 파이와 함께 하는 파이썬 코딩 015. LED 제어 (켜고 끄기)

 

 

  • 부저 제어를 위해 gpiozero 파이썬 모듈을 사용한다.
  • GPIO 23으로 부저를 제어한다.

부저 연결은 아래와 같다. 부저도 +/- 극성을 있으니 +쪽을 GPIO 23에 연결한다.

 

 

부저 연결을 완료한 후 아래의 코드를 작성, 실행해 본다.

 

from time import sleep
from gpiozero import Buzzer

gn23_buzzer = Buzzer(23)

for i in range(5):
    print(i)
    gn23_buzzer.on()
    sleep(.5)
    gn23_buzzer.off()
    sleep(.5)

 

내가 구매한 키트의 부저는 주위가 아주 조용해야 소리가 띡, 띡 들려서 좀 당황스럽다.

 

gpiozero의 TonalBuzzer 클래스를 통해 도레미파솔라시도를 코딩해 본다.

TonalBuzzer 클래스론 A3(라) ~ A5(라)까지 연주가 가능하다.

 

from time import sleep
from gpiozero import TonalBuzzer

gn23_buzzer = TonalBuzzer(23)

sound = ['C4', 'D4', 'E4', 'F4', 'G4', 'A4', 'B4', 'C5']

print(gn23_buzzer.min_tone, '~', gn23_buzzer.max_tone, '\n')

for s in sound:
    print(s)
    gn23_buzzer.play(s)
    sleep(.5)

gn23_buzzer.stop()