반응형
아두이노 나노에 부저를 달고 소리를 내봅니다.
사용할 부저는 ON/OFF를 반복하여 신호를 넣어주어야 하는 패시브 부저(Passive Buzzer)에요.
피에조 부저라고도 해요.
극성이 있으니 확인하세요.
아래 그림에서 스티커는 나중에 떼어내세요.
+극에 전원을 줬다가 뺐다가를 빠르게 반복하여 그 진동이 소리로 들여요.
회로가 내장되어 있어서 5V를 연결하여 삑 소리가 나는 제품도 있어요.
눈으로는 확인이 안돼요. 전원을 연결해 봤을 때 소리가 나면 액티브, 삑 소리가 안 나면 패시브 소자입니다.
사용방법은 아두이노의 PWM신로를 연결하고 TR로 증폭하여 사용해요.
여기서 D2, R8은 필수는 아니에요.
#include "pitches.h"
int nBuzzer = 5;
void BuzzerTest(void)
{
tone(nBuzzer, 1000); //1000hz
// 0.5sec마다 한번씩 부저 동작 처리
nLoop++;
if (nLoop > 5)
{
nLoop = 0;
AlEnable = (analogRead(A6) > 300) ? 1 : 0; // 옵션 상태 읽기
if (byTargetDuty != 0) // 알람상태가 아니면 무시
{
if (AlEnable == 1) // 알람 Off이면 무시
{
tone(nBuzzer, 1000); //1000hz
}
else
{
tone(nBuzzer, 0);
}
}
else
{
tone(nBuzzer, 0);
}
}
}
헤더 파일을 추가하고 tone() 함수를 사용해요.
tone(pin, frequency);
tone(pin, frequency, duration);
notone(pin);
이렇게 명령해주면 50% duty의 PWM 신호를 출력해 줘요.
부저는 대략 1Khz가 공진 주파수예요. 가장 소리가 크죠.
tone 명령을 넣으면 멜로디를 넣을 수 있어요.
음계 | 주파수 | 주파수 |
도 | 523 | 1046 |
레 | 587 | 1174 |
미 | 659 | 1318 |
파 | 698 | 1396 |
솔 | 783 | 1567 |
라 | 880 | 1760 |
시 | 987 | 1975 |
도 | 1046 | 2093 |
제품에서 동작시 전원 ON시 도미솔처럼 상승음을 사용해요.
전원 OFF 시에는 솔미도 처럼 하강음을 사용해요.
그럼 즐거운 코딩 하세요
반응형
'Arduino' 카테고리의 다른 글
[시계용 FND] Adafruit 제품 소개 (0) | 2020.12.12 |
---|---|
[스위치 입력] 채터링 걸러내는 스위치 입력 방법 (2) | 2020.12.12 |
아두이노 나노 소개 (0) | 2020.12.12 |
SW-420 진동 센서 (0) | 2020.10.16 |
USB to I2C/UART Protocol Converter with GPIO (0) | 2020.09.22 |
댓글