소리감지 센서는 마이크에 소리가 입력될 때 소리의 세기에 따라 변하는 전압 변화를 측정하여 소리의 크기를 판별하기 위한 센서이다

 

위와 같이 Out 단자가 하나인 모듈도 있고 아래와 같이 D0와 A0 즉 디지털 출력단자와 아날로그 출력단자 두개로 나누어져 있는 경우도 있다. 출력단자가 하나밖에 없거나 D0단자로는 소리가 일정 수준 이상이 되었을 때 한가지 동작을 할 수 있지만,  아날로그 출력단가 있는 경우에는 소리의 세기에 따라 각각 다른 동작을 할 수가 있다.( 예를 들어 소리의 크기에 따라 켜지는 LED의 숫자를 다르게 하는 사운드 레벨메터 등)  

 

 

구조 및 사양

 

 

 - VCC단자와 GND단자에 3~5V 전원을 공급하면 마이크에 입력되는 소리의 크기가 A0단자로 출력되고 일정 크기 이상되면 D0단자에 HIGH신호가 출력되고 감지표시 LED에 불이 들어 오게 된다.

 

- 어느 정도 크기 이상의 소리가 감지되면 D0 신호를 출력할 것인지 비율은 감도 조절 볼륨으로 조절할 수 있다.

 

 

아두이노와의 연결

 

위와 같이 디지털 출력 D0 단자를 아두이노 디지털 I/O핀에 연결하고 아날로그 출력단자(A0)는 아두이노 아날로그 입력 핀에 연결하면 된다. 

 

샘플프로그램

 

감지되는 사운드 크기를 표시하고, 일정 크기 이상이 되어 디지털감지 신호가 입력되면 이를 표시하는 프로그램

  1. zak2korea 2019.06.09 19:29

    int SensorA0 = 0;
    int SensorD0 = 2;

    여기에서 D0은 디지털 단자이기때문에 2; 가 맞는데 A0은 아날로그 단자라서 A0이 맞지 않나요?

    int SensorA0 =A0;
    int SensorD0 = 2;

+ Recent posts