Skip to main content

Interfacing Sound Sensor with Raspberry Pi 3

๐Ÿ”น Overview

The KY-037 is a high-sensitivity sound detection sensor that can detect noise levels in the environment. It provides both analog and digital outputs. In this tutorial, we’ll interface the digital output of KY-037 with Raspberry Pi 3 Model B+ (without using an ADC like MCP3008) and detect sound events.

๐Ÿ› ️ Components Required

✔️ Raspberry Pi 3 Model B+
✔️ KY-037 Sound Sensor
✔️ Breadboard & Jumper Wires

๐Ÿ”Œ Circuit Diagram

In this project, we'll use only the D0 (Digital Output) pin of the KY-037 sensor, which can be connected directly to a GPIO pin on the Raspberry Pi.

๐Ÿ”— KY-037 to Raspberry Pi Connections 



KY-037 Pin               Raspberry Pi 3 (BCM Pin)
VCC                           3.3V
GND GND
D0 GPIO 17 (Physical Pin 11)

๐Ÿ“œ Python Code to Detect Sound Events

Save the following Python code as ky037_digital.py and run it on your Raspberry Pi.

import RPi.GPIO as GPIO
import time

SOUND_SENSOR_PIN = 17  # GPIO17

GPIO.setmode(GPIO.BCM)
GPIO.setup(SOUND_SENSOR_PIN, GPIO.IN)

print("Sound Sensor Test (KY-037 - Digital Output)")
try:
    while True:
        if GPIO.input(SOUND_SENSOR_PIN) == GPIO.LOW:
            print("Sound Detected!")
        time.sleep(0.1)
except KeyboardInterrupt:
    GPIO.cleanup()
    print("\nProgram stopped.")

๐Ÿ’ก How It Works

The KY-037 sensor outputs a LOW signal on the D0 pin when the sound level exceeds a set threshold. This signal is read by Raspberry Pi's GPIO pin. The Python script checks for a LOW signal and prints a message when sound is detected.

๐ŸŽฏ Applications

✅ Voice-activated triggers
✅ Clap detection
✅ Basic sound alarms and alerts

๐Ÿ“ เคฎเคฐाเค ीเคค เคธเคฎเคœाเคตเคฃी (Marathi Explanation)

๐Ÿ”น เคชเคฐिเคšเคฏ
KY-037 เคนा เคเค• เค‰เคš्เคš เคธंเคตेเคฆเคจเคถीเคฒเคคेเคšा เคธाเค‰ंเคก เคธेเคจ्เคธเคฐ เค†เคนे เคœो เค†เคตाเคœाเคšी เคชाเคคเคณी เค“เคณเค–เคคो. เคฏाเคฎเคง्เคฏे analog เค†เคฃि digital เคฆोเคจ्เคนी เค†เค‰เคŸเคชुเคŸ เค…เคธเคคाเคค. เคฏा เคŸ्เคฏुเคŸोเคฐिเคฏเคฒเคฎเคง्เคฏे เค†เคชเคฃ KY-037 เคšा เคซเค•्เคค เคกिเคœिเคŸเคฒ เค†เค‰เคŸเคชुเคŸ (D0) เคตाเคชเคฐूเคจ เคฐाเคธ्เคชเคฌेเคฐी เคชाเคฏ 3 B+ เคถी เค•เคจेเค•्เคŸ เค•เคฐเคฃाเคฐ เค†เคนोเคค.

๐Ÿ› ️ เค†เคตเคถ्เคฏเค• เค˜เคŸเค•

✔️ เคฐाเคธ्เคชเคฌेเคฐी เคชाเคฏ 3 B+
✔️ KY-037 เคธाเค‰ंเคก เคธेเคจ्เคธเคฐ
✔️ เคฌ्เคฐेเคกเคฌोเคฐ्เคก เค†เคฃि เคœเคฎ्เคชเคฐ เคตाเคฏเคฐ

๐Ÿ”Œ เคธเคฐ्เค•िเคŸ เค•เคจेเค•्เคถเคจ

KY-037 เคšा D0 เคชिเคจ เคฐाเคธ्เคชเคฌेเคฐी เคชाเคฏ เคš्เคฏा GPIO17 เคฒा เคœोเคกा.

KY-037 เคชिเคจ เคฐाเคธ्เคชเคฌेเคฐी เคชाเคฏ เค•เคจेเค•्เคถเคจ
VCC 3.3V
GND GND
D0 GPIO 17 (เคชिเคจ 11)

๐Ÿ“œ เคชाเคฏเคฅॉเคจ เค•ोเคก

เค–ाเคฒिเคฒ เค•ोเคก ky037_digital.py เคจाเคตाเคจे เคธेเคต्เคน เค•เคฐा เค†เคฃि เคšाเคฒเคตा:

import RPi.GPIO as GPIO
import time

SOUND_SENSOR_PIN = 17  # GPIO17

GPIO.setmode(GPIO.BCM)
GPIO.setup(SOUND_SENSOR_PIN, GPIO.IN)

print("Sound Sensor Test (KY-037 - Digital Output)")
try:
    while True:
        if GPIO.input(SOUND_SENSOR_PIN) == GPIO.LOW:
            print("เค†เคตाเคœ เค†เคขเคณเคฒा!")
        time.sleep(0.1)
except KeyboardInterrupt:
    GPIO.cleanup()
    print("\nเคช्เคฐोเค—्เคฐॅเคฎ เคฅांเคฌเคฒा.")

 ๐Ÿ’ก เคนे เค•เคธे เค•ाเคฐ्เคฏ เค•เคฐเคคे?

KY-037 เคšा D0 เคชिเคจ เค†เคตाเคœाเคšी เค เคฐाเคตिเค• เคชाเคคเคณी เค“เคฒांเคกเคฒ्เคฏाเคตเคฐ LOW เคธिเค—्เคจเคฒ เคฆेเคคो. เคนा เคธिเค—्เคจเคฒ เคฐाเคธ्เคชเคฌेเคฐी เคชाเคฏ เคตाเคšเคคो เค†เคฃि เคค्เคฏा เคตेเคณी เคช्เคฐिंเคŸ เคธ्เคŸेเคŸเคฎेंเคŸ เคฆाเค–เคตเคคो.

๐ŸŽฏ เค‰เคชเคฏोเค—
✅ เคต्เคนॉเค‡เคธ-เคŸ्เคฐिเค—เคฐ เคฏंเคค्เคฐเคฃा
✅ เคŸाเคณी เค•िंเคตा เค†เคตाเคœ เค“เคณเค–เคฃे
✅ เคฌेเคธिเค• เคธाเค‰ंเคก เค…เคฒाเคฐ्เคฎ्เคธ

Comments

Popular posts from this blog

Interfacing Load Cell with Raspberry Pi 3 (via HX711) ⚖️

Interfacing Load Cell with Raspberry Pi 3 (via HX711) ⚖️ Interfacing Load Cell with Raspberry Pi 3 (via HX711) ⚖️ A load cell is a transducer that converts force (weight) into an electrical signal. The HX711 is a precision 24-bit analog-to-digital converter (ADC) designed for weigh scales. Today we’ll connect a load cell to Raspberry Pi 3 using the HX711 module. ๐Ÿงช ๐Ÿ”ง Components Required Component Quantity Raspberry Pi 3 1 Load Cell 1 HX711 Module 1 Jumper Wires 6 Breadboard (optional) 1 ๐Ÿ”Œ Pin Connections HX711 Pin Raspberry Pi Pin Pin Number VCC 5V Pin 2 GND Ground Pin 6 DT GPIO 5 Pin 29 SCK GPIO 6 Pin 31 Figure: Load Cell connected to Raspberry Pi 3 via HX711 ๐Ÿ’ป Python Code from hx711 import HX711 import RPi.GPIO as GPIO import time hx = HX711(dout_pin=5, pd_sck_pin=6) hx.set_reading_format("MSB", "MSB") hx.set_reference_unit(1) hx.reset()...

Interfacing Water Flow Sensor with Raspberry Pi 3 ๐Ÿšฟ

Interfacing Water Flow Sensor with Raspberry Pi 3 ๐Ÿšฟ ๐ŸŽฏ Objective To measure the flow rate of water using a Water Flow Sensor (YF-S201) and Raspberry Pi 3. Useful in smart irrigation and water management systems. ๐Ÿงฐ Components Required Component Quantity Raspberry Pi 3 1 YF-S201 Water Flow Sensor 1 10K Pull-down Resistor 1 Jumper Wires As required Breadboard 1 ⚡ Circuit Connections Sensor Pin Connect To Red (VCC) 5V (Raspberry Pi) Black (GND) GND (Raspberry Pi) Yellow (Pulse Out) GPIO18 (Pin 12) with pull-down resistor ๐Ÿง  Python Code import RPi.GPIO as GPIO import time FLOW_SENSOR = 18 pulse_count = 0 def countPulse(channel): global pulse_count pulse_count += 1 GPIO.setmode(GPIO.BCM) GPIO.setup(FLOW_SENSOR, GPIO.IN, pull_up_down=GPIO.PUD_DOWN) GPIO.add_event_detect(FLOW_SENSOR, GPIO.FALLING, callback=countPulse) try: while True: pulse_count = 0 time.sleep(1) flow_rate = (pulse_count / 7.5) ...