본문 바로가기
라즈베리파이 피코

라즈베리파이 피코 피에조 부저 소리 변환

by js-park 2023. 2. 13.

안녕하세요. 엔지니어공작실입니다.

 

라즈베리파이 피코를 Thonny를 이용해 테스트해보았습니다.

 

라즈베리파이피코 테스트

LCD는 I2C로 연결하였고 4x4 키패드는 ADC로 입력을 받아 측정된 전압에 따라 어떤키가 눌렸는지 알 수 있도록 하였습니다. 

 

영상을 보면 키패드 숫자를 누를때는 피에조 부저에서 단순한 삑 소리가.. 입력키를 누르면 뾰잉 소리가 나도록 하였고 만일 입력값이 설정범위를 넘으면 또 다른 소리가 나도록 만들어 봤습니다. 

 

피에조 부저는 pwm을 활용해서 아래와 같은 함수들을 만들어 사용했습니다. 

 

def zb_buzzer_key():
    pwm0.freq(2880)
    pwm0.duty_u16(20000)
    utime.sleep(0.03)
    pwm0.duty_u16(0)
        
def zb_buzzer_set():
    for i in range(4400,880,-80):
        pwm0.freq(i)
        pwm0.duty_u16(20000)
        utime.sleep(0.001)
        pwm0.duty_u16(0)
    for i in range(1000,4000,40):
        pwm0.freq(i)
        pwm0.duty_u16(20000)
        utime.sleep(0.001)
        pwm0.duty_u16(0)
        
def zb_buzzer_fail():
    for i in range(2880,200,-20):
        pwm0.freq(i)
        pwm0.duty_u16(20000)
        utime.sleep(0.001)
        pwm0.duty_u16(0)

 

pwm의 주파수나 딜레이를 이렇게 저렇게 조절해보면서 본인이 원하는 부저 소리를 만들 수 있습니다.  

 

참고로 피에조 부저에는 두가지 타입이 있습니다. 수동형과 능동형..

제가 사용한 피에조 부저는 능동형 타입입니다. 그냥 DC5V를 넣어주면 자체적으로 발진하여 삐 소리가 납니다.

그러다보니 능동형 피에조 부저의 자체 발진 주파수와 pwm에서 입력해 준 주파수 간에 간섭이 생겨 출력되는 소리의 주파수가 정확히 매칭되지 않는 것 같습니다.

수동형 피에조 부저를 사용하면 pwm에서 설정해준 주파수 그대로의 음의 높이를 정확하게 출력할 것으로 보입니다. 

 

파이 피코 사용해 본 것도 몇 일 안되고 파이썬도 이제 공부 시작하는 초보자입니다. 

티스토리도 오늘 가입했네요.

 

관련된 내용들 틈틈이 정리해서 올리도록 하겠습니다. 응원 부탁드립니다. ^^;

 

- j.s.park -

 

 

반응형

댓글