소리 감지 센서 (LM393)
소리감지 센서는 주변에서 발생하는 소리를 마이크로 모아 그 크기를 측정하는 기본 센서 입니다. “Sound Detection Sensor”로 검색하면 저렴한 모듈들을 많이 찾을 수 있습니다.
기본 센서답게(?) 사용방법도 간단한 편입니다.
센서의 VCC, GND로 전원을 공급하고 센서의 아날로그 출력 핀을 아두이노의 아날로그 핀(A0~A5)으로 연결해줍니다. 그럼 주변 소리에 따라 아날로그 핀으로 들어오는 전압이 변화하고, 아날로그 핀을 읽었을 때 값이 바뀌게 됩니다.
Arduino Nano | Sound Sensor |
5V | +5V |
D3 | OUT (A0 or Analog out) |
GND | GND |
원하는 소리가 잘 인식되지 않는 경우 가변저항을 돌려 감도를 조절하면 됩니다.
소스코드는 아래를 참고하세요. 일정 크기 이상의 소리가 들어오면 아두이노에 내장된 LED를 깜빡이는 코드입니다.
int led = 13; int threshold = 22; //Change This int volume; void setup() { Serial.begin(9600); // For debugging pinMode(led, OUTPUT); } void loop() { volume = analogRead(A0); // Reads the value from the Analog PIN A0 /* //Debug mode Serial.println(volume); delay(100); */ if(volume>=threshold){ digitalWrite(led, HIGH); //Turn ON Led } else{ digitalWrite(led, LOW); // Turn OFF Led } }
만약 하고자 하는 것이 음성인식이라면 얘기가 틀려집니다. 음성인식과 같은 멀티미디어, 신호처리 과정은 아두이노로 수행하기 버거운 작업입니다. 이 경우는 휴대폰에서 음성인식과 같은 처리를 수행하고 그 결과값만 아두이노로 전송해주는 형태로 구현하는 것이 좋을 것 같습니다.