矩阵式LED的显示亮度不均匀

2019-07-14 15:11发布


如下图所示
4X3的矩阵LED;
由7个GPIO控制;







这个LED效果穿插在系统中;
首先说说,我的系统,单线程状态机,并且不能增加任何外部器件和电路
我尝试了单个点亮(一次只点亮一个灯),然后根据要点亮的效果(比如点亮LED2 LED 4 LED6 LED8 LED11 LED12)刷新6次;
然后,发现亮度不够,并且显示起来亮度不均匀,
然后又尝试了行列式点亮,也是亮度不均匀,
其实单独做个LED显示,问题简单,但是这个灯效怎么穿插到系统中,并且亮度要均匀(其实也就是刷新频率要固定);
最后在说一句,系统是裸奔,没有任何操作系统
所以向大家求个思路,对了有偿的,100RMB
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
18条回答
dingyang598
1楼-- · 2019-07-15 12:49
需要挂个驱动器,提供足够的电流
wangyuzi87
2楼-- · 2019-07-15 16:04
买块带例程的LED点阵模块,然后移植到相应的开发板上。以前曾点亮和显示过4个汉字,必须单独为点阵板模块提供独立的电源,因为功率较大。
吕少大大
3楼-- · 2019-07-15 20:30
本帖最后由 adlu 于 2017-12-6 14:30 编辑

不要按行列扫描一次点多个灯。
12个灯,每次只点亮1个就行了,也就是每个灯的扫描时间是扫描周期的1/12。
注意,即使某个灯信息为0,也要占用1/12的扫描周期,以确保无论显示亮多少个灯,亮度都一样。
这样就解决了亮度不均匀的问题。

限流电阻改小一点,这是不增加硬件的条件下,提高亮度的唯一方法了。

要保证固定扫描周期,当然要用定时器。可以设置优先级低于语音所用的定时器中断。
如果语音所用定时中断处理时间较长,影响到亮度的话,可以在进入该中断时,暂停显示用的定时器,并关闭显示,并保存当前扫描的位置,退出中断时开显示和恢复定时器。
sdfsgsd
4楼-- · 2019-07-16 01:45
吕少大大 发表于 2018-12-17 10:40
本帖最后由 adlu 于 2017-12-6 14:30 编辑

不要按行列扫描一次点多个灯。

这样不对,我觉得 应该是行列式的,这样可以减少扫描周期,从而提高亮度;
我现在设置的定时器 是 48000000/(479+1)(1+1) = 50KHZ;
但是,尝试更高亮度,发现会影响我读取按键值的速度;后面我会去采用降低限流电阻去尝试提高亮度
吕少大大
5楼-- · 2019-07-16 02:03
 精彩回答 2  元偷偷看……
sdfsgsd
6楼-- · 2019-07-16 07:55
吕少大大 发表于 2018-12-17 11:04
"不要按行列扫描",理由是你当前的电路下,减小电阻后,GPIO输出电流有限,驱动多个灯时,亮度不均匀。

先看看吧,我主要是觉得单个点要 12次,行列式 只需要3次;这样亮度会高点

一周热门 更多>