' + re_word; if(data.autoList[i].PROD_NAME != ''){ html += ' '+data.autoList[i].PROD_NAME+''; } html += '
' html += '' + comma(Math.floor(data.autoList[i].PROD_PRICES)) + ' 원'; html += '' + re_word + '
'; html += '' + comma(Math.floor(data.resultList[i].prod_priceS)) + ' 원'; html += ''+data.catgStep1List[i].split('@@')[1]+'
'; html += '
안녕하세요, 나도메이커입니다.
오늘은 전자부품 기초 시리즈로, 우리 주변의 소리를 감지하고 수치화할 수 있는 사운드 감지 센서(Sound Detection Sensor)에 대해 아주 깊이 있게 알아보겠습니다. 소리의 원리부터 아두이노를 활용한 재미있는 실습까지 알차게 준비했으니 끝까지 따라와 주세요!
사운드 감지 센서는 이름 그대로 공기 중에서 발생하는 물리적인 소리(음파)를 감지하여 우리가 제어할 수 있는 전기적 신호로 변환해 주는 전자부품입니다.
우리가 일상에서 흔히 사용하는 스마트폰의 마이크부터, 특정 주파수의 사람 목소리만 정밀하게 분리해 내는 고도의 음성인식 센서, 그리고 박수 소리처럼 단순하고 큰 충격음만 감지하는 모듈형 센서까지 사운드 감지 센서의 종류는 매우 방대합니다.

이번 실습 시간에서는 주변 음향의 강도(소리의 크기)를 아날로그 전압 값으로 바꾸어 직관적으로 보여주는 표준형 사운드 감지 모듈을 사용해 보겠습니다. 이 센서는 코딩 입문자나 학교 동아리 프로젝트에서 널리 쓰이며, 소리의 크기에 따라 다채로운 액션을 코딩하기에 매우 적합합니다.
사운드 감지 센서의 핵심 부품은 바로 마이크로폰(Microphone)입니다. 줄여서 '마이크'라고 부르는 이 장치는 어떻게 허공에 흩어지는 소리를 전기 신호로 바꿀 수 있을까요?

사람의 목소리나 박수 소리, 음악 소리 등 모든 소리는 본질적으로 공기 입자를 진동시켜 퍼져나가는 '파동(Wave)' 형태의 에너지입니다. 이 파동이 마이크로폰 내부로 들어오게 되면 아주 얇고 민감한 금속판인 다이어프램(Diaphragm, 진동판)을 때리게 됩니다.

다이어프램은 미세한 공기의 흔들림에도 즉각적으로 반응하여 앞뒤로 진동하도록 설계되어 있습니다. 이 다이어프램의 뒷면에는 가느다란 구리 선이 감긴 코일(Coil)이 부착되어 있고, 그 주변에는 영구 자석(Magnet)이 배치되어 있습니다.

공기의 진동으로 인해 다이어프램이 흔들리면, 부착된 코일도 자석의 자기장 속에서 함께 움직이게 됩니다. 이때 발생하는 물리적 법칙이 바로 '전자기 유도(Electromagnetic Induction)' 현상입니다. 자기장 내부에서 도선(코일)이 움직이면서 미세한 전류가 생성되는 것입니다.
결론적으로, 소리라는 기계적 진동 에너지가 센서 내부의 구조를 거쳐 전기적 신호 에너지로 변환되는 놀라운 물리적 과정을 거치게 됩니다.
이렇게 만들어진 소리 감지 센서는 우리 삶의 다양한 영역에서 안전과 편의를 책임지고 있습니다.

가장 친숙한 스마트홈 환경에서는 사용자의 음성 명령("불 꺼줘", "음악 틀어줘")을 인식하는 AI 스피커에 핵심적으로 사용됩니다. 또한, 홈 시큐리티(보안) 분야에서는 침입자가 창문이나 유리를 깰 때 발생하는 특정 고주파 파열음을 감지하여 즉각적으로 알람을 울리는 시스템에도 이 센서가 활용됩니다.
나아가 고도화된 산업 현장(스마트 팩토리)에서는 기계 설비 내부에서 발생하는 미세한 이상 소음을 사운드 센서로 상시 감지합니다. 평소와 다른 패턴의 마찰음이나 파열음이 발생하면 이를 즉시 분석하여 고장 나기 전에 미리 기계를 정비하는 '예지 보전(Predictive Maintenance)' 시스템의 귀 역할을 톡톡히 하고 있습니다.
이제 본격적인 실습을 진행해 보겠습니다! 사운드 감지 센서를 사용하여, 주변 소리의 크기(Sound Level)에 따라 RGB LED의 색상이 카멜레온처럼 변하는 재미있는 '스마트 사운드 레벨미터'를 구현해 볼 것입니다.
실습 전에 필요한 전자부품들을 확인해 볼까요?

▣ 실습 준비물
- 아두이노 우노 보드
- 사운드 감지 센서 모듈
- 브레드보드 (빵판)
- 점퍼 케이블 세트
- RGB LED (3색 LED)
- 220Ω(옴) 저항 3개
▣회로 핀 연결 방법

[사운드 감지 센서 연결]
센서의 VCC 핀과 GND 핀은 아두이노의 5V와 GND 핀에 각각 연결하여 전원을 공급합니다. 소리의 크기를 연속적인 아날로그 값으로 정밀하게 읽어오기 위해, 센서의 A0 (Analog Out) 핀을 아두이노의 아날로그 핀인 A0에 연결합니다.
[RGB LED 연결]
RGB LED의 Red, Green, Blue 각 핀은 과전류로 인한 파손을 막기 위해 반드시 220Ω 저항을 거쳐 아두이노의 디지털 9, 10, 11번 핀(PWM 지원 핀)에 연결합니다. 가장 긴 핀인 공통 핀(Common Anode 기준)은 VCC(5V)에 연결해 줍니다.
▣아두이노 코드 작성 및 업로드
아두이노 IDE를 열고 아래의 코드를 작성하여 업로드해 주세요.
#define SOUND_SENSOR_PIN A0 // 사운드 센서 아날로그 핀 정의
#define RED_PIN 9 // RGB LED 빨간색 제어 핀
#define GREEN_PIN 10 // RGB LED 초록색 제어 핀
#define BLUE_PIN 11 // RGB LED 파란색 제어 핀
void setup() {
Serial.begin(9600); // 센서 값 확인을 위한 시리얼 통신 시작
pinMode(SOUND_SENSOR_PIN, INPUT); // 센서 핀을 입력 모드로 설정
pinMode(RED_PIN, OUTPUT); // LED 핀을 출력 모드로 설정
pinMode(GREEN_PIN, OUTPUT);
pinMode(BLUE_PIN, OUTPUT);
Serial.println("사운드 센서 및 RGB LED 초기화 완료");
}
void loop() {
// analogRead() 함수로 0~1023 사이의 아날로그 수치를 읽어옵니다.
int soundLevel = analogRead(SOUND_SENSOR_PIN);
Serial.print("현재 사운드 레벨: ");
Serial.println(soundLevel);
// 조건문을 활용하여 사운드 레벨의 크기에 따라 LED 색상 변경
if (soundLevel < 520) {
// 조용할 때 (임계값 520 미만)
setColor(255, 0, 255); // 초록색 (Common Anode 방식이므로 0이 켜짐)
}
else if (soundLevel >= 516 && soundLevel < 521) {
// 중간 크기의 소리 발생 시
setColor(255, 255, 0); // 파란색
delay(500); // 색상을 잠시 유지하기 위한 대기 시간
}
else {
// 아주 큰 소리 발생 시
setColor(0, 255, 255); // 빨간색
}
delay(100); // 센서 값의 과도한 출력을 방지하기 위한 짧은 딜레이
}
// RGB 색상을 한 번에 제어하기 위해 만든 사용자 정의 함수
void setColor(int red, int green, int blue) {
analogWrite(RED_PIN, red);
analogWrite(GREEN_PIN, green);
analogWrite(BLUE_PIN, blue);
}
▣동작 확인 및 주의사항
아두이노에 코드를 업로드한 뒤, 돋보기 모양의 '시리얼 모니터' 창을 열어보세요.
조용한 상태에서는 일정한 수치가 출력되다가, 센서 근처에서 박수를 치거나 목소리를 크게 내면 soundLevel 값이 급격하게 변화하는 것을 확인할 수 있습니다. 이때 코딩해 둔 조건문에 따라 RGB LED의 색상이 초록색/파란색/빨간색으로 화려하게 변하게 됩니다!
※ 여기서 가장 중요한 핵심 주의사항이 있습니다.
제조사나 실내 환경의 기본 소음도에 따라 센서가 기본적으로 읽어 들이는 기준 값이 모두 다릅니다. 따라서 시리얼 모니터에 찍히는 평상시 숫자를 먼저 확인하신 후, 코드 내의 기준 임계값(현재 516, 520으로 설정된 부분)을 여러분의 환경에 맞게 직접 수정해 주셔야 완벽하게 동작합니다. 만약 반응이 너무 둔하다면, 센서 모듈 상단에 달린 파란색 네모 부품(가변저항)의 일자 나사를 작은 드라이버로 살살 돌려 물리적인 민감도를 세밀하게 조절할 수도 있습니다.
오늘은 전자기 유도 원리가 숨어있는 사운드 감지 센서의 동작 원리와 아두이노 코딩 활용법까지 폭넓게 다루어 보았습니다. 다음 시간에는 사람의 심장 박동을 측정하는 '펄스(Pulse) 센서'의 흥미로운 원리에 대해 알아보겠습니다! 그럼 모두 다음 포스팅에서 만나요 안녕~!