打印
[技术问答]

音乐节奏灯如何不那么快熄灭,不够丝滑

[复制链接]
1585|14
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
稳稳の幸福|  楼主 | 2024-6-20 23:12 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我是检测一次ADC执行一次刷新,发现这样会导致LED闪缩,不丝滑。如何做到丝滑呢?
如何做到缓慢消退这个方法呢?

使用特权

评论回复
沙发
奔跑的牛| | 2024-6-21 16:44 | 只看该作者
在每次ADC检测之间,你可以插入一些中间的亮度值,使得LED的亮度在两次ADC检测之间平滑过渡。例如,如果上次ADC检测的结果是100,这次ADC检测的结果是200,那么你可以在两次检测之间插入100, 120, 140, 160, 180, 200这些亮度值,使得LED的亮度平滑过渡。

使用特权

评论回复
板凳
稳稳の幸福|  楼主 | 2024-6-30 18:23 | 只看该作者
奔跑的牛 发表于 2024-6-21 16:44
在每次ADC检测之间,你可以插入一些中间的亮度值,使得LED的亮度在两次ADC检测之间平滑过渡。例如,如果上 ...

懂了,非常感谢。试过了,方法好用。

使用特权

评论回复
地板
稳稳の幸福|  楼主 | 2024-6-30 18:26 | 只看该作者
奔跑的牛 发表于 2024-6-21 16:44
在每次ADC检测之间,你可以插入一些中间的亮度值,使得LED的亮度在两次ADC检测之间平滑过渡。例如,如果上 ...

在牛版主的讲的基础上我先采用了平均值法,每次检测若干次(通过宏可以指定,我现在用的是10次),然后取平均值,再利用牛版主的方法,将新的值与上次的值相加求平均,发现效果很好。非常感谢提供的思路。

使用特权

评论回复
5
caigang13| | 2024-7-4 08:11 | 只看该作者
要做到平滑就不能直接用ADC的值来控制,要做一下平滑滤波处理。

使用特权

评论回复
6
一只眠羊| | 2024-7-9 11:02 | 只看该作者
要使LED显示更加丝滑,避免闪烁,可以采用多缓冲技术,应该是可以的

使用特权

评论回复
7
在显示更新时,使用双缓冲技术可以避免直接在显示缓冲区进行写操作,从而减少闪烁。具体做法是先在一个后台缓冲区进行所有的绘图操作,完成后一次性将后台缓冲区的内容复制到前台显示缓冲区。

使用特权

评论回复
8
我吃小朋友| | 2024-7-9 16:00 | 只看该作者
提高ADC采样和LED刷新的频率,可以减少视觉上的闪烁感。确保ADC采样和LED刷新之间的同步,以避免数据更新时的不连续性。

使用特权

评论回复
9
在曼谷的春| | 2024-7-9 18:00 | 只看该作者
在更新LED显示时,可以使用平滑算法,如移动平均或低通滤波,来减少显示值的突变。这样可以使得LED的亮度变化更加平滑,减少闪烁。

使用特权

评论回复
10
失物招領| | 2024-7-9 20:00 | 只看该作者
如果希望LED的亮度缓慢消退,可以使用渐变效果。具体做法是在每次刷新时,将LED的亮度值逐渐减小,而不是直接设置为零。可以通过设置一个递减的步长来实现这一点,步长的大小决定了消退的速度。

使用特权

评论回复
11
月亮一键变蓝| | 2024-7-9 22:00 | 只看该作者
在ADC输入端添加硬件滤波电路,如RC滤波器,可以减少输入信号的噪声,从而使得ADC采样值更加稳定,减少LED显示的波动。

使用特权

评论回复
12
将爱藏于深海| | 2024-7-10 02:00 | 只看该作者
在软件层面,可以使用各种滤波算法来处理ADC采样值,如中值滤波、卡尔曼滤波等,以减少噪声对LED显示的影响。

使用特权

评论回复
13
她已醉| | 2024-7-10 04:00 | 只看该作者
如果LED是通过PWM(脉宽调制)来控制亮度的,可以调整PWM的频率和占空比,以实现更加平滑的亮度变化。

使用特权

评论回复
14
温室雏菊| | 2024-7-10 11:00 | 只看该作者
使用微控制器的定时器来控制ADC采样和LED刷新的时间间隔,确保它们在固定的时间点进行,这样可以提高系统的稳定性和一致性。

使用特权

评论回复
15
春日负喧| | 2024-7-10 14:00 | 只看该作者
建议使用高主频的MCU,而且要减少中断,保证驱动LED的时候不被打断才好

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

170

主题

3162

帖子

8

粉丝