아두이노 고감도 음향 사운드 센서 소리감지 모듈 | Arduino - Sound Sensor

음향 센서는 주변 환경에서 소리의 존재를 감지할 수 있습니다. 그것은 박수로 활성화되는 불빛이나 소리에 반응하는 애완동물 급식기 같은 소리 반응 프로젝트를 만드는데 사용될 수 있습니다.

이 튜토리얼에서는 아두이노와 사운드 센서를 사용하여 소리를 감지하는 방법을 배우려고 합니다. 구체적으로, 배울 내용은 다음과 같습니다:

Arduino sound sensor

그 후, 소리를 감지하면 LED나 릴레이를 통해 불을 켜거나 서보 모터를 회전시키는 등 코드를 조정하여 활성화할 수 있습니다.

준비물

1×Arduino Uno Amazon
1×USB 2.0 cable type A/B 쿠팡 | Amazon
1×Digital Sound Sensor 쿠팡 | Amazon
1×Analog Sound Sensor Amazon
1×Jumper Wires Amazon
1×(Optional) 9V Power Adapter for Arduino Amazon
1×(Recommended) Screw Terminal Block Shield for Arduino Uno 쿠팡 | Amazon
1×(Recommended) Breadboard Shield For Arduino Uno 쿠팡 | Amazon
1×(Recommended) Enclosure For Arduino Uno Amazon
공개: 이 섹션에서 제공된 링크 중 일부는 제휴 링크입니다. 이 링크를 통해 구매한 경우 추가 비용없이 수수료를 받을 수 있습니다. 지원해 주셔서 감사합니다.

사운드 센서에 관하여

소리 센서는 주변 환경에 소리의 존재를 감지하는 데 사용될 수 있습니다. 소리 센서 모듈에는 두 가지 유형이 있습니다:

  • 디지털 사운드 센서 모듈: 디지털 신호값(켜짐/꺼짐)을 출력합니다.
  • 아날로그 사운드 센서 모듈: 아날로그 및 디지털 신호값을 모두 출력합니다.

디지털 출력의 민감도는 내장형 포텐쇼미터를 사용하여 조정할 수 있습니다.

디지털 사운드 센서 핀배열

디지털 사운드 센서에는 세 개의 핀이 포함됩니다:

  • VCC 핀: VCC(3.3V에서 5V)에 연결해야 합니다.
  • GND 핀: GND(0V)에 연결해야 합니다.
  • OUT 핀: 출력 핀입니다. 조용하면 HIGH, 소리가 감지되면 LOW입니다. 이 핀은 Arduino의 입력 핀에 연결해야 합니다.
Sound Sensor Pinout
image source: diyables.io

사운드 센서에는 감도를 조절할 수 있는 내장형 포텐시오미터도 있습니다. 또한, 이것은 두 개의 LED 지시등을 가지고 있습니다:

  • 전력을 위한 LED 표시등 하나
  • 소리 상태를 위한 LED 표시등 하나: 소리가 있을 때 켜짐, 조용할 때 꺼짐

아날로그 사운드 센서 핀배열

아날로그 사운드 센서는 네 개의 핀을 포함합니다:

  • + 핀: 5V에 연결되어야 합니다.
  • G 핀: GND(0V)에 연결되어야 합니다.
  • DO 핀: 디지털 출력 핀입니다. 조용할 때는 HIGH, 소리가 감지되면 LOW입니다. 이 핀은 아두이노의 디지털 입력 핀에 연결되어야 합니다.
  • AO 핀: 아날로그 출력 핀입니다. 소리 수준을 나타내는 아날로그 값을 출력합니다. 이 핀은 아두이노의 아날로그 입력 핀에 연결되어야 합니다.
analog sound sensor Pinout
image source: diyables.io

아날로그 사운드 센서에는 디지털 출력에 대한 민감도를 쉽게 조정할 수 있는 편리한 내장형 가변 저항이 있습니다. 또한, 이 제품은 두 개의 LED 표시등이 함께 제공됩니다:

  • 하나의 LED 지시등이 전원 상태를 보여줍니다.
  • 다른 LED 지시등은 소리 상태를 나타내며, 소리가 감지되면 켜지고 조용할 때는 꺼집니다.

작동 원리

모듈에는 소리 민감도를 설정하기 위한 내장형 포텐쇼미터가 있습니다.

  • 소리가 감지되면 센서의 출력 핀은 LOW입니다.
  • 소리가 감지되지 않으면 센서의 출력 핀은 HIGH입니다.

선연결

Arduino Sound Sensor Wiring Diagram

이 이미지는 Fritzing을 사용하여 만들어졌습니다. 이미지를 확대하려면 클릭하세요.

진짜 배선:

Arduino Sound Sensor connection

사운드 센서를 위한 프로그래밍 방법

  • Arduino 핀을 디지털 입력 모드로 초기화하는 방법은 pinMode() 함수를 사용합니다. 예를 들어, 핀 5
pinMode(5, INPUT);
  • digitalRead() 함수를 사용하여 아두이노 핀의 상태를 읽습니다.
int soundState = digitalRead(5);

아두이노 코드 - 소리 감지

/* * 이 Arduino 코드는 newbiely.kr 에서 개발되었습니다 * 이 Arduino 코드는 어떠한 제한 없이 공개 사용을 위해 제공됩니다. * 상세한 지침 및 연결도에 대해서는 다음을 방문하세요: * https://newbiely.kr/tutorials/arduino/arduino-sound-sensor */ // 사운드 센서의 OUT 핀에 연결된 아두이노의 핀 #define SENSOR_PIN 5 int lastState = HIGH; // 입력 핀에서의 이전 상태 int currentState; // 입력 핀에서의 현재 읽기 값 void setup() { // 초당 9600비트로 시리얼 통신 시작하기: Serial.begin(9600); // 아두이노의 핀을 입력으로 초기화하기 pinMode(SENSOR_PIN, INPUT); } void loop() { // 입력 핀의 상태 읽기: currentState = digitalRead(SENSOR_PIN); if (lastState == HIGH && currentState == LOW) Serial.println("The sound has been detected"); else if (lastState == LOW && currentState == HIGH) Serial.println("The sound has disappeared"); // 마지막 상태 저장 lastState = currentState; }

사용 방법

  • 위의 코드를 복사하고 Arduino IDE로 열기
  • Arduino IDE에서 Upload 버튼을 클릭해 코드를 Arduino에 업로드하기
  • 소리 센서 앞에서 손뼉을 치기
  • 시리얼 모니터에서 결과를 확인하기.
COM6
Send
The sound has been detected The sound has disappeared The sound has been detected The sound has disappeared
Autoscroll Show timestamp
Clear output
9600 baud  
Newline  

제발 기억하세요. 소리가 있을 때 LED 상태가 계속 켜져 있거나 꺼져 있으면, 센서의 소리 감도를 미세 조정하기 위해 포텐쇼미터를 조절할 수 있습니다.

이제 소리가 감지되었을 때 LED 또는 빛을 활성화하거나 서보 모터를 회전시키는 코드를 맞춤 설정할 수 있습니다. 자세한 정보와 단계별 지침은 이 튜토리얼 끝부분에 제공된 튜토리얼에서 찾을 수 있습니다.

문제 해결

사운드 센서가 제대로 작동하지 않으면 다음 단계를 시도해보세요:

  • 진동 줄이기: 사운드 센서는 기계적 진동과 바람 소음에도 민감합니다. 사운드 센서를 단단한 표면에 설치하면 이러한 진동을 최소화하는 데 도움이 될 수 있습니다.
  • 감지 범위 고려하기: 이 사운드 센서는 감지 범위가 짧다는 점을 명심하세요, 약 10인치입니다. 정확한 읽기 값을 얻으려면 사운드 센서에 가까이 소음을 내야 할 것입니다.
  • 전원 공급 확인하기: 사운드 센서가 아날로그 회로이기 때문에 전원 공급 잡음에 민감합니다. 전원 공급이 깨끗한지 확인하세요.

동영상

비디오 제작은 시간이 많이 걸리는 작업입니다. 비디오 튜토리얼이 학습에 도움이 되었다면, YouTube 채널 을 구독하여 알려 주시기 바랍니다. 비디오에 대한 높은 수요가 있다면, 비디오를 만들기 위해 노력하겠습니다.

※ OUR MESSAGES

  • Please feel free to share the link of this tutorial. However, Please do not use our content on any other websites. We invested a lot of effort and time to create the content, please respect our work!