일정 크기 이상의 소리를 감지하면 반응하는 소리 검출 센서를 통해 소리 발생 유무를 탐지할 수 있다.
▶ 이 가이드를 따라하면
- 특정 소음 수준을 미리 지정하고, 그 이상 소음이 발생하면 DOUT으로 HIGH를 출력하는 FC-04 센서를 다룰 수 있다..
▶ 기존 읽어보면 좋을 강의
- 음량 측정 센서 MAX4466 : //bbangpan.tistory.com/23
▶ 부품 설명 및 회로 구성
FC-04는 특정 크기의 소리가 발생했는지를 감지할 수 있는 저가의 센서이다(Aliexpress에서 개당 천 원이 넘지 않는다). 다만 작동은 단순하고 꽤 정확하다. 곧바로 모듈 사진을 보면 소형 마이크로폰(오른쪽)과 음량 기준을 조절할 수 있는 나사 조절부, 전원 표시 LED 및 임계치 소리를 넘었는지 표기하는 LED등으로 이루어져있음을 알 수 있다.
[FC-04 센서, 맨 오른쪽 마이크로폰, 가운데 조절나사, 왼쪽에 하단 전원 LED, 왼쪽 상단 소리감지 여부 LED로 구성]
[FC-04 센서, 모듈 가운데 FC-04가 보이도록 다른 각도로 촬영, ]
나사를 돌려 조절하면 반시계방향으로 돌릴시 민감해지고, 시계 방향으로 돌릴시 둔감해진다. 꽤 작은 소리부터 꽤 큰소리까지 모두 셋팅 할 수 있었다. 그리고 내부적으로 별도 설정한 소리 레벨에 따라 그보다 크면 왼쪽 상단부 LED에 불이 들어와서 시각적으로 센서 작동 여부를 잘 알 수 있다. 이렇게 감지되면 또한 모듈의 OUT핀에 HIGH 전압이 걸리는 것을 감지해서, 소리 감지 여부를 아두이노 내에서도 확인할 수 있게 된다.
배선은 간단해서 VCC->5V, GND->GND, OUT->D7 정도로 연결하자.
[OUT->D7으로 연결한 예시]
[나사를 돌려주면 소리 반응 민감도를 강하게 혹은 약하게 할 수 있다. 살짝 돌려도 민감도가 많이 변한다.]
실행 코드는 별 것 없이 Arduino의 데이터핀 읽기 샘플을 실행했다. //www.arduino.cc/reference/en/language/functions/digital-io/digitalread/를 참조하자. D7의 신호를 읽어서 1과 0일 때 각각 아두이노 보드의 LED를 껐다 켜준다. 즉, 소리 감지 여부를 바로 LED로 볼 수 있는데, 아래 코드를 실행하면 센서 모듈의 반응 LED와 같은 타이밍이 불빛이 바뀌는 것을 볼 수 있다. 단 주의할 것은 아래 예시는 기본 예제를 copy&paste하다보니 소리가 날 때 아두이노 보드의 LED가 꺼진다. 여하튼 소리의 변화가 특정 임계치 위아래로 가면 아두이노 보드의 LED도 따라서 반응하는 것을 알 수 있다.
이 모듈을 이용해 적절히 임계치를 설정해주면, 예컨데 큰 박수 소리 등의 어떤 소리 행동에 반응하는 기능을 만들 수 있다.
▶ 구매 가이드
Sound Detection Sensor : //www.aliexpress.com/af/sound-detection-sensor.html?d=y&origin=n&SearchText=sound+detection+sensor&catId=0&initiative_id=SB_20200715065317 ($1전후)
▶강의키워드
sound detector sensor, sound sensor, sound detection sensor, 사운드 감지 센서, 소리 검출 센서, 소리 감지 센서, 소리 반응 센서, 음성 감지 센서, FC-04, microphone, 아두이노