huzaifahm
Junior Member level 1
led dot matrix pld drive
This flickering can be removed in programming. Following is the pseudo code I follow:
For rows 0 to 6{
FillColumnBuffer(rowID)
TurnOFFRows(all)
ClockDataInCols()
TurnOnRow(rowID)
Delay()
}
You will have to be accurate about delay. And donot process anything else when clocking data in. You have to minimize the time between turning all rows OFF and turning the next row ON.
Regarding brightness control, You will have to introduce PWM of some sort, which will give 1 to each row in pulses. Usually, Instead of pulses, I turn each row on fully for like 8ms(assumed value) and then I turn off all rows. When you introduce PWM, it will use the same 8ms time, but instead of putting row ON full time, it will send pulses to turn leds on and off. The more the pulses, the lesser the brightness. That is why without using PWM will have the most brightness.
Do you need anymore help?
leoren_tm said:ah.ok..
back to my project...how can i elimanate shadowing? im driving my collum with a shiftregister,with latch and my row with 7port and a transistor,,
This flickering can be removed in programming. Following is the pseudo code I follow:
For rows 0 to 6{
FillColumnBuffer(rowID)
TurnOFFRows(all)
ClockDataInCols()
TurnOnRow(rowID)
Delay()
}
You will have to be accurate about delay. And donot process anything else when clocking data in. You have to minimize the time between turning all rows OFF and turning the next row ON.
Regarding brightness control, You will have to introduce PWM of some sort, which will give 1 to each row in pulses. Usually, Instead of pulses, I turn each row on fully for like 8ms(assumed value) and then I turn off all rows. When you introduce PWM, it will use the same 8ms time, but instead of putting row ON full time, it will send pulses to turn leds on and off. The more the pulses, the lesser the brightness. That is why without using PWM will have the most brightness.
Do you need anymore help?