Pages: 1 2 [3]   Go Down
Author Topic: (not another) LED Matrix project  (Read 6271 times)
0 Members and 1 Guest are viewing this topic.
Grenoble/Lyon - France
Offline Offline
Sr. Member
****
Karma: 0
Posts: 363
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

halley : what are the exact problems you're facing ? just curious
Logged


Connecticut, US
Offline Offline
Edison Member
*
Karma: 2
Posts: 1036
Whatduino
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

melka, your schematic differs from madworm's in two ways, which is fine-- my rev01 which is based on your original schematic might even work with some software changes to madworm's example sketches.

The easier difference is the order of the 595 chips.  Yours routes Green, Anodes, Red, Blue, which may have been useful in your PCB arrangement, but seems somewhat arbitrary in code.  madworm's routes Anodes, Blue, Green, Red.  This ordering is important as you shift all the bits into place.

melka, you take in SCL and route it to all 595 SCL; madworm takes in RCK and routes it to all 595 RCK.  The unused pins are attached to VCC or GND in either case.  So the SPI conversation needs to deal with this difference.  I couldn't get it to work last night, but I expect it's possible.  It might cause some blurring or flicker if done one way or the other, if I understand the datasheets correctly.

A third issue I have is the current OSX 0013 ISR problem.  I changed the sketches to simply loop tightly and call the isr() routine directly, to avoid the ISR register bug on that version of the compiler.  The ISR is the right choice, but I'll work around it until the compiler package is updated with the true fix.

I'm not complaining at all-- it was interesting excuse to study the two proposed schematics and the actual workings better.
Logged

"The old Europe"
Offline Offline
Edison Member
*
Karma: 1
Posts: 2005
Bootloaders suck!
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Any progress on this project ?

I had my matrix doodad manufactured at seeedstudio and am still waiting for the PCBs to arrive. It's not a shield, but something like the sparkfun matrix controller/driver with the option to stack further shields onto it. The stacking headers expose PORTC and PORTD and provide power. I'm planning to build a battery backpack with a boost converter to make it run from 2 cells. The pin spacing should be perfboard compatible.




If it should turn out that we can share some code for driving the matrix, we might add it to the playground to share it with the community. Seeedstudio should provide easy access to boards as soon as I've confirmed it actually works :-)
« Last Edit: March 14, 2009, 06:40:39 pm by madworm » Logged

• Upload doesn't work? Do a loop-back test.
• There's absolutely NO excuse for not having an ISP!
• Your AVR needs a brain surgery? Use the online FUSE calculator.
My projects: RGB LED matrix, RGB LED ring, various ATtiny gadgets...
• Microsoft is not the answer. It is the question, and the answer is NO!

Grenoble/Lyon - France
Offline Offline
Sr. Member
****
Karma: 0
Posts: 363
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Nice one, madworm ^^
Everyone is gonna have his little personal matrix, that will be nice, maybe we should have a contest ^^
Logged


Connecticut, US
Offline Offline
Edison Member
*
Karma: 2
Posts: 1036
Whatduino
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

My next revision of my RGB board (no embedded atmega) should arrive any day now, I'll let you know whether it works or not.  It's not meant to be a shield, really, but it just so happens to fit the Duemilanove pin-outs for SPI and power.  It should be able to use madworm's code directly.

It also uses those insanely tiny resistor arrays.



The one on the xacto blade is a four-resistor array, that's 8 pins to solder.  The ones in the tape package are eight-resistor arrays with 16 pins.  Should be fun... I don't have any solder paste.
« Last Edit: March 14, 2009, 10:37:27 pm by halley » Logged

"The old Europe"
Offline Offline
Edison Member
*
Karma: 1
Posts: 2005
Bootloaders suck!
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Nice. I hope you won't have to wait for long.

I have a feeling that a few more eyes on that framebuffer routine will be a good thing. I haven't put any effort in speed optimization yet. Maybe it can be pushed to do more than 32 steps of brightness per color and leave a bit more cpu time for serial/I²C I/O. Maybe moving away from arduino's I/O functions could squeeze out a few µs. If that's documented well it should be understandable for people after a bit of reading.

Good luck with the resistor arrays.

May the flux be with you  smiley-wink





« Last Edit: March 15, 2009, 10:20:17 am by madworm » Logged

• Upload doesn't work? Do a loop-back test.
• There's absolutely NO excuse for not having an ISP!
• Your AVR needs a brain surgery? Use the online FUSE calculator.
My projects: RGB LED matrix, RGB LED ring, various ATtiny gadgets...
• Microsoft is not the answer. It is the question, and the answer is NO!

0
Offline Offline
Edison Member
*
Karma: 8
Posts: 1411
Arduino rocks
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

I am just wondering, isn't there any maximum current/power limitation on the resistors? Theoretically, they should be able to take 160mA (20mA x 8 LEDs) at some point?

Logged

0
Offline Offline
Newbie
*
Karma: 0
Posts: 9
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

if it happens that i have a 14x14 common cathode RGB matrix, will some of what is posted here, will help me?
Logged

0
Offline Offline
Edison Member
*
Karma: 8
Posts: 1411
Arduino rocks
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Maybe. Principles are the same. Start small, with an 8x8, and maybe not even RGB.
The difference between an RC model airplane and a real one is just the scale smiley

Logged

"The old Europe"
Offline Offline
Edison Member
*
Karma: 1
Posts: 2005
Bootloaders suck!
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

@becksradke:

The biggest difference between the 8x8 and 14x14 RGB  matrix is, that you will need more RAM to store the data. So you should go for the atmega328 chip.

The 2nd issue maybe is speed. The 14x14 has about 3x as many LEDs as the 8x8.

The 3rd issue is that you'll have to devise a way to address the hardware efficiently, as the 8bit shift registers won't hold 14 bits.

The 4th issue may be current. I noticed that when driving the LEDs with full current I was over stressing the "driver" chips and got funny colors.

But in principle it should work. The 74hct595 are extremely cheap, so get them anyway :-)

Logged

• Upload doesn't work? Do a loop-back test.
• There's absolutely NO excuse for not having an ISP!
• Your AVR needs a brain surgery? Use the online FUSE calculator.
My projects: RGB LED matrix, RGB LED ring, various ATtiny gadgets...
• Microsoft is not the answer. It is the question, and the answer is NO!

Connecticut, US
Offline Offline
Edison Member
*
Karma: 2
Posts: 1036
Whatduino
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset


Huzzah, the rev04a board works!



Still a couple tiny things I'm not happy with, but it uses madworm's 15-bit RGB interrrupt service routine with only one small change.


Logged

0
Offline Offline
Newbie
*
Karma: 0
Posts: 2
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

halley,

Any update on this, looks fantastic!
Logged

Offline Offline
Full Member
***
Karma: 1
Posts: 200
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Interesting work halley
Logged

Pages: 1 2 [3]   Go Up
Jump to: