16x16 LED bi-color led matrix

Status
Not open for further replies.

dava_2

New Member
Hi,
my name is David, I'm from Croatia.
I like doing some LEDs projects, so please help me...
I'm about to make 16x16 bi color led matrix. I planned to make it of tri pin bi color LEDs, some PIC controller(because I just made PIC programmer) and some shift registers. How to connect it, some examples of schematic or handdraws?
Also, I will need help in programming those, but another time about that.

Thanks.
 
Take six serial-in-parallel-out shift registers and daisy chain them. Two connect to all of the anode connections of one color and two to the anode of the other color. The remaining two would serve as a row/column driver. You can drive them with even an 8 pin PIC. You need to send out 48 bits, each representing a color and row/column. To control the LEDs in this manor use a high clock rate so the LEDs can be refreshed enough to avoid visible flicker.

Example: First color of the first column all on, everything else off.
111111111111111100000000000000001000000000000000

Example: Second color of the third column all on, everything else off.
000000000000000011111111111111110010000000000000

Google "LED matrix"
 
Last edited:
At first, thanks on your answer.
Can you give me example of serial-in-parallel-out shift register?
So, one that shift register can controll 8 outputs?
At what way I should connect it with PIC?
And here: 111111111111111100000000000000001000000000000000. Why that 1?
 
I would look at the 74HC595 -> M74HC595B1R STMicroelectronics Counter Shift Registers

Yes each 8-bit shift register like the one above has eight outputs.

Simply connect the clock, data and latch pins to any free I/O pins on the PIC you're using.

Should have clarified...
|----Color One----|----Color Two---|----Columns------|
000000000000000011111111111111110010000000000000

|----Color One----|
0000000000000000
Rows 1-16, a one represents the LED being on


|----Color Two---|
1111111111111111
Rows 1-16, a one represents the LED being on

|----Columns-----|
0000000000000000
Columns 1-16, only one bit high at a time, each bit equals a different column.

|----Columns-----|
1000000000000000
Column 1 active

|----Columns-----|
0100000000000000
Column two active

|----Columns-----|
0010000000000000
Column three active

If you happened to want the entire display on or multiple rows to have the same value you could set several column bits high but you'd just be complicating your life when it comes to coding it.
 
I failed to mention each row needs a limiting resistor, per color.

Each column will need a transistor.
 
No problem about ressistors and tranzistors.
About this connection. Which one are latch pins? If I get well I'm connecting pins 11, 12 and 14 to three I/O pins on PIC. That's how I connect first HC595. How about next one, and another four?
OK, I get this programming with turning on one column. Look for my code, first and last column are on. Is it ok?
000000000000000011111111111111111000000000000000
000000000000000011111111111111110000000000000001

What if I want to turn on a row?
 
I was referring to pin 12 as the latch pin, you got it right.

All six shift registers share the clock and latch lines. Pin 9 is to be connected to the data input on each successive register. Pin 9 from register one goes to data in on register two, from two to input on three and so on.

You got the column stuff correct too.

The first 16 bits each represent a row in the same way the column bits do. A one means the LED will be on. The second set of 16 bits are the same but they operate color two.
 
OK, please look at my.. let's say its draw, and decide is it all right.
Sorry, really sorry, about it. It's done in paint. Will it work?

Do I have to connect GND and VCC of register to power? Or any other pins to something?
What PIC would you suggest me?
 

Attachments

  • arduino_component_74hc595_schematic.png
    29.2 KB · Views: 534
Yes all grounds need to connect and all + power connections need to be made, on all chips. I recommend the PIC12F675 or PIC16F627A. They're two of the most commonly used PICs and have plenty of code examples online for you to go from.
 

Attachments

  • 16x16example.png
    13.4 KB · Views: 574
For columns on scheme I should just continue adding registers?
Great, I will use PIC12F675, I got one at home, so it will be useful.
I'm just about to make a final scheme, then PCB and go to making it. When I'm done, will refresh this topic to start about programming.
Thanks LMX71CM!
 
Correct, extend the example to include the final three shift registers. The next one in line will be color 2 rows 9-16, then columns 1-8 followed by columns 9-16. Don't forget that the serial output connects to the input of the chip after it.

Welcome.
 
Status
Not open for further replies.
Cookies are required to use this site. You must accept them to continue using the site. Learn more…