can we control such a display with an arduino board?
Is it exactly the same board as above or different? In most cases you will be able to run these types of boards with an arduino but how to do so depends on the type of matrix display(and their driver chips). As above there is code on the freetronics support site that does work and from my understanding is fast at updating the screen. You will still have to design all the code to display what you want and how to make changes. The code they supply is just a framework to drive the displays and an example of what could be done with it, they rest you have to make.
If you want to follow this further you may want to open your own thread to discuss this more fully. Possibly with specific technical information on the device and what you are looking to accomplish.
The way I have it hooked up is the common anode of each led in each row is connected then controlled by the row pin.
Hello JT, I would just like to confirm your setup. The ShiftMatrixPWM library uses two chains of shift registers. One to drive the columns and one to drive the rows. Your common anodes on the row should be going to a pin on the shift register. Depending on what size your matrix is, your shift register probably will not be able to source this much current so I would suggest using a PNP transistor to source the current.
As to your issue please make sure you have it setup correctly and that the settings inside the ShiftMatrixPWM script that you are using also have the correct settings for your type of matrix. There are settings for inverting the output to allow for different setups. If this is setup on a breadboard, check that all connections are in their proper place (its very easy to be out by a single hole and get very different results).
If you are still having issues then please try to provide so more information to go on and I will try and help.
Not sure what is happening. I just tested the videos (here at work) and the ones in the thread do seem to be working. Unfortunately I don't have the videos hosted anywhere else. You could see if they work direct on the vimeo site (http://vimeo.com/user7190193). Everything in that profile is for this project.
I have thought of using ShiftMatrixPWM to do a cube. In 4x4x4 I would do 4x4 as a direct wire up. (4x4=16, 16x3=48 LED's) So I would use 6 SR's and then have 1 SR (That would have controlled the ROW) to control the Plane. This should be well within the range that ShiftMatrixPWM can do (only 192 individual LED's). I am not sure if ShiftMatrixPWM will work correctly this way but for the life of me I can't see any reason it would not? I would certainly ask in the ShiftPWM thread and see if anyone else has actually used this for a cube.
There are limits on how many LED's you can address and if you are using a standard Arduino (328) the limitation is the array size (memory limitation). But if you were to use a MEGA with more memory I believe you could go beyond that. Currently with a 328 Arduino the limit is 1024 Leds. I currently have this many Leds running in a 16x64 single colour matrix. There are a number of other variables that influence how many LED's you can address (Frequency and Brightness levels) vs the speed of the arduino.
I am not sure if 10x10x10 RGB would be feasible....that would be 300 LED's per plane of the cube, with 10 planes that would be 3000 LED's that would need to be addressed total. I just don't know if you could do this at a fast enough frequency to not have flicker......
But that is not to say don't try. Would be very awesome to see!!!
Once again long time between posts.....but we have progress. I have obtained a USB to Serial adapter and have now tested connecting the TX of that to the RX of 2 Arduino's. This is what I have been banking on the whole time and it worked perfectly. Each Arduino waits for an assigned start byte and then acts on the bytes following the start byte. It then counts the bytes until it has a full module worth and displays them. The next start byte is received by the next Arduino and the sequence is repeated. This is how I plan to scale up to having 4 Arduino's working together, each controlling 2 DMD's. Thereby giving me a 64x64 resolution LED video screen.
I have ordered more panels (10 infact) and I am waiting for them to be delivered. Once I have them I will be attempting to scale up to full size.
In the mean time have a look at the 2 videos below. I used my camera phone and it is not great at capturing the LED's as they are quite bright. So I apologize for the image quality.
Hopefully in the coming weeks I will be able to show you the 64x64 in action.....I hope you like the colour GREEN!!!
Thanks DemonGibi. Glad to hear it worked for your panel. If anyone is interested, I have leveraged ElcoJacobs "ShiftMatrixPWM" and adapted it to work on these panels. It will only handle upto 2 panels (1024 leds max) at this time but it will allow you to have separate PWM on all LED's.
The library at the FreeTronics site does support more panels but is just 1 bit (on/off, no PWM), if that is all your after it is quite good. Just plugs in and goes. Handles Scrolling text and basic drawing (Dots, Lines, Circles).
Time has not been my friend lately. Sadly I have not gotten any further on this project. But I did manage to clean up my DMDPwm library and I have posted it on the Freetronics forum board. (If anyone here is interested in it let me know)
You asked in another thread about the setup of the row data/latch and the column data/latch. The best I can off on that would be to tell you to have a look at my fritzing image on the previous page. It shows the connections I was using for my 16x16 colour matrix. But simply there are two chains of shift registers. One for column control and one for row control. Once you have them setup It should all work.
shiftmatrixPWM and shiftPWM are similar but they do different things.
shiftPWM controls a daisy chain of ShiftRegisters(SR's) to allow you to use software PWM on their outputs. shiftmatrixPWM controls two chains of SR's. 1 set for vertical and 1 set for horizontal in a Matrix configuration. It handles all the row shifting and allows PWM on all LEDs in the matrix.
As far as I am aware ElcoJacobs is still working on the Matrix version and he hasn't put it on the site yet. Only place you can get it is from the forum posted linked by OP.
I have used both but in the 0023 IDE. It seems you are using a newer IDE and I am not sure if this has been tested. I am assuming you are trying to compile the Example in the library?
I would close the IDE, remove the library, re download the library and extract it again to your library folder. Just to be sure there are no errors and then trying to compile the example sketch.
Again, Months have passed. But for me they have been productive months.
I am very happy with the output of the Freetronics DMD device mentioned in the above post. I have been able to modify (Butcher ) the ShiftMatrixPWM library to work on these boards. I have even managed to get it working with 2 boards, 1024 red LED's, fully addressable and running at 50Hz with 32 brightness levels.
The way this hardware works though is very different to what ShiftMatrixPWM expects. I have had to make some major changes under the hood to format the information correctly to work with these displays. So much so I don't think you could still call this ShiftMatrixPWM anymore as it wouldn't work with a normal row/column "hand made" matrix. So I will call what I have made DmdPWM (all original credit goes to Elcojacobs for making a great library to base this off).
With this DmdPWM library now created and tested, I can finally start to order the components to make the display. So the display will consist of: - 1 x USB to serial adapter (bought from ebay cheap) - 4 x Arduino Duemilanove boards - 8 x Dmd's - 1 x 5v 40amp Power Supply
Currently I am testing with 1 Duemilanove and 2 Dmd's and using an ATX power supply (Looking to get a bench supply ). Here is a video being down scaled and serially sent to the Arduino with 2 Dmd's attached. This is just a fire effect on a loop.
I am still trying to round out the library code and clean it up but if anyone is interested in it, let me know. I haven't had anyone else test it yet. If you have one or a similar display (32x16, 1/4 scan and a zigzag register setup (not sure what to call it)) contact me.