Decibel Meter Using Sound Module & Arduino With LCD Display
Maybe your like
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.
#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(); }| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455 | #include <LiquidCrystal.h>LiquidCrystal lcd(7,8,10,11,12,13); intnum_Measure=128;// Set the number of measurements intpinSignal=A0;// pin connected to pin O module sound sensor intredLed=5;longSound_signal;// Store the value read Sound Sensor longsum=0;// Store the total value of n measurements longlevel=0;// Store the average value intsoundlow=40;intsoundmedium=500;voidsetup(){pinMode(pinSignal,INPUT);// Set the signal pin as input Serial.begin(9600);lcd.begin(16,2);}voidloop(){// Performs 128 signal readings for(inti=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
Sound Level and Intensity Meter using Sound Sensor & Arduino Watch this video on YouTube.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
Tag » Arduino Db Meter Code
-
Arduino Based Decibel Meter With Sound Sensor - The IOT Projects
-
Measure Sound/Noise Level In DB With Microphone And Arduino
-
Arduino Based Decibel Meter With Sound Sensor & LCD Display
-
Arduino Decibel Meter - Instructables
-
Arduino Sound Meter
-
IoT-Based Power Decibel Meter - Arduino Project Hub
-
Arduino Decibel Meter - Arduino Project Hub
-
Arduino Projects: Arduino Decibel Meter - Tutorial45
-
Arduino Sound Level Meter - Maker Portal
-
Arduino Sound Level Meter And Spectrum Analyzer 313
-
Dwyl/iot-decibel-meter: A Decibel Meter Built With An Arduino - GitHub
-
Arduino Library To Implement A Db Meter With A Analog Sound Sensor.
-
Gravity: Analog Sound Level Meter - DFRobot