DMD Brightness control

The Dot Matrix Display (DMD) is a 32x16 array of high-brightness LEDs for visually striking effects. [Product Page]
Papbo
Posts: 11
Joined: Sun Feb 19, 2017 10:59 am

Re: DMD Brightness control

Post by Papbo » Mon Mar 06, 2017 7:10 pm

Loki wrote:Now i understand, i checked my wirings and it is not connected anywhere.
ok Loki, It was also my conclusion...and I don't know how to use this pin 53 or if it is for a further usage??
Regards
Papbo

Loki
Posts: 18
Joined: Mon Jul 06, 2015 7:12 pm

Re: DMD Brightness control

Post by Loki » Mon Mar 06, 2017 8:09 pm

it has some SPI functionality, but if you use part of hw SPI for dmd it will be useless for anything else

Papbo
Posts: 11
Joined: Sun Feb 19, 2017 10:59 am

Re: DMD Brightness control

Post by Papbo » Tue Mar 07, 2017 12:08 pm

Loki wrote:it has some SPI functionality, but if you use part of hw SPI for dmd it will be useless for anything else
Ok Loki,
Regards
papbo

aprada66
Posts: 4
Joined: Sun Jul 30, 2017 3:03 pm

Re: DMD Brightness control

Post by aprada66 » Mon Jul 31, 2017 11:10 pm

Hi:

Here is my solution using timer2 to:
a) Control the DMD scanning
b) Control the brithtness

How to work:
Using timer2 interrupts in normal mode, the service routine turns ON and OFF the display, according the state of OE signal.


THE CODE:

//In Setup:
TCCR2A = B00000000; //Normal port operation
TCCR2B = B00000101; //clk/128
TCNT2 = 0;
TIMSK2 = B00000010; //Timer2 interrupt enabled (each 2ms)


//Timer2 interrupt service routine:
ISR(TIMER2_COMPA_vect) //Interruption every 2ms
{
if(!digitalRead(PIN_DMD_nOE))//Display OFF?
{//Display ON
TCNT2 = 255 - dmdBrillo;//dmdBrillo is a register with (1=min and 254=max)
dmdDelay++;
dmd.scanDisplayBySPI();
}
else
{//Display OFF
TCNT2 = dmdBrillo + 1;//dmdBrillo is a register with (1=min and 254=max)
OE_DMD_ROWS_OFF();
}
}

hapra2000
Posts: 1
Joined: Fri Oct 27, 2017 5:46 pm

Re: DMD Brightness control

Post by hapra2000 » Fri Oct 27, 2017 6:08 pm

Loki wrote:
Tue Feb 21, 2017 9:20 pm

Hi in attachemnt is updated DMD.cpp + DMD.h with birghtness and split step marquee as seen in my video, use Timer1.initialize( 5100 );
it works for me withou resistor on MEGA and UNO.just copy it onto %USERPROFILE%\My documents\Arduino\libraris\DMD

that Flickering on video is problem with phone camera and its refresh rate, it is not visible in real.
Hi Loki,
Your modification code is very good.
But it seem your code of stepmarquee2 function missing from DMD.cpp ?
Do you have the updates shareable ?

Post Reply