Go Down

Topic: New to electronic and Arduino, big LED based project, requesting guidance. (Read 1 time) previous topic - next topic

Hi, fellow tinkerer. :-)

First post here so I'm still learning my way around this forum. I'm a deaf student of Gallaudet University and I'm a Digital Media Major. This mean I get to cover a wide range of classes, including arduino. This semester is the very first time Gallaudet University have provided a class on Arduino and I'm lucky to be one of the first student of this class. However, because I'm an art student, I never really had chances to work with electronics so I'm still brushing up on the basic skills necessary for my class.

My Arduino class have a project due in about three weeks. A proof of concept prototype of individual mechanism of the project is due this Monday. Me and my project partner decided to create something we called a Jellylamp (based off a jellyfish) and stimulate some of the lights that a few deep sea Jellyfishes have. This mean that the project will have multiple rows and columns of LED all over the articulating model. Because of the complexity of this project and the fact that I only have two Arduino UNO, I am struggling and trying to figure out a good way to have some basic animation of these many LED.

There will be 8 independent "wing" and on each is a grid of LED under some white materials (to stimulate glows). My issue is that I do not know how to use the two of my Arduino to power all of these LED PLUS two or three servos for the articulation's portion. The Arduino will also be using 8 IR emitter and receiver as sensors to either darken or brighten the particular "wing" that a person go near of.

For the prototyping portion, I've decided to work with a small number of led, I have about 60 right now so I can try 5X5 to test this structure of animation on. I want a row of light to travel down from one side to other and at the same time, be able to either darken or brighten all lit light on the spot. I can put each row in serial so it's only really 5 I/O + the two IR I/O. But I would like to try to reduce the numbers of pins needed for this. I do have a 74HC595 Shift Register. From what I can figure, maybe I can use the Shift Register with , at most 8 for each 74HC595, relays to switch on and off each rows? but if I do this, how can I adjust the brightness and darkness? I have not played with relays yet (working through Sparkfun Inventor's Kit at the moment and referring to getting started with arduino Make book).

I have ordered 500 LED (I'm expecting to work with LED a whole lot in the next year as I want to make it my focus). 100 clear blue, 100 clear green, and 300 clear white LED. all 5mm.

I know that this sound rather complicated but I am extremely curious to learn what I need to get this all working cause I'm extremely interested in LED based animations using Arduino and this project would be a fantastic way to basically get my feet soaking wet in this field.

I ask for your guidance and advices.

This is what I have, in case it impact any advices for what I can do with my current stuffs (I can stop by radioshack for some of the components if I need to get a few more),
Sparkfun's Inventor Kit (includes one UNO)
an extra UNO
2 extra servo
500 resistors (one of those radioshack pack)
currently have a mix of about 60 LEDs
multiples of several types of transistors (NPN, NPN switching, and PNP)
a lot of capacitators
some knobs, photoresistor, IR reciever and emitter
a small breadboard from the inventor kit and a big one on the way here with 3220 test point.


Sounds like an interesting project.
This is a larger array I drew up recently, you can cut it down to size as needed.
I put some notes in about controlling it.
My thinking was that the Y shift registers would be set to configure the cathodes for a row, then turn an x-row on/off. set Y for the next row, turn next X-row on/off.
If you wanted a whole row, set all Ys low then turn on its x.
You don't want relays tho, keep it simpler with shift registers.

Makes sense?

You also discuss fading, for that you will need a PWM signal on the shift resister output enable so that when a row is selected, you can pulse it at 500Hz (analogWrite does that on the PWM pins) to keep it from being full on, thus looking dimmer.
I suppose that would work for Ys as well.
The problem is that the 74HC595 are not good for a lot of current. I suggest you look into TPIC6B595 from TI, good for a lot more current control.  Or something lke ULN2003 added to the 74HC595 outputs. TI is good about samples, be sure to you use your school address when requesting them. These are open collector devices so you will need a pullup on each X pin also which I didn't show.
Designing & building electrical circuits for over 25 years.  Screw Shield for Mega/Due/Uno,  Bobuino with ATMega1284P, & other '328P & '1284P creations & offerings at  my website.


You could also give yourself a leg up on programming by getting a pre-assembled array like this one so you could spend your time getting code working and not worry so much about getting all the diodes wired up, doing a lot of diodes on breadboard is cumersome to say the least.

they have others too, but this one had a nice clear data sheet to give you an idea.

http://ww.mpja.com/prodinfo.asp?number=16794+OP - datasheet can be found on the internet,  I have some of red & green ones. Not sure why mpja is not including links, they are usually good about that.
Designing & building electrical circuits for over 25 years.  Screw Shield for Mega/Due/Uno,  Bobuino with ATMega1284P, & other '328P & '1284P creations & offerings at  my website.

awesome. thank you! Looking over all of these info. How easy is it to adjust patterns of light based on the suggestions that you have given? If I can change patterns obviously enough then I can forgo the entire fading thing if it would keep thing simpler.

I must apologize in advance but could I ask for some quick clarification of this terms, cathodes? I'm assuming that you are talking about the LED?

Currently, I'm trying to figure out how such an array work. the one that you attached an image of, I would be able to control each individual LED? if so, it sound like it's possible to simplify thing by removing the control for either the X or Y rows? Either way, how does the grid work for powering the LED independently? For some reason, I'm having some difficulties trying to figure out how it works. for example, if I have row 7 column 8 on AND row 5 column 3 on too, wouldn't that also unintentionally light up row 5 column 8 and row 7 column 3 too? hopes that this question is clear enough for you.

Would it be possible to use the shift register to control switches only so I can use an separate source of power for the LED? If this is possible, it would simplify my work quite a bit since it mean I can assign one set of switches to all of the 8 wings at the same time?

Currently, I'm trying to figure out how to control a 6x7 set of LED for the prototyping due Monday. I am about to wire these LED up in series and then figure out how to control the rows using my 74HC595. I'll not plug it in to the power until I'm absolutely sure how to lay things out properly like in the attached image that you posted.

Here's hoping to me learning the trick to this. thanks again for all of the info!


Ok, the way the grid works is by multiplexing.  You want 1 LED, you bring 1 Y column Low and 1 X column High.
You want a diagonal line, you hit Y1X1, Y2X2, Y3X3, etc.    You cycle thru that fast, it will look like all are on.
You want a whole row, you bring all the Ys  Low and turn on an X.
You want a whole column, you bring 1 Y low and then cycle thru the X fast.

Designing & building electrical circuits for over 25 years.  Screw Shield for Mega/Due/Uno,  Bobuino with ATMega1284P, & other '328P & '1284P creations & offerings at  my website.

Go Up

Please enter a valid email to subscribe

Confirm your email address

We need to confirm your email address.
To complete the subscription, please click the link in the email we just sent you.

Thank you for subscribing!

via Egeo 16
Torino, 10131