8x8 LED Matrix Animations

 by ndsit
Featured
DSC03952.JPG
DSC03925.JPG
DSC03927.JPG
DSC03950.JPG
DSC03958.JPG
DSC03953.JPG
DSC03930.JPG
DSC03929.JPG
DSC03926.JPG

For a party we were about to have I wanted a cool light display to use with my new Xmas present  - an Arduino Uno. Having looked at the LED matrix's here I wanted a bigger one that  I could hang on the balcony.

I also wanted it to interact with music and flash at different sound levels and have a keypad to select which animation to run.

Thus I came up with this one using some spare  Xmas lights I had already butchered for some outside art projects. I also wanted it to look arty, hence the use of copper wire for inside the frame.


Before we start on the construction I will go through some of the theory behind the matrix. 

Please Note : I didn't use resistors between the matrix connecting wires and the Arduino. You should really use them to limit the current to the LED's and also avoid damaging the Arduino. If you don't use them then that's at your own risk
 
Remove these adsRemove these ads by Signing Up

Step 1: Materials Required

DSC03929.JPG
DSC03925.JPG
DSC03926.JPG
As stated this is a 8x8 matrix so you will need 64 LEDS. I had some spare 25 LED xmas light strings, so I used these as my source for the LEDS.

Timber for making the frame.  This frame used approx 3.6m of 45mmx18mm of timber. 

Arduino Uno

Power Supply (I used a 9v battery)

Copper Wire for the wiring inside the frame. This copper wire has a coating on it which is not conductive so is ideal for this. The type used in motor windings is ideal. I got this from the local metal scrapman.  Need about 19m of this. The thicker the wire the better.

Cat 5 (network) cabling so the matrix pins can be connected to the microcontroller.

Screws and/or wood glue to build the frame.

Keypad, Microphone, Resistors, Capacitor's and op-amps required for the hardware add-ons. Please see those steps for the links to the other instructables that list the required components.


Tools Required

Saw for cutting the timber
Staple gun for attaching the copper wire to the frame
Soldering Iron and solder
Multimeter
Pliers
Electric Drill + drill bits
Computer to program the Arduino along with the correct USB cable.
Sharp knife - Stanley knife or similar.


rsmg_14 says: Jul 27, 2012. 8:49 PM
hi ndsit! so im building a "Yet Another Daft Punk Table" (http://www.instructables.com/id/Yet-Another-Daft-Punk-Coffee-TableDisplay/)
and im using your sketches and code as reference to make my animations. i find it really easy how you did it, thanx! :) .... quick question, i notice that when i upload your "all LEDs blink On and Off" Sketch, i find that the LEDs are way brighter than within any other animation i create. i know that as a whole it looks that way because the entire matrix is on at "once" (POV) but still i find that individually they have more intensity when they blink than with other animations. can you tell me why and what can i do to have the same brightness throughout my whole sketch. sorry if this sounds confusing :s....
triodo says: Aug 28, 2011. 5:20 PM
se ve cheverisimo los led
fostersfriend says: Jul 4, 2011. 9:11 PM
You should really use hex code saves alot of memory
arodri35 says: May 24, 2011. 11:18 AM
I'm curious on how you managed to drive that mmany leds with the current limit on the arduino. I'm trying to drive 25 in the same way.
ndsit (author) in reply to arodri35May 25, 2011. 1:46 AM
The LED's appear to be all on at the same time, but they are actually rapidly turning themselves on and off one at a time, so the current draw is not that bad. This is the persistence of vision effect I described. I should have used resistors to stop damaging the microprocessor with the current draw, but so far its been ok. hope that helps
arodri35 in reply to ndsitMay 25, 2011. 1:38 PM
also, would it be smart to use a 2n222 npn transistor at each pin ????
arodri35 in reply to ndsitMay 25, 2011. 11:37 AM
haha i feel dumb i knew that. where exactly would you place the resistors. would you give each led its own or would you just put it right before the pin. so in the test leds file you turn them on and off rapidly?
ndsit (author) in reply to arodri35May 25, 2011. 2:54 PM
Put the resistor between the pin and the LED. Yes in the code it turns the LED on and off very quickly. AFAIK there is no need to use a npn transistor at each pin.
arodri35 in reply to ndsitMay 25, 2011. 5:32 PM
oh ok i just figured it might make it a little less current for the arduino, i've heard they're not very fond of current, going in or out so i thought that could be used as a precaution. as far as the resistors go thanks i thought that's how it was supposed to go thanks for the help. im making what essentially might be a touch screen using the arduino capsense and your matrix. if the capsense doesn't go well ill just make it a mini display haha thanks again
ndsit (author) in reply to arodri35May 26, 2011. 2:41 AM
Good luck with your project and hope to see it posted on instructables soon
phanna says: May 1, 2011. 10:11 PM
Excuse me! could you tell me what components that you use in this project? and what program you generate this code?
jschuster says: Apr 6, 2011. 10:39 AM
I try uploading the test code to my uno and i get

Binary sketch size: 1178 bytes (of a 32256 byte maximum)
avrdude: stk500_getsync(): not in sync: resp=0x30
avrdude: stk500_disable(): protocol error, expect=0x14, resp=0x51

I have loaded the Arduino environment and I'm not sure what id doing wrong. Do you have any suggestions
ndsit (author) in reply to jschusterApr 6, 2011. 10:56 PM
Try the arduino forums on their main website for help, they are best suited to helping you.
jschuster says: Mar 23, 2011. 5:13 PM
Do you have to go to the strip board or can you go straight to the arduino?
ndsit (author) in reply to jschusterMar 31, 2011. 12:41 AM
You can goto the arduino direct, its just I was using some custom circuits for controlling some effects and also using the keypad, so the stripboard was just an easier route to follow.
jdanderson1 says: Feb 20, 2011. 6:40 PM
when you build this check the programming it uses A0, A3,A4,A5 in the Arduino program. The instructions don't reflect this they use different address lines so if you have a problem check your outputs.

Otherwise i really like this still in the process of building one.

raikoug says: Feb 6, 2011. 3:39 PM
Hi, i really love your work, and I thank you very much.. but.. (maybe is a n00b question) the copper wire... doesn't touch each other right? do you use the cover of the wire led to separate the crossing? that's amazing if i'm right (you see? this is a very noob question becouse i shiould really know if + and - should touch each other, and I'm pretty sure they don't have to, but maybe ... dunno :P)
thanks anyway for the big work ^^
ndsit (author) in reply to raikougFeb 6, 2011. 11:27 PM
The copper wire does touch each other, but it has a thin plastic layer covering the whole wire. Its polyester enamelled copper wire, normally used in electric motors.

Hence it does does touch physically but not electronically as they are insulated from each other. I actually have to scrape the covering off so I can solder the LED wires to the cable. Hope that makes sense
raikoug in reply to ndsitFeb 7, 2011. 12:02 AM
Oh... that's funny.. thanks a lot!!
bluumax says: Feb 6, 2011. 5:49 PM
Great job!!
If you can PWM the outputs you can do without resistors.
I used wrapping wire for a tiny Christmas tree project using 0603 size LEDs. & a PIC http://www.bluumax.com/Tree.html
It's kind of a trick for electronics people, how do you get + & - with only bare wire?
mal511 says: Feb 6, 2011. 7:41 AM
I think the expression "nit picking" is appropriate, don't you tigerbomb8..?
BWChronos says: Feb 4, 2011. 1:35 AM
Awesome LED matrix, but you couldn't have asked your mom to move for like five minutes when you filmed this?

In all seriousness: this is awesome man, keep up the good work!
member02 says: Feb 3, 2011. 6:08 PM
I see no current limiting resistors. To prevent damage to the arduino/LEDs you should add resistors.

take note, V=IR, Volts=Amps*Resistance

so blue LEDs have about 3-3.2 voltage drop across them, the arduino sends them 5volts. to achieve a 3.2v connection to the LED you need a 100ohm resistor in series with the LED. See, LEDs at 5v will try to draw well over 80mA, chances are the arduino can't supply much more than 50mA per pin, as per their spec sheet. This obviously causes stress on the system you have.

I normally don't care to help people that make this routine mistake, but this was featured and it is nice looking, so fix it!
omnibot says: Feb 3, 2011. 11:50 AM
Sweet! That's some LED-display. Any ideas for implementing a frequency analyzer och similar?
ndsit (author) in reply to omnibotFeb 3, 2011. 5:20 PM
I intend to in the future switch to use shift registers or something to free up some inputs on the Arduino so I can do better analysis of sounds and add other inputs
mrtimklein says: Feb 3, 2011. 12:33 PM
Love it. I'm working on a similar project -- wearable light show for a "techno" dance. I'm struggling with software, have you made any progress on mic input and possibly even beat detection?
ndsit (author) in reply to mrtimkleinFeb 3, 2011. 5:17 PM
I have the mic input already, see the hardware add-on steps. The even beat detection I haven't made any progress on, but I think for a better detection you will need to split the signal into its bass,mid and treble and then detect on these levels. Sadly I don't have enough inputs to do this at the moment.
shabaki says: Feb 3, 2011. 3:23 PM
while i understand it would take just over 512 leds it would be amazing to make an 8 by 8 cube and rig it up to some overly complex ai system with interactive sensors ( such as voice sensors or stuff like light sensors) and program it so the ai had an avatar "head that floated in the cube with different expression based on "emotions" in its coding so that you had a fully functioning ai bot; rig it to your comp, tv or entertainment system and you have a diy jarvis from iron man :P
tigerbomb8 says: Feb 3, 2011. 3:06 PM
leds are basically diodes
wrong leds ARE diodes
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!