Home
JAQForum Ver 24.01
Log In or Join  
Active Topics
Local Time 08:13 27 Nov 2024 Privacy Policy
Jump to

Notice. New forum software under development. It's going to miss a few functions and look a bit ugly for a while, but I'm working on it full time now as the old forum was too unstable. Couple days, all good. If you notice any issues, please contact me.

Forum Index : Microcontroller and PC projects : Mik-Matrix

Author Message
Justplayin

Guru

Joined: 31/01/2014
Location: United States
Posts: 326
Posted: 09:41am 06 Jan 2016
Copy link to clipboard 
Print this post

A few months ago Mick contacted me and asked if I could create a moving sign using colour LED matrix modules. I promptly said “NO!”. A little time passed and Mick asked again and I said “No, MMBASIC is too slow.” A little more time went by and I'm day dreaming about a project which could be enhanced by a colored text output when Mick contacts me again. This time I say maybe I could do this but the driver board does not exist for the smaller sized matrix displays and it would be really be nice if connections between the boards were rotated 90 degrees.

Why the 90 degree rotation? Because the typical layout for matrix driver boards display data in rows. Trying to display fonts in row format is a major pain to deal with if your font is not 8X8. Using a smaller font requires a lot if bit and byte manipulation to get more that one character onto a display. Plus, Scrolling any font requires constant bit and byte manipulations. With the display rotated 90 degrees the rows become columns and fonts are simply a series of whole bytes. With everything as whole bytes the font width no longer matters and scrolling is simply a matter of displaying a series of bytes and changing the starting position repeatedly.

So, Mick has created the Mik-Matrix Bi-Colour LED display driver board and I have written some software to display moving messages. As with my previous programs, this program is not a "Finished Product". It is meant to inspire and demonstrate what might be done with these displays. It could use some enhancements such as a message editor to create and store the messages. Currently the messages are contained in DATA statements and you have to edit the main program to change them. I have an idea for an editor, but simply didn't have the time to create it. And the program could possibly benefit frome a Cfuntcion to speed up writing the data out the SPI port. Even though I have set the SPI port to a 5MHz clock, the data output speed seems to remain constant with settings of 1MHz and above. However, I'm not a C programmer.

The program can be downloaded from here I have tried to add lot of comments of what is happening in the program, but I admit it contains some spaghetti code. It really should be re-written from the ground up. The current version is a continuous series of “Can you add this feature” requests and then grafting that feature on to the existing code.

See Mick's PCB offerings for details about the Mik-Matrix board here and here

--Curtis


I am not a Mad Scientist...  It makes me happy inventing new ways to take over the world!!
 
cicciocb
Regular Member

Joined: 29/04/2014
Location: France
Posts: 70
Posted: 08:43am 07 Jan 2016
Copy link to clipboard 
Print this post

Very nice job. I did one on the same style during my christmas holidays but a little bigger (1 meter x 20 cm) with very bright RGB led strips.
I could post some pictures, if you want.
 
Justplayin

Guru

Joined: 31/01/2014
Location: United States
Posts: 326
Posted: 09:08am 07 Jan 2016
Copy link to clipboard 
Print this post

  cicciocb said  I could post some pictures, if you want.


Please do, I love seeing what other people have put together.

--Curtis
I am not a Mad Scientist...  It makes me happy inventing new ways to take over the world!!
 
cicciocb
Regular Member

Joined: 29/04/2014
Location: France
Posts: 70
Posted: 10:31am 07 Jan 2016
Copy link to clipboard 
Print this post

As promised, please find here some pictures;

This is the display itself:


This is the detail of the led strips


This is how is powered (with a PC power supply)


The controller (PIC + wifi module)


A snapshot of the web control page taken from my iphone


Some pictures




If you are really interested I can try to post a video showing the scrolling text.

Regards,
Cicciocb
 
Justplayin

Guru

Joined: 31/01/2014
Location: United States
Posts: 326
Posted: 11:34am 07 Jan 2016
Copy link to clipboard 
Print this post

That looks really good. What PIC did you use? I saw a similar LED sign recently and the builder covered the front with a cheap corrugated white plastic panel which gave the bright LEDs a interesting soft glow.

--CurtisEdited by Justplayin 2016-01-08
I am not a Mad Scientist...  It makes me happy inventing new ways to take over the world!!
 
cicciocb
Regular Member

Joined: 29/04/2014
Location: France
Posts: 70
Posted: 12:01pm 07 Jan 2016
Copy link to clipboard 
Print this post

The pic is a pic32mx150. I bought but not yet installed a transparent plexiglass cover.
The image is very bright, even outside in full day light conditions.
For internal use, the brightness needs to be reduced at around 5% of the full level.
Honestly I started the project to spend some time with my son during the christmas holidays, aiming to show a nice scrolling message outside the house.
Now it's already taking dust in the garage....
If I have some time, i wish add a microphone and transform the display as a giant music bargraph.

Cicciocb

Edited by cicciocb 2016-01-08
 
Justplayin

Guru

Joined: 31/01/2014
Location: United States
Posts: 326
Posted: 12:21pm 07 Jan 2016
Copy link to clipboard 
Print this post

  cicciocb said  Honestly I started the project to spend some time with my son during the christmas holidays, aiming to show a nice scrolling message outside the house.


Over the holidays I setup my little display on my desk showing the countdowns for Christmas and the New Year running. I put this together for Halloween and placed it on the front counter at the office. I covered it with some grayish fishnet and added some plastic spiders.

--Curtis
I am not a Mad Scientist...  It makes me happy inventing new ways to take over the world!!
 
bigmik

Guru

Joined: 20/06/2011
Location: Australia
Posts: 2914
Posted: 03:52pm 07 Jan 2016
Copy link to clipboard 
Print this post

GDay Cicciocb,

That is really cool,

I am curious as to how you control individual LEDs on those LED strips? Aren't all the LEDs on each strip in parallel?

Regards,

Mick


PS..

I have thought about doing a version for the larger 50mm or 60mm displays.

The problem with the 32mm displays is the cost of the Common CATHODE matrix and the fact they, for some unknown reason, are not very readily available.

If I went to larger boards we might be able to use common ADODE types and fit cheap inverters on board..

Mik
Mick's uMite Stuff can be found >>> HERE (Kindly hosted by Dontronics) <<<
 
cicciocb
Regular Member

Joined: 29/04/2014
Location: France
Posts: 70
Posted: 10:18pm 07 Jan 2016
Copy link to clipboard 
Print this post

Hi Mick,
all the leds are WS2812B.
The display is simply a long strip of WS2812B, all connected in a daisy chain configuration.
The total is long daisy chain of 8 strips of 60 leds (480 leds).

As you can see from the controller picture, there is just one wire that control the entire strip (the green one).

As each led needs around 50mA at full brightness, you can understand why I installed a PC power supply (50mA * 480leds = 24A and 24A * 5V = 120W!).

I can confirm that, if I drive all the leds at full brightness, the emitted light it's very very bright.

Cicciocb
 
MicroBlocks

Guru

Joined: 12/05/2012
Location: Thailand
Posts: 2209
Posted: 10:30pm 07 Jan 2016
Copy link to clipboard 
Print this post

Cicciocb,

Nice project!

How fast do you send the data to get a smooth scrolling text?
You need to send 480 RGB packets for each change, is that right?

Are you using SPI for that?

Microblocks. Build with logic.
 
cicciocb
Regular Member

Joined: 29/04/2014
Location: France
Posts: 70
Posted: 01:56am 08 Jan 2016
Copy link to clipboard 
Print this post

Hello, as I start to forget easily, I'm not very sure about what I'm going to say.
As I try to stick on the datasheet specification of the WS2812B, to refresh the display you need 1.25uS * 24bit * 480 led = 14.4mSec.

If I remember well, it takes less than 10mS to scroll a pixel on the full display.

So, I think that it's possible to acheive more than 30 refresh / second; this is very fast as I'm obliged to insert a delay to obtain a "correct" scrolling.

I used the bitbang at the beginning with a satisfactory result but I switched to SPI associated with DMA; in this case there is plenty of cpu free time and, with a double buffering, you can nearly double the rate.

Cicciocb
 
MicroBlocks

Guru

Joined: 12/05/2012
Location: Thailand
Posts: 2209
Posted: 06:41am 08 Jan 2016
Copy link to clipboard 
Print this post

Thanks.
That would be fast enough.
A friend of mine is into pin ball machines and asked me if i knew how to make a display that can show simple animations.
With those speeds it will be possible.

Microblocks. Build with logic.
 
Print this page


To reply to this topic, you need to log in.

© JAQ Software 2024