At Elektor.Labs we produce a lot of printed circuit boards. Some of them are more versatile than others. In this project we use the 129009-1 Arduino Multipurpose Shield to create a "trafic light" for ambient sound (or noise) level.
A microphone measures the sound level and when it passes a certain threshold a red LED will come on, when the sound level is below a certain level a green LED will shine. Such a circuit is useful in f.i. noisy environments where sound level restrictions apply.
Because I didn't have a green LED, I used a 3-pin bicolor red-green LED on LED2. The green LED is LED2, the red LED is wired to the buzzer that is close by. Now there is also an orange LED.
An LCD was added together with two push-buttons to make the sound thresholds programmable by the user. They are stored in EEPROM.
When the sound level is below the green threshold, the LEDs are all off.
The LCD shows the actual level as a percentage of the red threshold as a numeric value and also as a bargraph on the second line. Furthermore it displays the raw measured value (0-1023) which is useful for determining the thresholds.
Press the two pushbuttons together to enter the setup menu. Now you can set the green level, then orange and finally red. The two keys presses together gets you to the next option.
The software defaults to 100 for green, 200 for orange and 300 for red.
The files needed to build this project can be found below. Note that it is supposed to be built on the 129009-1 Arduino Multipurpose Shield.