본문 바로가기

Arduino/[2] Arduino Module

[Arduino Module] #17. 사운드 센서

728x90
반응형

음성감지센서(사운드센서)

음성감지센서(KY-037)센서는 소리에 반응하여 디지털 값을 출력하는 센서이다.

소리를 감지시 디지털값으로 들어오며, 소리의 민감도를 조절할수있는 `음성감도조정볼륨`을 포함하고 있는 모듈이다.

 

소리의 감지유,무만 판단해주는 디지털방식과 소리의세기를 감지할수 있는 아날로그 방식이 둘다 사용가능하다.

 

사운드 센서의 종류에는 다음과 같이 두 가지 종류가 있다.

https://blog.naver.com/dokkosam/221224469780

 

사운드 센서 고감도 사운드 센서
마이크로폰 사운드 감지 센서

마이크로폰 사운드 감지 센서에 대한 자료는 없어 고감도 사운드 센서에 대한 설정을 먼저 다루도록 하겠다.

사운드 센서의 구조

https://blog.naver.com/dokkosam/221224469780

이와 같이 고감도 사운드 센서는 아날로그 값과 디지털 값으로 모두 소리를 감지할 수 있으며, 아날로그 값의 경우 소리의 미세한 값을 숫자로 나타낼 수 있다. 디지털 값의 경우 소리의 여부를 'HIGH, LOW로 나타낸다.

회로도

출처: https://blog.naver.com/dokkosam/221224469780

VCC 5V
GND GND
D0 PIN 2

아두이노 실행 코드(디지털)

 

#define SOUND 2 //OUT 핀 설정(디지털신호 받는 핀)
int LED = 13;
void setup() {
    Serial.begin(9600);
    pinMode(SOUND, INPUT);
    pinMode(LED,OUTPUT);
}
void loop() {

  if (digitalRead(SOUND) == HIGH) {
        Serial.println("SOUND ON");
        digitalWrite(LED,HIGH);
        // for(int i=0;i<256;i++){analogWrite(LED,i); delay(30);}
        
  }
  else {
    // for(int i=255;i>=0;i--){analogWrite(LED,i); delay(30);}
    Serial.println("Muted");
    digitalWrite(LED,LOW);
  }
  delay(100);
}

아두이노 실행 코드(아날로그)

#define SOUND A0 //OUT 핀 설정(디지털신호 받는 핀)
int LED = 13;
void setup() {
    Serial.begin(9600);
    pinMode(SOUND, INPUT);
    pinMode(LED,OUTPUT);
}
void loop() {

  float val = analogRead(SOUND);
  // Serial.print("Sound Level: ");
  Serial.println(val);
  delay(1000);
}
728x90
반응형
댓글