[Arduino] 부저 소리 켜기/끄기


부저는 피에조 효과를 이용하여 소리를 내는 작은 스피커이다.
부저 센서는 우리의 일상생활에서 광범위하게 사용되고 있으며, 간단한 전자제품에서 띠띠 거리는 소리는 거의 이 부저를 이용했다고 생각해도된다.

피에조 부저는 (+)극과 (-)극을 가지고 있으며, (+)극은 위에 +표시가 되어 있다.
피에조 부저는 능동부저와 수동부저로 나뉘는데 부저에 그냥 전기를 공급하였을 때 소리가 나면 능동부저, 전기를 공급하여도 소리가 나지 않으면 수동부저이다.

수동부저를 이용할 때 각 음계에 맞는 주파수(진동수)는 아래 표와 같습니다.


Code

int speakerPin = 8;

 

int numTones = 8;

int tones[] = {261, 277, 294, 311, 330, 349, 370, 392};

 

void setup() {

}

 

void loop() {

  for(int i = 0; i < numTones; i++)

  {

    tone(speakerPin, tones[i]);

    delay(500);

  }

  noTone(speakerPin);

  delay(1000);

}

곰세마리 노래

#define NOTE_C5  523    //도
#define NOTE_D5  587    //레
#define NOTE_E5  659    //미
#define NOTE_F5  698    //파
#define NOTE_G5  784   //솔
#define NOTE_A5  880   //라
#define NOTE_B5  988   //시
#define NOTE_C6  1047 //도

int buzzerPin = 13; 
int numTones = 13;

int melody[] = {
NOTE_C5,NOTE_C5,NOTE_C5,NOTE_C5,NOTE_C5,
NOTE_E5,NOTE_G5,NOTE_G5,NOTE_E5,NOTE_C5,
NOTE_G5,NOTE_G5,NOTE_E5,NOTE_G5,NOTE_G5,NOTE_E5,
NOTE_C5,NOTE_C5,NOTE_C5,

NOTE_G5,NOTE_G5,NOTE_E5,NOTE_C5,
NOTE_G5,NOTE_G5,NOTE_G5,
NOTE_G5,NOTE_G5,NOTE_E5,NOTE_C5,
NOTE_G5,NOTE_G5,NOTE_G5,

NOTE_G5,NOTE_G5,NOTE_E5,NOTE_C5,
NOTE_G5,NOTE_G5,NOTE_G5,NOTE_A5,NOTE_G5,
NOTE_C6,NOTE_G5,NOTE_C6,NOTE_G5,
NOTE_E5,NOTE_D5,NOTE_C5
};

int noteDurations[]={
4,8,8,4,4,
4,8,8,4,4,
8,8,4,8,8,4,
4,4,2,
4,4,4,4,
4,4,2,
4,4,4,4,
4,4,2,
4,4,4,4,
8,8,8,8,2,
4,4,4,4,
4,4,2
};


void setup() { 
} 
void loop() {
  for (int i = 0; i < 49; i++) {
    
    int Durations = 1000/noteDurations[i];    // 음계의 음길이 계산
    tone(buzzerPin, melody[i], Durations);    
    int pauseBetweenNotes = Durations *1.3 ;
    delay(1000);
    noTone(buzzerPin);
  }

}

답글 남기기

이메일 주소는 공개되지 않습니다.