Analog VU meter and Clock (Arduino Powered)

 by tech-e
Contest WinnerFeatured
P1090293.JPG
P1090298.JPG
P1090311.JPG
This project brings back the old time Analog VU Meter, with the added functionality of a neat looking clock! When you turn off your music the meters automatically swing into to clock mode. Behind it all is the popular and easy to use Arduino.

This is my submission for the Make-to-Learn Youth Contest:

What did you make?
I made an old style analog VU meter and Clock using 2 analog panel meters, an Arduino, a real time clock, and other simple components. How it works: The unit plugs into a standard 3.5mm speaker jack. The Arduino reads the sound levels and converts it into electric pulses (PWM) to control the analog meters. When no sound is detected, the unit automatically changes to Clock mode and displays the time which is read from the real time clock circuit.

How did you make it?
I got the idea to make an analog VU meter from seeing them used in older audio receivers and amplifiers. I was always intrigued by the effect of a needle “dancing” to the beat of music. With my basic knowledge of electronics and the Arduino platform, I decided that I could make one myself. After searching around the internet to see if anyone had done anything similar, I found that many people create Clocks with analog panel meters. Well, why not include both functions?

Where did you make it?
I made this at home by myself. I like to listen to music a lot and I am always tinkering and playing with electronics. I thought that this would be a fun project to compliment my speaker system which I also built myself.

What did you learn?
I learned a lot from this project. The hardest thing to get right was the programming. I have never worked with analog panel meters before, so getting them to display time and sound accurately was challenging. For example: It was hard to get both meters to point exactly straight up at 6:30. I also learned that connecting the Arduino directly to an audio source can distort the audio. To fix this, I added some resistors and the distortion went away.


Video:


 
Remove these adsRemove these ads by Signing Up

Step 1: Materials

P1090097.JPG
Shopping List:

- 2, 5v Analog panel meters (Amazon) or (Amazon)
- Arduino (I used the pro mini) (Amazon)
- DS1307 Real time clock (Amazon)
- Protoboard (Amazon)
- 10K potentiometer (DigiKey)
- 2 tactile switches (DigiKey)
- 4 10K resistors (DigiKey)
- 4 white LEDs (optional) (DigiKey)
- USB cable (DigiKey)
- 3.5mm cable (DigiKey)

Total cost is around $47. It will be less if you have some of these parts already.
kimips says: May 23, 2013. 6:41 PM
Can I make it without the rtc module (i don't need the time)?
tech-e (author) in reply to kimipsMay 24, 2013. 1:57 PM
Yes, you can. If you only want the VU (sound meter) function, just delete all of the code below line 204 in the analogVU_Clock code. Just make sure you leave in the last curly bracket at the end or it will not work.
skavoovie says: Apr 26, 2013. 9:56 PM
Would you mind sharing what font you used for your customized panel meter face plates?
tech-e (author) in reply to skavoovieApr 27, 2013. 6:15 AM
The font is Commercial Script BT
jdhartman says: Mar 28, 2013. 2:39 PM
Everything seems to be working for me but the meters are running BACKWARDS! ???
Any thoughts? The serial monitor shows the time is incrementing and decrementing correctly when the appropriate up or down button is pressed. Also the
The meters go high, then low during the startup as they should.
tech-e (author) in reply to jdhartmanMar 28, 2013. 4:04 PM
Check your polarity on the meters. Switch the wires around and give it a try. Also make sure the meters are hooked up to PWM pins on your Arduino. If that is not the problem, open up the Fade example sketch and see what your meters do (remember to change the pin).
jdhartman in reply to tech-eMar 28, 2013. 9:14 PM
Updating here in case someone else runs into this. Thanks for helping me troubleshoot this today. Kudos to the author- A young person that is going to be successful. The Ardunio Uno requires that a (-) negative value be used for the meter values.
analogWrite(leftMeter, -X) Where x is the chosen value for each instance

---also include negative as shown here----
if (minutes * -4.75 < 255){ // increase PWM value by 4.75 each minute
analogWrite(rightMeter, minutes * -4.75)

bvbernard in reply to jdhartmanApr 14, 2013. 9:52 AM
The value parameter used in analogWrite is an unsigned byte (0..255). I think there is something else going on in either your code or the connections. I've done a similar clock using the Uno with 4 VU meters (Hours, Minutes, Seconds & Moon Phase) using a GPS receiver for time sync. It did not need a negative value.

I want to give thanks to the author as well. He inspired me to do my own version. Thanks.
astroboy907 says: Apr 6, 2013. 7:03 PM
What grade are you in? Im in 10th. Nice to see someone younger who does this kind of stuff. I actually have wanted to build one of these with the meter for a while
fredlb says: Apr 4, 2013. 9:16 AM
It's great ! I want to make the same !
stumitch says: Mar 26, 2013. 8:11 AM
Well done! esp that it is an entry in the youth contest. excellent!
kenyer says: Mar 26, 2013. 12:23 AM
cool that you made this. I have this idea in my idea-book for a long time now, but it is so cool to see that someone else had the same idea and really made it!
godfish says: Mar 24, 2013. 4:50 PM
This is great.

One thing that would be nice, If an estimate of cost on projects, I've been wanting to make one of these but the cost is what's stopping me.
tech-e (author) in reply to godfishMar 25, 2013. 1:29 PM
Based on the list the total project cost is around $47 without shipping. If you have some of these parts already it would cost less. You don't need to buy a new usb cable if you have an old one laying around.
mid_life_crisis says: Mar 25, 2013. 8:23 AM
That is seriously cool. I keep telling myself to start playing with Arduinos: this might just be the motivation I need.
AJMansfield says: Mar 24, 2013. 5:19 PM
You should add a third and fourth meter, one to track seconds, and one that ticks with the seconds like an old-fashioned metronome.
danbemp says: Mar 24, 2013. 4:47 PM
This is awesome!
nsilverman says: Mar 24, 2013. 4:22 PM
How do you program it? What program or device do you use? I am confused on this step. Please help.
lordzamiel says: Mar 24, 2013. 4:16 PM
You forgot the last sentence in step 5: "And looks awesome." Great job!
chabias says: Mar 24, 2013. 4:07 PM
Excellent!
twighahn says: Mar 24, 2013. 2:52 PM
brilliant
agis68 says: Mar 24, 2013. 11:55 AM
its really nice.
wbrodyjr says: Mar 24, 2013. 11:36 AM
This is fantastic! Very creative. I'd be happy just to have it as a clock. The VU meter feature is just frosting on the cake.
onemoroni1 says: Mar 24, 2013. 9:59 AM
I love this, original thinking outside the box, modern and retro.
royboy says: Mar 24, 2013. 6:50 AM
I TOTALLY want one for my studio
wilsonpv says: Mar 24, 2013. 6:15 AM
Muito criativo,parabéns.
vicnur says: Mar 24, 2013. 4:46 AM
GOOD!!
demonicmember says: Mar 22, 2013. 7:18 PM
Do the meters adjust independently for LEFT and RIGHT audio? It does not appear as tho they do. That would be a cool addon
pinhead1984 in reply to demonicmemberMar 23, 2013. 10:23 AM
You can see in the video the meters are independent for left and right channels at about the 40 second mark. The right falls while the left meter remains towards high.
tech-e (author) in reply to demonicmemberMar 22, 2013. 7:59 PM
Yes they do. It is hard to tell in the video, but they do work seperately. Left channel to left meter and right channel to right meter. It also depends on the music because some music is more balanced between left and right.
Pro

Get More Out of Instructables

Already have an Account?

close

PDF Downloads
As a Pro member, you will gain access to download any Instructable in the PDF format. You also have the ability to customize your PDF download.

Upgrade to Pro today!