Arduino

[Arduino] 아두이노 부저(Buzzer) 능동부저, 수동부저

Let it out 2024. 2. 2. 16:48
반응형

부저의 종류

1. 능동 부저
2. 수동 부저
 

차이점

능동 부저 : 한 가지 음만 낼 수 있다.
수동 부저 : 여러 음을 낼 수 있다. (계이름으로 멜로디를 만들 수 있다.)
 
두 개의 부저를 구별하는 방법은 부저를 뒤집어 보면 보면 다르게 생겼다.
둘 중 뭔지 모르겠으면 바꿔서 껴보면 된다.
부저가 켜졌을 때 여러개의 음을 낼 수 있으면 수동 부저다.
 

회로도

검은색 선이 +, 빨간색 선이 - 다.
능동 부저, 수동 부저 둘 다 똑같이 연결 하면 된다.

 

 
 
 

능동 부저로 한 음만 내기

능동 부저가 1초에 한번 씩 소리를 내는 예제다.
능동 부저는 애초에 한 음만 낸다.
#define BUZ_PIN 13
void setup( )
{
  pinMode(BUZ_PIN, OUTPUT);
}
void loop( )
{
  digitalWrite(BUZ_PIN, HIGH);
  delay(1000);
  digitalWrite(BUZ_PIN, LOW);
  delay(1000);
}

 

수동 부저로 한 음만 내기

수동 부저로 한 음만 내는 예제다.
tone 함수에 400 이라고 들어간 부분이 음계다.
낮을 수록 낮은 음을 낸다.
#define BUZ_PIN 13
void setup( )
{
  pinMode(BUZ_PIN, OUTPUT);
}
void loop()
{
  tone(BUZ_PIN, 400, 500); //tone(핀번호, 음계, 몇 초 동안 켜질것 인지)
  delay(500);
  noTone(BUZ_PIN); //부저 끄기
  delay(500);
}


 

수동 부저로 학교 종이 땡땡땡 연주하기

수동 부저에서 음계는 다음과 같다.
도 256 
레 288
미 320
파 341
솔 384
라 427
시 480
 
이것을 활용해서 학교 종이 땡땡땡 노래를 만드는 예제다.
#define BUZ_PIN 13 // 부저 핀
#define DO 256 // 피아노 음계
#define RE 288
#define MI 320
#define FA 341
#define SO 384
#define LA 427
#define TI 480

int music[] = {SO, SO, LA, LA, SO, SO, MI, SO, SO, MI, MI, RE, SO, SO, LA, LA, SO, SO, MI, SO, MI, RE, MI, DO};
void setup()
{

}

void loop()
{
  for(int i=0; i<sizeof(music)/sizeof(int); i++)
  {
    tone(BUZ_PIN, music[i]*2, 100);
    delay(300);
  }
}
반응형