Introduction:
Decibel Meter using Sound Module & Arduino with LCD Display has been designed specifically for detecting the level of sound produced from any source and its intensity as well. The LCD panel directly displays the information about the sound level in numbers. The sound is distinguished as low, medium, and high-level sound on the basis of number. LED by glowing gives the indication that noise is so high. The set up is absolutely self-contained and requires no other apparatus.
Components Required
- ATmega328 Microcontroller or Arduino Board
- Arduino Sound Module
- 16*2 LCD
- Resistors: R1=100E, R2=1M, R3=330E
- Ceramic Capacitors: C1=C2=22pF
- Electrolytic Capacitors: 10uF/63v
- 16 MHz Crystal Oscillator
- Tactile Switch
- +5V Power supply
Decibel Meter using Sound Module & Arduino
So here we will learn how to interface the Sound Module with Arduino. For the breadboard assembly of the project with Arduino, you can assemble like this.
But if you want to reduce the cost and use it with an ATmega328 microcontroller you can use this circuit diagram. Here you will learn how to detect ambient sound and how to handle the signal generated by this module. This board along with the microphone, has a small built-in amplifier (integrated circuit LM393), because only the microphone would not be able to send data for Arduino. The connection scheme is very clean, composed of only 3 pins: Vcc, GND, and S (signal). In the middle of the plate, there is a potentiometer for sensitivity adjustment.
The board works with 5V voltage, and the signal pin should be connected preferably to an analog port of Arduino, since the generated signal is variable, and thus we can see the different levels of noise picked up by the microphone. The circuit tests will consist of the module Sound Sensor , plus the display 16×2 LCD. The display at its top, will show the sound level (Low, Medium and High), and bottom , a bar that will follow in real time the sound level detected by the microphone will be shown:
Arduino Sound Module
Features
➡ Main chip: LM393, electret microphone
➡ Working voltage: DC 4 ~ 6V
➡ Has the signal output instructions
➡ Single signal output.
➡ Effective signal output for a low level.
➡ Output low level and the signal light will on when there has a voice.
➡ Can be used for the sonic lamp, with photosensitive sensors act as sound and light alarm, also can be used in the occasion of voice control and sound detection.
➡ Circuit boards output switch value.
Specifications & Pin Details
The simple specifications of sound module from left to right first pins are as follows:
Pin 1 VCC :4V to 6V DC
Pin 2 GND :GND
Pin 3 D0 :Digital Out
Pin 4 A0 :Analog Out
Working
The sound detection sensor module for Arduino detects whether the sound has exceeded a threshold value. Sound is detected via a microphone and fed into an LM393 op-amp. The sound level setpoint is adjusted via an onboard potentiometer. When the sound level exceeds the setpoint, an LED on the module is illuminated and the output is sent low.
You can check Sound Sensor Datasheet for more details
About Programme & Code Uploading
The ATmega328 microcontroller is programmed using the Arduino language. The input-output pins are not selected on the behalf of Atmega328 pins but on the behalf of Arduino analog and digital pins. Either use Arduino Board for this project. Or simply assemble the circuit as shown in the figure. This is done to reduce costs. The program for both the circuit is the same.
For the above circuit, a fresh new ATmega328 microcontroller with a bootloader is inserted on Arduino Board, and code is uploaded. Remove the microcontroller from the board and insert it in the circuit given above.
Source Code/Program:
The source code for Decibel Meter using Sound Module & Arduino with LCD is given below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 |
#include <LiquidCrystal.h> LiquidCrystal lcd(7,8,10,11,12,13); int num_Measure = 128 ; // Set the number of measurements int pinSignal = A0; // pin connected to pin O module sound sensor int redLed = 5; long Sound_signal; // Store the value read Sound Sensor long sum = 0 ; // Store the total value of n measurements long level = 0 ; // Store the average value int soundlow = 40; int soundmedium = 500; void setup () { pinMode (pinSignal, INPUT); // Set the signal pin as input Serial.begin (9600); lcd.begin(16,2); } void loop () { // Performs 128 signal readings for ( int i = 0 ; i <num_Measure; i ++) { Sound_signal = analogRead (pinSignal); sum =sum + Sound_signal; } level = sum / num_Measure; // Calculate the average value Serial.print("Sound Level: "); lcd.print("Sound Level= "); Serial.println (level-33); lcd.print(level-33); if(level-33<soundlow) { lcd.setCursor(0,2); lcd.print("Intensity= Low"); digitalWrite(redLed,LOW); } if(level-33>soundlow && level-33<soundmedium) { lcd.setCursor(0,2); lcd.print("Intensity=Medium"); digitalWrite(redLed,LOW); } if(level-33>soundmedium) { lcd.setCursor(0,2); lcd.print("Intensity= High"); digitalWrite(redLed,HIGH); } sum = 0 ; // Reset the sum of the measurement values delay(200); lcd.clear(); } |
Video Preview
Testing of the Circuit
The Circuit for Decibel Meter using Sound Module & Arduino should be tested as below:
- Switch on the power supply of the training board so that LCD will light up.
- Initially when everything is silent number 0 or 1 will be displayed on LCD indication LOW.
- Turn on the music player and bring the module near to the speaker source, you will observe the change in number and also level shifting from low to medium or high.
- Similarly, turn the volume up or down and check the level of sound. When extremely high volume is detected red led will glow indicating alert.
You can check the advance version of this project:
1. IoT Decibelmeter with Sound Sensor & ESP8266
2. IoT Sound Level Monitor with ESP8266 & Sound Module
3. Make an Accurate ESP32 Decibel Meter (SPL) with Data Logger
8 Comments
how to join sound level meter and gsm sim900 ?
please help me
what is the means of level – 33?
I have used -33 for calibration.
You can remove that or either you can use your own factor for calibration
SIR CAN U MAKE ME A CODE BUT INSTEAD OF SOUND LEVEL: (MEASURED VALUE) IT SHOULD BE REPLACED AS REAL DECIBEL VALUE
FOR EXAMPLE
SOUND LEVEL: 120dB
THANKS IN ADVANCE SIR!
why the sound level on my lcd sceen keeps changing from -3 to 300 in rapid succession. although i didn’t change any of the code that you provide. PLEASE HELP
Sir,where should i connect the led to indicate high noise when sound level increases
excellent yaar
plz tell me in detail how to calibrate the sensor to get such value i.e -33
Bro, can i use ATMEGA168p instead of Atmega328? Is there any change in code require?