HUGE 2560 LED dot matrix - Open source BASIC code
Posted: Fri Jun 09, 2017 2:00 am
Friends,
Here is the ControlBASIC code to generate "pixel data" for a really HUGE, 2 x 20 module LED matrix using the ubiquitous MAX7219 modules. It contains data for both the standard, small font (usually called "5x7", even though some of my letters have a differing width), as well as a BIG font, using the full height of the display.
The photo shows examples of both fonts. The little aluminum box on the right is a 6000 mAh "USB travel charger" which can supply power to the display for several hours; at minimum brightness, the current draw is about 350-500 mA. You can of course also use a standard mains powered USB charger, or any other stable 5 volt source (min. 1 Amp).
Note that I have epoxy-glued the LED modules to each other, as well as to an aluminum profile frame, encircling them all and keeping the whole package together. Black adhesive plastic covers the aluminum on the front side, and keeps a red filter foil in place (without the foil, the readability suffers, especially in bright light).
This time, I've connected the modules "straight" as opposed to diagonally in an earlier version - however, this requires a quite time-consuming rotation of the font data before display (in fact, 2560 calculations, one for each LED!!!) If you connect the modules diagonally (see my previous posts), you can remove the "convertupper" and "convertlower" subroutines, and speed up the generation of a screenfull of text by some 3 seconds.
One caveat: If you set the brightness to much more than the minimum (as set in my code), the power draw will increase significantly (to well over 1000 mA), so you might need to filter the power to the EzSBC1 better than I have - as is, using too high a LED brightness may reset the EzSBC1 board...
Here is the ControlBASIC code to generate "pixel data" for a really HUGE, 2 x 20 module LED matrix using the ubiquitous MAX7219 modules. It contains data for both the standard, small font (usually called "5x7", even though some of my letters have a differing width), as well as a BIG font, using the full height of the display.
The photo shows examples of both fonts. The little aluminum box on the right is a 6000 mAh "USB travel charger" which can supply power to the display for several hours; at minimum brightness, the current draw is about 350-500 mA. You can of course also use a standard mains powered USB charger, or any other stable 5 volt source (min. 1 Amp).
Note that I have epoxy-glued the LED modules to each other, as well as to an aluminum profile frame, encircling them all and keeping the whole package together. Black adhesive plastic covers the aluminum on the front side, and keeps a red filter foil in place (without the foil, the readability suffers, especially in bright light).
This time, I've connected the modules "straight" as opposed to diagonally in an earlier version - however, this requires a quite time-consuming rotation of the font data before display (in fact, 2560 calculations, one for each LED!!!) If you connect the modules diagonally (see my previous posts), you can remove the "convertupper" and "convertlower" subroutines, and speed up the generation of a screenfull of text by some 3 seconds.
One caveat: If you set the brightness to much more than the minimum (as set in my code), the power draw will increase significantly (to well over 1000 mA), so you might need to filter the power to the EzSBC1 better than I have - as is, using too high a LED brightness may reset the EzSBC1 board...