728x90
반응형
부저
능동 부저 | 내장된 회로 인해 전원만 인가하면 약 2.5kHz의 음이 발생하는 부저. 한 가지 소리만 내기 때문에 알림 역할을 하는 곳에 자주 사용된다. 수동 부저보단 소리가 크지만 음질은 떨어지는게 특징이다. |
수동 부저 | 미리 설계된 회로가 없어 주파수를 입력해야 소리를 내는 부저이다. 여러 음을 낼 수 있기 때문에 음악 악기와 같은 멜로디가 필요한 제품 등에 사용된다. |
능동 부저와 수동 부저 모두 피에조 결정체를 이용하여 소리를 낸다. 전형적인 피에로 부저는 철한 위에 놓은 세라믹 웨이퍼로 구성되며 이 결정체에 전기적 신호를 주면 결정체가 늘었다 줄었다하며 진동을 형성하고 형성된 진동은 음파를 생성한다.
소리의 주파수
부저함수
tone
tone 이란 정해진 핀을 통해 특정한 주파수의 사각 파형을 생성한다.
tone(pin,frq);
pin | 음을 생성하고자하는 핀 번호 |
frq(frequency) | 생성하고자하는 음의 주파수 |
notone
noTone(pin);
pin | 음 생성을 멈추고자하는 핀 |
회로/코드 구성
회로 구성
부저 예제: 시리얼 모니터로 입력한 음계를 실행해보자.
const int b = 8;
const int d[9] = {-1,262,294,330,349,393,440,494,523};
void setup() {
Serial.begin(115200);
}
void loop() {
if(Serial.available()){
int k = Serial.read();
if( '1' <= k && k <= '9'){
int n = k - '0' ;
tone(b,d[n]);
delay(250);
}
}
noTone(b);
}
setup()
const int b = 8;
const int d[9] = {-1,262,294,330,349,393,440,494,523};
void setup() {
Serial.begin(115200);
}
- 정수형 상수 변수로 b에 8을 할당한다. 이때 b는 부저를 의미한다.
- 정수형 상수 배열 d를 초기화한다. 이때 배열의 값은 피애조 음계를 반올림 한것이다. 주파수 표의 4옥타브를 일반적으로 사용한다.
- setup 함수에서 시리얼 모니티의 속도를 115200으로 설정한다.
loop()
void loop() {
if(Serial.available()){
int k = Serial.read();
if( '1' <= k && k <= '9'){
int n = k - '0' ;
tone(b,d[n]);
delay(250);
}
}
noTone(b);
}
- Serial.availabe 함수를 이용하여 시리얼 모니터의 입력을 확인한다. (아래 메서드 참조)
https://udangtangtang-cording-oldcast1e.tistory.com/37?category=1019061
[Arduino] #6. ⭐️아두이노 시리얼 입출력하기 ⭐️
아두이노 데이터 속도 설정하기: 문자 출력 선언(시리얼 모니터 사용 선언) void setup(){ Serial.begin(speed); // speed: 데이터의 속도값 //일반적으로 아두이노 우노는 9600,아두이노 메가는 115200을 사용한
udangtangtang-cording-oldcast1e.tistory.com
- 1부터 9까지의 숫자가 입력되면(사실 시리얼 모니터로 입력되는 값은 아스키 코드로 문자형태이다.), 해당 입력을 숫자로 만들기 위해 문자 '0'을 빼서 숫자로 변환한다.
- 이후 tone 함수를 실행하여 해당 인덱스의 주파수를 출력한다.
- 250 마이크로 초가 지난 후 noTone 함수를 실행하여 부저의 출력을 중지한다.
728x90
반응형
'Arduino > [2] Arduino Module' 카테고리의 다른 글
[Arduino Module] #6. 도트 매트릭스 (0) | 2022.03.05 |
---|---|
[Arduino Module] #5.세그먼트 제어하기 (0) | 2022.03.04 |
[Arduino Module] #4. 서보 모터 제어하기 (0) | 2022.03.04 |
[Arduino Module] #2. LED구성과 저항 (0) | 2022.03.04 |
[Arduino Module] #1. 초음파 센서 (0) | 2022.03.04 |