3 Simple Ways to
Share What You Make

With Instructables you can share what you make with the world — and tap into an ever-growing community of creative experts.

PhotosPhotos

Share one or more photos of a project, recipe, or whatever you've made, quickly and easily.

Step by StepStep-By-Step

Share your step-by-step photos with text instructions of what you made so others can do it too!

VideoVideo

Share your how-to video. You'll need your embed code from a video site such as YouTube.

Make a 8x10 L.E.D Matrix

Step 4Soldering The Matrix

Soldering The Matrix
«
  • IMG_0005.JPG
  • Connection.jpg
Soldering the LED matrix is a very tricky thing ,there are a lot of ways to do it and I will give you just two.
The first one is the one I used and this way takes a lot of time and effort but the end result is very nice and pretty.You need to connect all the positive leads of the LEDs in columns and the negative lead in rows.
Now you do this by taking the positive lead of the first LED and bend it down to the other LEDs, solder the pins which touch each other, from here take the last lead that you soldered and bend it again down and repeat till you have all the positive leads connected in the column. snip the leads that you didn't use.
Now the tricky part is connecting the negative pins in a row because you can't bend them and solder like you did with the positive leads. Now I used little jumpers from solid core wire and connect them like you can see in the picture below( this takes lots of time and work).

The second way is to start the same way as in the first way but the only difference is in connecting the negative pins. This method saves lots of time and is a lot simpler.
The trick is to put some tape or another thing on the columns connections to isolate them from the negative pins and if you do that you can bend the negative leads too and connect them like you did with the positive ones.

Without the shift register:
Via a resistor you connect each column to the arduino(pins 0-7).
The reset pin of the 4017 goes to pin 8 on the arduino and the clock pin goes to pin 9 on the arduino.

With the shift register:
Now if you connect every thing like shown in the schematic you will need to connect the control pins like so:
The shift register:
Data Pin = arduino pin9
Latch Pin = arduino pin 11
Clock Pin = arduino pin 10
The 4017:
clock pin = arduino pin 13
reset pin =  arduino pin12


« Previous StepDownload PDFView All StepsNext Step »
6 comments
Oct 16, 2011. 8:56 PMaxeman911 says:
are the transistors really neccesary? also i edited the code to work with a 8x8 matrix but something is wrong?

int DataPin = 9;
int LatchPin = 11;
int ClockPin = 10;
int clock = 13;
int Reset = 12;
//x,y for the loop
int x;
int y;
// here the definion of all the letter(big and small) and numbers
#define A {B01111110,B01000010,B01000010,B01000010,B01111110,B01000010,B01000010,B01000010} //done
#define B {B01111000,B01000100,B01000100,B01000100,B01111000,B01000100,B01000100,B01111000} //done
#define C {B00111000,B01000100,B01000010,B01000000,B01000000,B01000010,B01000100,B00111000} //done
#define D {B01111000,B01000100,B01000010,B01000010,B01000010,B01000010,B01000100,B01111000} //done
#define E {B01111110,B01000000,B01000000,B01000000,B01111100,B01000000,B01000000,B01111110} //done
#define F {B01111110,B01000000,B01000000,B01111000,B01000000,B01000000,B01000000,B01000000} //done
#define G {B00111100,B01000010,B01000000,B01000000,B01000110,B01000010,B01000100,B00111000} //done
#define H {B01000010,B01000010,B01000010,B01000010,B01111110,B01000010,B01000010,B01000010} //done
#define I {B01111110,B00011000,B00011000,B00011000,B00011000,B00011000,B00011000,B01111110} //done
#define J {B01111110,B00001000,B00001000,B00001000,B00001000,B01001000,B01001000,B00110000} //done
#define K {B01000100,B01001000,B01010000,B01100000,B01010000,B01001000,B01000100,B01000010} //done
#define L {B00100000,B00100000,B00100000,B00100000,B00100000,B00100000,B00100000,B00111110} //done
#define M {B01000010,B01100110,B01011010,B01011010,B01000010,B01000010,B01000010,B01000010} //done
#define N {B00000000,B01000010,B01100010,B01010010,B01001010,B01001010,B01001010,B01000110}
#define O {B00000000,B00111100,B01000010,B01000010,B01000010,B01000010,B01000010,B01000010}
#define P {B00000000,B00111100,B01000010,B01000010,B01000010,B01111100,B01000000,B01000000}
#define Q {B00000000,B00111100,B01000010,B01000010,B01000010,B01000010,B01000010,B01000110}
#define R {B01111000,B01000100,B01000100,B01000100,B01111000,B01010000,B01001000,B01001000} //done
#define S {B00000000,B00111100,B01000010,B01000000,B01000000,B00111100,B00000010,B01000010}
#define T {B01111110,B00011000,B00011000,B00011000,B00011000,B00011000,B00011000,B00011000} //done
#define U {B01000010,B01000010,B01000010,B01000010,B01000010,B01000010,B00100100,B00011000} //done
#define V {B00000000,B01000010,B01000010,B01000010,B01000010,B01000010,B01000010,B00100100}
#define W {B00000000,B10000010,B10000010,B10000010,B10000010,B10010010,B10010010,B10101010}
#define X {B00000000,B01000010,B01000010,B00100100,B00011000,B00011000,B00100100,B01000010}
#define Y {B00000000,B10000010,B01000100,B00101000,B00010000,B00010000,B00010000,B00010000}
#define Z {B00000000,B01111110,B00000010,B00000100,B00001000,B00010000,B00100000,B01000000}
#define lit_a {B00000000,B01111110,B00000010,B01111110,B01000010,B01000010,B01111110,B00000000} //done
#define lit_b {B00000000,B00100000,B00100000,B00100000,B00111100,B00100100,B00111100,B00000000} //done
#define lit_c {B00000000,B00000000,B00000000,B00000000,B00111100,B01000000,B01000000,B01000000}
#define lit_d {B00000000,B00000100,B00000100,B00000100,B00111100,B00100100,B00111100,B00000000} //done
#define lit_e {B00000000,B00000000,B00000000,B00111000,B01000100,B01000100,B01111000,B01000000}
#define lit_f {B00000000,B00011000,B00100100,B00100000,B00100000,B01110000,B00100000,B00100000}
#define lit_g {B00000000,B00011100,B00100010,B00100010,B00011110,B00000010,B00000010,B00010010}
#define lit_h {B00000000,B01000000,B01000000,B01000000,B01000000,B01111000,B01000100,B01000100}
#define lit_i {B00000000,B00000000,B00010000,B00000000,B00010000,B00010000,B00010000,B00010000}
#define lit_j {B00000000,B00000000,B00010000,B00000000,B00010000,B00010000,B00010000,B01010000}
#define lit_k {B00000000,B00000000,B00000000,B01001000,B01010000,B01100000,B01100000,B01010000}
#define lit_l {B00000000,B01000000,B01000000,B01000000,B01000000,B01000000,B01000000,B01000000}
#define lit_m {B00000000,B00000000,B00000000,B00110100,B01001010,B01001010,B01001010,B01001010}
#define lit_n {B00000000,B01000000,B01111100,B01000100,B01000100,B01000100,B01000100,B00000000} //done
#define lit_o {B00000000,B00000000,B00000000,B00000000,B00011100,B00100010,B00100010,B00100010}
#define lit_p {B00000000,B00000000,B00000000,B00011100,B00100010,B00100010,B00111100,B00100000}
#define lit_q {B00000000,B00000000,B00000000,B00111000,B01000100,B01000100,B00111100,B00000100}
#define lit_r {B00000000,B00000000,B00000000,B00111000,B01000000,B01000000,B01000000,B01000000}
#define lit_s {B00000000,B00000000,B00111000,B01000100,B01000000,B00111000,B00000100,B01000100}
#define lit_t {B00000000,B00100000,B00100000,B00100000,B01111000,B00100000,B00100000,B00100010}
#define lit_u {B00000000,B00000000,B00000000,B00000000,B01000100,B01000100,B01000100,B01000100}
#define lit_v {B00000000,B00000000,B00000000,B01000100,B01000100,B01000100,B01000100,B00101000}
#define lit_w {B00000000,B00000000,B00000000,B00000000,B01000100,B01000100,B01010100,B01010100}
#define lit_x {B00000000,B00000000,B00000000,B00000000,B00000000,B00100100,B00011000,B00011000}
#define lit_y {B00000000,B00000000,B01000100,B01000100,B00111100,B00000100,B00000100,B00000100}
#define lit_z {B00000000,B00000000,B00000000,B00000000,B01111100,B00001000,B00010000,B00100000}
#define space {B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000}
#define num_0 {B00000000,B00111100,B01000110,B01001010,B01001010,B01001010,B01010010,B01100010}
#define num_1 {B00000000,B00001000,B00011000,B00001000,B00001000,B00001000,B00001000,B00001000}
#define num_2 {B00000000,B00111100,B01000010,B00000100,B00001000,B00010000,B00100000,B01000000}
#define num_3 {B00000000,B01111110,B00000010,B00000010,B00011100,B00000010,B00000010,B01000010}
#define num_4 {B00000000,B00000100,B00001100,B00010100,B00100100,B01000100,B01111110,B00000100}
#define num_5 {B00000000,B01111110,B01000000,B01000000,B00111100,B00000010,B00000010,B00000010}
#define num_6 {B00000000,B00111100,B01000000,B01000000,B01111100,B01000010,B01000010,B01000010}
#define num_7 {B00000000,B01111110,B00000010,B00000100,B00001000,B00010000,B00010000,B00010000}
#define num_8 {B00000000,B00111100,B01000010,B01000010,B00111100,B01000010,B01000010,B01000010}
#define num_9 {B00000000,B00111100,B01000010,B01000010,B01000010,B00111110,B00000010,B00000010}
#define times {B00000000,B00000000,B01000010,B00100100,B00011000,B00011000,B00100100,B01000010}

const int numPatterns = 17;//this is the number of patterns you want to display
byte patterns[numPatterns][8]={H, A, ,P, P, Y };// the patterns order
void setup(){
pinMode(DataPin,OUTPUT);
pinMode(ClockPin,OUTPUT);
pinMode(LatchPin,OUTPUT);
//simple stuff here
pinMode(clock,OUTPUT);
pinMode(Reset,OUTPUT);
//reseting the 4017 IC, you have to do this
digitalWrite(Reset,HIGH);
delayMicroseconds(5);
digitalWrite(Reset,LOW);
}

void display_pattern(int loops)//int loop acts like a delay, it take 8 mSecands to scan all of the rows so int loops = 15 is a good time for it
{
for(x=0;x for (int z=0;z<8;z++){ //scrolls one bite at a time
for(int t=0;t for(y=0;y<10;y++){// loops over the array of bytes
byte temp = patterns[x][y];
byte temp_2=patterns[x+1][y];
digitalWrite(LatchPin, 0);
shiftOut(DataPin, ClockPin,MSBFIRST,((temp<>7-z)));//writes digital outputs, Z is for how much bites it need to scroll
digitalWrite(LatchPin, 1);
delayMicroseconds(800);
digitalWrite(LatchPin, 0);
shiftOut(DataPin, ClockPin,MSBFIRST,0);
digitalWrite(LatchPin, 1);
digitalWrite(clock,HIGH); digitalWrite(clock,LOW);
}
}
}
}
}

void loop(){
display_pattern(15);// calls for the display_pattern function and says that int loop = 15(if you do more loop the pattern whould scrrol slower).
}
Jul 14, 2011. 4:56 PMDrewroo says:
Hey I know this is old but Im new with using transistors. For the ground side they all go to a common ground right they don't connect together like every other one seems to do in the diagram.
Jul 23, 2011. 1:51 AMT27o says:
Hi there, how do you connect the transistors to common ground, sorry I'm new at this stuff

Cheers,

Joe
Jul 23, 2011. 1:55 AMT27o says:
:D thanks!

Joe

Pro

Get More Out of Instructables

Already have an Account?

close

All Steps Viewing
View all steps of an Instructable on the same page when you're a Pro Member.

Upgrade to Pro today!
97
Followers
4
Author:Syst3mX(Vadim)
Electronics and LEDs what can be better ?! :D