라즈베리 파이 소리 음성 사운드 센서

소리 센서는 주변의 소리 유무를 감지할 수 있는 기능을 가지고 있습니다. 이는 박수에 반응하여 불이 켜지거나 소리 신호에 반응하는 애완동물 급식기와 같은 소리에 반응하는 프로젝트를 만드는 데 사용할 수 있습니다.

이 튜토리얼은 라즈베리 파이와 소리 센서를 사용하여 소리를 감지하는 방법을 안내합니다. 우리는 다음을 탐구할 것입니다:

그 후, 코드 수정이 가능하며 소리 감지 시 LED나 조명을 (릴레이를 사용하여) 작동하도록 맞춤 설정할 수 있습니다. 또는 서보 모터의 회전을 제어하도록 구성할 수도 있습니다.

Hardware Preparation

1×Raspberry Pi 4 Model B Amazon
1×Sound Sensor 쿠팡 | Amazon
1×Jumper Wires Amazon
1×(추천) Screw Terminal Block Shield for Raspberry Pi 쿠팡 | Amazon
1×(추천) USB-C Power Cable with On/Off Switch for Raspberry Pi 4B Amazon
1×(추천) Plastic Case and Cooling Fan for Raspberry Pi 4B Amazon
1×(추천) HDMI Touch Screen Monitor for Raspberry Pi Amazon
공개: 이 섹션에서 제공된 링크 중 일부는 제휴 링크입니다. 이 링크를 통해 구매한 경우 추가 비용없이 수수료를 받을 수 있습니다. 지원해 주셔서 감사합니다.

사운드 센서에 대하여

소리 센서는 주변의 소리를 감지할 수 있습니다. 내장된 가변 저항기를 사용하여 센서의 민감도를 쉽게 조절할 수 있습니다.

핀아웃

음향 센서는 세 개의 핀을 포함합니다:

  • VCC 핀: VCC (3.3V ~ 5V)에 연결해야 합니다.
  • GND 핀: GND (0V)에 연결해야 합니다.
  • OUT 핀: 출력 핀입니다. 조용할 때 HIGH이며 소리가 감지되면 LOW입니다. 이 핀은 Raspberry Pi의 입력 핀에 연결해야 합니다.
사운드 센서 핀아웃
image source: diyables.io

소리 센서에는 감도를 조절할 수 있는 편리한 내장 포텐셔미터가 있습니다. 또한, 두 개의 LED 표시등이 있습니다:

  • 하나의 LED는 전원 상태를 나타냅니다.
  • 다른 LED는 소리 상태를 나타내며, 소리가 있을 때 켜지고 조용할 때 꺼집니다.

작동 방식

모듈에는 사운드 감도를 조절할 수 있는 편리한 가변 저항기가 포함되어 있습니다. 센서의 출력 핀이 작동하는 방식은 다음과 같습니다:

  • 소리가 감지되면 출력 핀이 LOW로 설정됩니다.
  • 소리가 감지되지 않으면 출력 핀이 HIGH로 설정됩니다.

Wiring Diagram

라즈베리 파이 사운드 센서 배선도

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

배선 구성을 간단하고 체계적으로 만들기 위해, Raspberry Pi용 스크루 터미널 블록 실드 사용을 권장합니다. 이 실드는 아래와 같이 더욱 안정적이고 관리하기 쉬운 연결을 제공합니다:

Raspberry Pi Screw Terminal Block Shield

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

  • GPIO.setup() 함수를 사용하여 Raspberry Pi 핀을 디지털 입력 모드로 초기화합니다.
GPIO.setup(SENSOR_PIN, GPIO.IN)
  • GPIO.input() 함수를 사용하여 Raspberry Pi 핀의 상태를 읽습니다.
sound_state = GPIO.input(SENSOR_PIN)

라즈베리 파이 코드 - 소리 감지

Detailed Instructions

  • Raspberry Pi에 Raspbian 또는 기타 Raspberry Pi 호환 운영 체제가 설치되어 있는지 확인하세요.
  • Raspberry Pi가 PC와 동일한 로컬 네트워크에 연결되어 있는지 확인하세요.
  • 라이브러리를 설치해야 하는 경우 Raspberry Pi가 인터넷에 연결되어 있는지 확인하세요.
  • Raspberry Pi를 처음 사용하는 경우, Raspberry Pi 설정 방법을 참조하세요.
  • Linux 및 macOS에서는 내장된 SSH 클라이언트를 사용하고, Windows에서는 PuTTY를 사용하여 SSH를 통해 PC를 Raspberry Pi에 연결하세요. SSH를 통해 PC를 Raspberry Pi에 연결하는 방법을 참조하세요.
  • RPi.GPIO 라이브러리가 설치되어 있는지 확인하세요. 설치되어 있지 않다면 다음 명령어를 사용하여 설치하세요:
sudo apt-get update sudo apt-get install python3-rpi.gpio
  • sound_sensor.py 파일을 만들고 다음 코드를 추가하세요:
# 이 Raspberry Pi 코드는 newbiely.kr 에서 개발되었습니다 # 이 Raspberry Pi 코드는 어떠한 제한 없이 공개 사용을 위해 제공됩니다. # 상세한 지침 및 연결도에 대해서는 다음을 방문하세요: # https://newbiely.kr/tutorials/raspberry-pi/raspberry-pi-sound-sensor import RPi.GPIO as GPIO from time import sleep # Set the Raspberry Pi GPIO pin number where the sound sensor is connected SOUND_SENSOR_PIN = 7 # Set the GPIO mode and configure the sound sensor pin as INPUT GPIO.setmode(GPIO.BCM) GPIO.setup(SOUND_SENSOR_PIN, GPIO.IN) # Initialize the previous state variable with the current state prev_sound_state = GPIO.input(SOUND_SENSOR_PIN) try: while True: # Read the current state of the sound sensor sound_state = GPIO.input(SOUND_SENSOR_PIN) # Check for a state change (LOW to HIGH or HIGH to LOW) if sound_state != prev_sound_state: if sound_state == GPIO.LOW: print("Sound detected!") # Update the previous state variable prev_sound_state = sound_state # Add a small delay to prevent continuous readings sleep(0.1) except KeyboardInterrupt: # Clean up GPIO settings when Ctrl+C is pressed GPIO.cleanup() print("\nExiting the program.")
  • 파일을 저장하고 터미널에서 다음 명령어를 실행하여 Python 스크립트를 실행하세요:
python3 sound_sensor.py
  • 소리 센서 앞에서 손뼉을 치세요
  • 터미널에서 결과를 확인하세요.
PuTTY - Raspberry Pi
Sound detected! Sound detected! Sound detected!

스크립트는 터미널에서 Ctrl + C를 누를 때까지 무한 루프 상태로 계속 실행됩니다.

소리가 있을 때에도 LED 상태가 계속 켜져 있거나 꺼져 있는 경우, 센서의 소리 민감도를 미세 조정하기 위해 가변 저항기를 조정해야 할 수 있음을 염두에 두십시오.

이제 우리는 코드를 수정하여 소리가 감지될 때 LED나 라이트를 작동시키도록 할 수 있는 유연성을 갖게 되었습니다. 추가로 서보 모터를 회전하도록 프로그래밍할 수도 있습니다. 자세한 지침 및 추가 정보는 이 가이드 끝에 제공된 튜토리얼을 참조하시기 바랍니다.

문제 해결

소리 센서의 기능에 문제가 있는 경우 다음 문제 해결 단계를 시도하십시오:

  • 진동 감소: 소리 센서는 기계적 진동과 바람 소리에 민감합니다. 안정적인 표면에 장착하면 이러한 방해를 최소화할 수 있습니다.
  • 감지 범위 고려: 이 소리 센서는 약 10인치의 제한된 감지 범위를 가지고 있음을 유의하십시오. 정확한 측정을 위해 소리 원천을 센서에 더 가깝게 배치하십시오.
  • 전원 공급 점검: 전원 공급이 안정적이고 전기적 잡음이 없는지 확인하십시오. 소리 센서는 아날로그 회로이므로 전원 공급 방해에 영향을 받을 수 있습니다.

이 단계를 따르면 사운드 센서의 잠재적인 문제를 해결할 수 있을 것입니다.

Video Tutorial

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

함수 참조

관련 튜토리얼