Instructables

8x8 LED Matrix Animations

Featured
Picture of 8x8 LED Matrix Animations
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

Picture of Materials Required
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_141 year ago
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....
triodo2 years ago
se ve cheverisimo los led
You should really use hex code saves alot of memory
arodri353 years ago
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)  arodri353 years ago
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 ndsit3 years ago
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)  arodri353 years ago
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 ndsit3 years ago
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)  arodri353 years ago
Good luck with your project and hope to see it posted on instructables soon
arodri35 ndsit3 years ago
also, would it be smart to use a 2n222 npn transistor at each pin ????
phanna3 years ago
Excuse me! could you tell me what components that you use in this project? and what program you generate this code?
jschuster3 years ago
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)  jschuster3 years ago
Try the arduino forums on their main website for help, they are best suited to helping you.
jschuster3 years ago
Do you have to go to the strip board or can you go straight to the arduino?
ndsit (author)  jschuster3 years ago
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.
jdanderson13 years ago
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.

raikoug3 years ago
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)  raikoug3 years ago
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 ndsit3 years ago
Oh... that's funny.. thanks a lot!!
bluumax3 years ago
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?
mal5113 years ago
I think the expression "nit picking" is appropriate, don't you tigerbomb8..?
BWChronos3 years ago
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!
member023 years ago
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!
omnibot3 years ago
Sweet! That's some LED-display. Any ideas for implementing a frequency analyzer och similar?
ndsit (author)  omnibot3 years ago
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
mrtimklein3 years ago
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)  mrtimklein3 years ago
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.
shabaki3 years ago
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
tigerbomb83 years ago
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!