Welcome to Hackster!
Hackster is a community dedicated to learning hardware, from beginner to pro. Join us, it's free!
Muhammad_Munir
Created December 7, 2022 © LGPL

Arduino Sound Level Meter

How to make audio level indicator with Arduino and Mic

BeginnerFull instructions provided15
Arduino Sound Level Meter

Things used in this project

Hardware components

Arduino Nano R3
Arduino Nano R3
×1
LEDs
×11
Bread board
×1
Jumper wires (generic)
×1
Microphone MAX4466
×1

Software apps and online services

Arduino IDE
Arduino IDE

Story

Read more

Code

Code

Arduino
int LED1 = 2;
int LED2 = 3;
int LED3 = 4;
int LED4 = 5;
int LED5 = 6;
int LED6 = 7;
int LED7 = 8;
int LED8 = 9;
int LED9 = 10;
int LED10 = 11;
int LED11 = 12;

void setup() {
  // initialize serial communication at 9600 bits per second:
  Serial.begin(9600);
  pinMode(LED1, OUTPUT);
  pinMode(LED2, OUTPUT);
  pinMode(LED3, OUTPUT);
  pinMode(LED4, OUTPUT);
  pinMode(LED5, OUTPUT);
  pinMode(LED6, OUTPUT);
  pinMode(LED7, OUTPUT);
  pinMode(LED8, OUTPUT);
  pinMode(LED9, OUTPUT);
  pinMode(LED10, OUTPUT);
  pinMode(LED11, OUTPUT);
}

// the loop routine runs over and over again forever:
void loop() {
  // read the input on analog pin 0:
  int sensorValue = analogRead(A0);
  //int sensorValue = 700;
  // print out the value you read:
  Serial.println(sensorValue);

  if (sensorValue > 500)
  {
    digitalWrite(LED11, HIGH);
    digitalWrite(LED10, LOW);
    digitalWrite(LED9, LOW);
    digitalWrite(LED8, LOW);
    digitalWrite(LED7, LOW);
    digitalWrite(LED6, LOW);
    digitalWrite(LED5, LOW);
    digitalWrite(LED4, LOW);
    digitalWrite(LED3, LOW);
    digitalWrite(LED2, LOW);
    digitalWrite(LED1, LOW);
  }
   if (sensorValue > 550)
  {
    digitalWrite(LED11, HIGH);
    digitalWrite(LED10, HIGH);
    digitalWrite(LED9, LOW);
    digitalWrite(LED8, LOW);
    digitalWrite(LED7, LOW);
    digitalWrite(LED6, LOW);
    digitalWrite(LED5, LOW);
    digitalWrite(LED4, LOW);
    digitalWrite(LED3, LOW);
    digitalWrite(LED2, LOW);
    digitalWrite(LED1, LOW);
  }
  if (sensorValue > 600)
  {
    digitalWrite(LED11, HIGH);
    digitalWrite(LED10, HIGH);
    digitalWrite(LED9, HIGH);
    digitalWrite(LED8, LOW);
    digitalWrite(LED7, LOW);
    digitalWrite(LED6, LOW);
    digitalWrite(LED5, LOW);
    digitalWrite(LED4, LOW);
    digitalWrite(LED3, LOW);
    digitalWrite(LED2, LOW);
    digitalWrite(LED1, LOW);
  }
   if (sensorValue > 650)
  {
    digitalWrite(LED11, HIGH);
    digitalWrite(LED10, HIGH);
    digitalWrite(LED9, HIGH);
    digitalWrite(LED8, HIGH);
    digitalWrite(LED7, LOW);
    digitalWrite(LED6, LOW);
    digitalWrite(LED5, LOW);
    digitalWrite(LED4, LOW);
    digitalWrite(LED3, LOW);
    digitalWrite(LED2, LOW);
    digitalWrite(LED1, LOW);
  }
  if (sensorValue > 700)
  {
    digitalWrite(LED11, HIGH);
    digitalWrite(LED10, HIGH);
    digitalWrite(LED9, HIGH);
    digitalWrite(LED8, HIGH);
    digitalWrite(LED7, HIGH);
    digitalWrite(LED6, LOW);
    digitalWrite(LED5, LOW);
    digitalWrite(LED4, LOW);
    digitalWrite(LED3, LOW);
    digitalWrite(LED2, LOW);
    digitalWrite(LED1, LOW);
  }
  if (sensorValue > 750)
  {
    digitalWrite(LED11, HIGH);
    digitalWrite(LED10, HIGH);
    digitalWrite(LED9, HIGH);
    digitalWrite(LED8, HIGH);
    digitalWrite(LED7, HIGH);
    digitalWrite(LED6, HIGH);
    digitalWrite(LED5, LOW);
    digitalWrite(LED4, LOW);
    digitalWrite(LED3, LOW);
    digitalWrite(LED2, LOW);
    digitalWrite(LED1, LOW);
  }
   if (sensorValue > 800)
  {
    digitalWrite(LED11, HIGH);
    digitalWrite(LED10, HIGH);
    digitalWrite(LED9, HIGH);
    digitalWrite(LED8, HIGH);
    digitalWrite(LED7, HIGH);
    digitalWrite(LED6, HIGH);
    digitalWrite(LED5, HIGH);
    digitalWrite(LED4, LOW);
    digitalWrite(LED3, LOW);
    digitalWrite(LED2, LOW);
    digitalWrite(LED1, LOW);
  }
 if (sensorValue > 850)
  {
    digitalWrite(LED11, HIGH);
    digitalWrite(LED10, HIGH);
    digitalWrite(LED9, HIGH);
    digitalWrite(LED8, HIGH);
    digitalWrite(LED7, HIGH);
    digitalWrite(LED6, HIGH);
    digitalWrite(LED5, HIGH);
    digitalWrite(LED4, HIGH);
    digitalWrite(LED3, LOW);
    digitalWrite(LED2, LOW);
    digitalWrite(LED1, LOW);
  }
  if (sensorValue > 900)
  {
    digitalWrite(LED11, HIGH);
    digitalWrite(LED10, HIGH);
    digitalWrite(LED9, HIGH);
    digitalWrite(LED8, HIGH);
    digitalWrite(LED7, HIGH);
    digitalWrite(LED6, HIGH);
    digitalWrite(LED5, HIGH);
    digitalWrite(LED4, HIGH);
    digitalWrite(LED3, HIGH);
    digitalWrite(LED2, LOW);
    digitalWrite(LED1, LOW);
  }
  if (sensorValue > 950)
  {
    digitalWrite(LED11, HIGH);
    digitalWrite(LED10, HIGH);
    digitalWrite(LED9, HIGH);
    digitalWrite(LED8, HIGH);
    digitalWrite(LED7, HIGH);
    digitalWrite(LED6, HIGH);
    digitalWrite(LED5, HIGH);
    digitalWrite(LED4, HIGH);
    digitalWrite(LED3, HIGH);
    digitalWrite(LED2, HIGH);
    digitalWrite(LED1, LOW);
  }
   if (sensorValue > 1000)
  {
    digitalWrite(LED11, HIGH);
    digitalWrite(LED10, HIGH);
    digitalWrite(LED9, HIGH);
    digitalWrite(LED8, HIGH);
    digitalWrite(LED7, HIGH);
    digitalWrite(LED6, HIGH);
    digitalWrite(LED5, HIGH);
    digitalWrite(LED4, HIGH);
    digitalWrite(LED3, HIGH);
    digitalWrite(LED2, HIGH);
    digitalWrite(LED1, HIGH);
  }
//  else
//  {
//    digitalWrite(LED11, LOW);
//    digitalWrite(LED10, LOW);
//    digitalWrite(LED9, LOW);
//    digitalWrite(LED8, LOW);
//    digitalWrite(LED7, LOW);
//    digitalWrite(LED6, LOW);
//    digitalWrite(LED5, LOW);
//    digitalWrite(LED4, LOW);
//    digitalWrite(LED3, LOW);
//    digitalWrite(LED2, LOW);
//    digitalWrite(LED1, LOW);
//  }
}

Credits

Muhammad_Munir
79 projects • 51 followers
I am Arduino programmer, also expertise in ESP32 and 8266 wifi modules.
Contact

Comments

Please log in or sign up to comment.