Pages: 1 [2]   Go Down
Author Topic: First Matrix Project wiring check & led choice?  (Read 2541 times)
0 Members and 1 Guest are viewing this topic.
0
Offline Offline
Edison Member
*
Karma: 7
Posts: 1247
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

as my leds will be here any day now,... I have a quick question:

from the calculations and what not on paper (things always change in real world application...lol)

my 'led matrix/string' will be only 120 leds in length...
I will have 8 other leds not really positioned in the main strip portion.. but mounted else where.

question(s) are:

1.) on wiring up the MAX7221 chips.. if I leave these '8' leds mentioned above out of the equation/circuit where its being controlled by the MAX7221 chips...

a.) should I wire 60 x leds per MAX7221? and split the amount of leds evenly per chip?
or
b.) should I just wire consecutively? filling up the first/main MAX7221 chip fully, and then move on the the next chip, but of course have the last segment of 8/Dig line open/empty?

I dont think physically it would matter on the wiring/circuit...

but Im trying to look/think down the road a bit for the code aspect to come, and what would be easier to control/create animations based on how things are wired?

I suppose 'b' would be my first guess.

and if I 'did' decide to use those last 8 leds that are not physically positioned in the main led strip.. I could add them to the remaining pin(s) of the last MAX7221 and just some how use code to either affect or skip them depending on the desired results?

just thinking out loud.. =)


thanks



Logged


0
Offline Offline
Edison Member
*
Karma: 7
Posts: 1247
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

update & question:..

I soldered up one of the led 'matrix' strips....

grabbed a MAX7221 chip, my Arduino and a breadboard.

prototyped up the circuit per my images and the data sheets/tuts..

fired it up, worked out a few bugs I had in the jumpers/code..uploaded it.. and gave a 'look-see'.  =)

background of the physical set-up/wiring.

I took a long, thin brass rod/wire and soldered 120 x 5050 leds to it..  bridging 2 of the 3 GND's and soldering them to the brass wire.. I did this on all 120 x 5050 led's..

so basically are all sharing 1 huge common ground.. (for now)..  I dd this to help keep things aligned and uniform during soldering.  (also this led strip.. will eventually make a half circle.. (and the other strip making the other half of the circle).


I then cut up 120 x little 'wires' the length of 8 x 505 led's..ore-tinned each end.. and continued to solder each wire to connect the leds (#0 led to the next group of 8 leds #0 led..etc..etc  then the same for the #1's in each group of 8 leds..etc.. like a matrix needs to be wired)..

I have NOT cut the GND bar at every 8th led (yet) until my final installment into the prop.... but wanted to give a quick test to see if wiring went ok..

I was thinking if I use DIG0 from the MAX7221 to the common GND wires being used.. and then use SEGDP connected to just the #0 led in the first group..  all #0 (SEGDP) positioned leds will light up in each 'segment'....  (because of the common GND for now)..

so I uploaded this simple test code:

Code:
//We always have to include the library
#include "LedControl.h"

/*
 Now we need a LedControl to work with.
 ***** These pin numbers will probably not work with your hardware *****
 pin 12 is connected to the DataIn/Din/DIN
 pin 11 is connected to the CLK
 pin 10 is connected to LOAD
 ***** Please set the number of devices you have *****
 But the maximum default of 8 MAX72XX wil also work.
 */
LedControl lc=LedControl(9,8,7,1);

/* we always wait a bit between updates of the display */
unsigned long delaytime=50;

/*
 This time we have more than one device.
 But all of them have to be initialized
 individually.
 */
void setup() {
  //we have already set the number of devices when we created the LedControl
  int devices=lc.getDeviceCount();

    /*The MAX72XX is in power-saving mode on startup*/
    lc.shutdown(0,false);
    /* Set the brightness to a medium values */
    lc.setIntensity(0,15);
    /* and clear the display */
    lc.clearDisplay(0);

}

void loop() {
  lc.setLed(0,0,0,true);
}

to just turn on, initialize and clear the MAX chip..and then turn on the first led in segment 1 (which, again, in turn will turn on all #0 leds due to the common GND wire not being separated/cut yet)..

it 'worked'!..  but the leds were VERY, VERY dim..  (I am only using 2 of the 3 smd leds housed under the 5050 led housing/dome)

SO there was 8 leds on at the one time..  (8 x section/segments, 1st led in each on) 8 x 40mA total (2 leds on out of 3, 20mA each = 40mA total per 5050 led..treating it as 1 led unit that draws 40mA total).. taking 240mA total?  well under the limit the max7221 can give..?? (similar to if I had turned on all 8's in 1 section/segment)

I then disconnected my led strip.. and took my desktop PSU.. turned it to v3.0+ and only 40mA current and connected the led strip to it.. same way I had done the MAX7221 (one clip to GND one to #0 led).. and it lit up VERY brightly.. like it I believe it should be.

I am thinking maybe I have the Iset/Rset resistor wrong?  I believe I am using a 10kOhm resistor.. which is probably a bit UNDER what it recommended by a 'smidge'?


Anybody suggest some troubleshooting advice here?

I wouldnt think its a circuit layout problem..being as it 'works'... but not as bright as it should  (ie: like I can look at them directly..and see the two leds under the dome faintly lit...one when is lit normally you cant do that.. much less having two lit)..

I even tried editing brightness value just to test/see..

if there is anything else I can provide to you help you, help me.. just say so!  =)

Logged


0
Offline Offline
Edison Member
*
Karma: 7
Posts: 1247
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

still stumped on this..

would I be calculating for 1 led being on?  (ie: 40mA to it)

or would I need to calculate for my MAX leds being on? (which is 8 I read on any any given time...  although with multiplexing all 120 would 'appear' to be 'on' but in reality just flickering faster than the eye can detect)

I dont understand why a benchtop PSU @ v3.0v & 40mA current make the strip shine bright..

but when hooked up through the MAX7221..not so bright?

it doesnt seem like an overlay complicated circuit?  could maybe messing up the caps/layout cause this?

outside of that I can only think of the Iset/Rset resistor??


thanks
Logged


Pages: 1 [2]   Go Up
Jump to: