搜索
bottom↓
回复: 81

挑战AVR的极限驱动72个WS2812B灯珠!!!

  [复制链接]

出0入0汤圆

发表于 2018-5-8 21:01:18 | 显示全部楼层 |阅读模式
本帖最后由 appfan 于 2018-5-8 21:01 编辑

WS2812B七彩LED只用一根数据线传输信号,使用极其方便,但是800K的数据速率,让好多网友困扰。看到网上有SPI+DMA方式驱动、PWM+DMA方式,但是要求单片机苛刻。
另外有些网友使用IO直接驱动,有需要主频高的单片机,而且十分耗费内存空间。今天有空使用最普通的Atmega16,主频8M,直接驱动72个WS2812灯珠
(因为手边只有72个,实际代码能驱动约300多个)

-->WS2812灯带细节<--



-->Atmega16单片机细节<--



-->WS2812截图细节<--



-->WS2812动态细节<--

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

阿莫论坛20周年了!感谢大家的支持与爱护!!

曾经有一段真挚的爱情摆在我的面前,我没有珍惜,现在想起来,还好我没有珍惜……

出0入0汤圆

发表于 2018-5-8 21:45:31 | 显示全部楼层
看起来不错哦

出0入0汤圆

发表于 2018-5-8 22:03:24 | 显示全部楼层
效果很不错,适合做广告牌。

出0入0汤圆

 楼主| 发表于 2018-5-8 22:18:37 | 显示全部楼层
关键这货就只需要:Vcc/Data/Gnd 三根线,省事!!!

出0入0汤圆

发表于 2018-5-8 22:28:16 | 显示全部楼层
看起来不错,给楼主顶起。

出0入8汤圆

发表于 2018-5-9 08:04:52 | 显示全部楼层
顶起  现在个个玩灯带都出神入化了 好多变化

出0入0汤圆

发表于 2018-5-9 08:37:18 来自手机 | 显示全部楼层
效果不错+1

出0入0汤圆

发表于 2018-5-9 09:00:32 | 显示全部楼层
炫耀贴。我用8MHz的Tiny85传得好好的。

出0入0汤圆

发表于 2018-5-9 09:02:14 | 显示全部楼层
楼主渐变的程序放上来看看

出0入0汤圆

发表于 2018-5-9 09:03:58 | 显示全部楼层
另外用SPI驱动就可以啊,不用DMA,3-4MHZ左右的SPI脉冲时间刚好,8和E 4位分别代表0、1

出0入0汤圆

发表于 2018-5-9 09:34:34 | 显示全部楼层
不明觉厉啊

出0入0汤圆

发表于 2018-5-9 09:56:51 | 显示全部楼层
我用的是STM32的DMA驱动,在办公室驱动稳定,到了灯具上就受干扰导致2812接收到乱码。原装的驱动器就不会,人家用的还他妈是8脚的STC单片机呢!

出0入0汤圆

发表于 2018-5-9 10:30:14 | 显示全部楼层
那有资料,整个玩玩

出0入0汤圆

发表于 2018-5-9 10:32:42 | 显示全部楼层
cc2666 发表于 2018-5-9 10:19
驱动电压有问题?

话说现在流水灯都这么玩啦,感觉落伍了

驱动电压应该没有问题,我加了个TI的电平转换芯片了。

出0入10汤圆

发表于 2018-5-9 10:33:44 | 显示全部楼层
WS2812B七彩LED
有意思
才知道有这种集成了驱动的灯带

出0入0汤圆

发表于 2018-5-9 10:37:13 | 显示全部楼层
avr这么强,效果不错。

出0入0汤圆

发表于 2018-5-9 10:41:51 | 显示全部楼层
支持下,放在自行车或者摩托上应该不错。就是费电~~~

出0入0汤圆

发表于 2018-5-9 10:45:32 | 显示全部楼层
见识了。。。自带驱动芯片的灯带??

出0入0汤圆

发表于 2018-5-9 11:13:04 | 显示全部楼层
CoolBird007 发表于 2018-5-9 10:45
见识了。。。自带驱动芯片的灯带??

自带芯片的RGB灯珠,然后级联,除了VCC、GND,只要一根线,还贼便宜!

出0入0汤圆

发表于 2018-5-9 11:15:45 | 显示全部楼层
好玩。。。。。。。。。。。。

出0入0汤圆

发表于 2018-5-9 11:22:18 | 显示全部楼层
可以装家里了

出0入0汤圆

发表于 2018-5-9 11:27:09 | 显示全部楼层
sharehej 发表于 2018-5-9 11:13
自带芯片的RGB灯珠,然后级联,除了VCC、GND,只要一根线,还贼便宜! ...

单根数据线,刷新够不够快吗?一串几百个的话。

出0入0汤圆

发表于 2018-5-9 11:43:43 | 显示全部楼层
8M晶振能这样不错。

出0入0汤圆

发表于 2018-5-9 11:45:33 来自手机 | 显示全部楼层
推荐WS2812C,亮度低一些。另外,可以看一下WS2812D,直插5mm、8mm封装都有

出0入0汤圆

发表于 2018-5-9 12:03:29 | 显示全部楼层
楼主做的不错

出0入0汤圆

发表于 2018-5-9 14:25:46 来自手机 | 显示全部楼层
用Arduino吧,有很多现成库驱动这个,变化可眼花缭乱。

出0入0汤圆

发表于 2018-5-9 14:37:56 | 显示全部楼层
给人家做项目,用的STM32驱动,是不是有点浪费资源了!!哈哈

出0入0汤圆

发表于 2018-5-9 14:43:34 来自手机 | 显示全部楼层
原来还有这种灯带

出0入0汤圆

发表于 2018-5-9 15:01:02 | 显示全部楼层
WS2812B 一般 I2S+DMA 驱动最方便吧,SPI+DMA 应该也差不多

出200入2554汤圆

发表于 2018-5-9 15:55:50 | 显示全部楼层
感觉就我闲得慌买了 Arduino 灯板,用 C/汇编 混合调通以后就吃灰去了。

这个是 ATMEGA328P @16MHz

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入0汤圆

发表于 2018-5-9 20:35:00 | 显示全部楼层
t3486784401 发表于 2018-5-9 15:55
感觉就我闲得慌买了 Arduino 灯板,用 C/汇编 混合调通以后就吃灰去了。

这个是 ATMEGA328P @16MHz

博士还是比较啊

出0入0汤圆

 楼主| 发表于 2018-5-9 21:06:13 | 显示全部楼层
本人使用的是c与汇编混编,SPI不是不行,但是占空间大,时序不准,自己汇编的一个灯就用三字节就好了,要不Atmega16是驱动不了这么多的灯珠的!!!

出0入0汤圆

 楼主| 发表于 2018-5-9 21:06:56 | 显示全部楼层
32楼的灯板确实看着华丽多了

出0入0汤圆

 楼主| 发表于 2018-5-9 21:10:12 | 显示全部楼层
@t3486784401 对了,你写AVR的iap程序不错,之前看过呢!

出0入0汤圆

发表于 2018-5-9 22:48:09 | 显示全部楼层
WS2812对时序要求严格,时序如何控制的?
如果mcu只用来驱动灯,不能干别的,那没啥实用价值吧。

出0入0汤圆

 楼主| 发表于 2018-5-9 23:33:33 | 显示全部楼层

1. 时序是根据汇编的指令周期,再加上示波器对的,理论上一个循环正好10个周期。
分成3个周期+7个周期,约为375ns和875ns,与手册的400ns和850ns基本一致。
T=实际周期为T=1.235us,可能由于示波器或者晶振原因有所误差,影响不大。
(8M晶振,每周期125ns,3T=375ns,7T=875ns实际相差25ns在150ns范围内)

2. 当然可以做别的啦,rom和ram只用了一小部分,需要显示了mcu只需要刷新一下,
然后就可以干别的了,不需要一直刷新,这是WS2812灯带的特性!

出0入0汤圆

发表于 2018-5-10 03:26:36 来自手机 | 显示全部楼层
本帖最后由 kenshudemayi 于 2018-5-10 03:30 编辑

我连说自己是一灯大师的资格都没了

出200入2554汤圆

发表于 2018-5-10 03:37:07 来自手机 | 显示全部楼层
appfan 发表于 2018-5-9 23:33
1. 时序是根据汇编的指令周期,再加上示波器对的,理论上一个循环正好10个周期。
分成3个周期+7个周期,约 ...

英雄所见略同。

我之前用7.3M的mega8带过这个灯条,也发过帖子,用的是9T循环,汇编凑出来的。

出200入2554汤圆

发表于 2018-5-10 03:38:03 来自手机 | 显示全部楼层
appfan 发表于 2018-5-9 21:10
@t3486784401 对了,你写AVR的iap程序不错,之前看过呢!

过奖,自己用着顺才是顺

出0入0汤圆

发表于 2018-5-10 07:05:56 | 显示全部楼层
手上有8S003做的控制器,红外遥控。控制512颗灯

出0入0汤圆

发表于 2018-5-10 07:19:50 来自手机 | 显示全部楼层
SM16726可见接1024个灯珠,串口通讯,最高30M串行速度。控制非常方便。

出0入0汤圆

发表于 2018-5-10 07:57:16 | 显示全部楼层
挺好,不过我们已经用来驱动16*16的WS2812点阵了

出0入0汤圆

发表于 2018-5-10 16:38:07 | 显示全部楼层
做的可真漂亮

出0入0汤圆

发表于 2018-5-11 08:40:13 来自手机 | 显示全部楼层
这灯都有些什么行业应用呢?拿来显示led显示器用咋样?

出0入0汤圆

发表于 2018-5-11 21:42:35 | 显示全部楼层
WS2812 不错的资料,学习了

出0入22汤圆

发表于 2018-5-11 21:52:52 来自手机 | 显示全部楼层
为啥不用硬件 spi呢?

出200入2554汤圆

发表于 2018-5-11 22:10:09 | 显示全部楼层
1066950103 发表于 2018-5-11 08:40
这灯都有些什么行业应用呢?拿来显示led显示器用咋样?

街边全彩的发光字,就是类似的玩意。每个灯一个控制器(我看有 SOP16 方案的,记不起是啥型号了),数据线一个个插过去。

不过我家门口的 KTV 天天坏,一整就是全白或者全黑,平均个把月抽风一次,看来可靠性不咋滴

出200入2554汤圆

发表于 2018-5-11 22:14:54 | 显示全部楼层
zxq6 发表于 2018-5-11 21:52
为啥不用硬件 spi呢?

没有 dma 的 spi 对于运算核的时间占用差不多。

结果还不如省个 spi 硬件端口.

出0入0汤圆

发表于 2018-5-13 08:02:02 | 显示全部楼层
SOP16估计是HC595,或者163

出0入0汤圆

发表于 2018-5-13 09:48:45 | 显示全部楼层
appfan 发表于 2018-5-8 22:18
关键这货就只需要:Vcc/Data/Gnd 三根线,省事!!!

这个省IO,哪里买的,可以装汽车大灯上当流水灯用

出0入0汤圆

发表于 2018-5-13 10:18:50 | 显示全部楼层
用三毛钱8脚单片机做过, 简单的显示效果没啥问题,如果来些花样就I不好搞了,速度不够。

出0入0汤圆

发表于 2018-5-13 13:30:06 | 显示全部楼层
好东西,还可以这样操作

出0入0汤圆

发表于 2018-5-13 15:48:04 | 显示全部楼层
以前没了解过,没想到这个灯带对单片机速度要求这么高,顶楼主

出0入0汤圆

 楼主| 发表于 2018-5-15 07:29:18 | 显示全部楼层
SNOOKER 发表于 2018-5-13 09:48
这个省IO,哪里买的,可以装汽车大灯上当流水灯用

TB上搜索“WS2812灯带”就行,根据显示密度购买对应灯带!

出0入0汤圆

 楼主| 发表于 2018-5-15 07:31:03 | 显示全部楼层
cdwess 发表于 2018-5-13 15:48
以前没了解过,没想到这个灯带对单片机速度要求这么高,顶楼主

要想使用低端低频(8M)单片机基本上就只能汇编算指令周期了!!

出0入0汤圆

 楼主| 发表于 2018-5-15 07:33:44 | 显示全部楼层
Feeling_MCU 发表于 2018-5-13 10:18
用三毛钱8脚单片机做过, 简单的显示效果没啥问题,如果来些花样就I不好搞了,速度不够。 ...

三毛钱的单片机,你说的是台湾出的吧,自己用过最便宜的也八毛钱了!

出0入0汤圆

 楼主| 发表于 2018-5-15 07:34:47 | 显示全部楼层
1066950103 发表于 2018-5-11 08:40
这灯都有些什么行业应用呢?拿来显示led显示器用咋样?

那真心不便宜,还不如买个点阵的LED拼接屏呢!

出0入0汤圆

发表于 2018-5-17 14:55:10 | 显示全部楼层
appfan 发表于 2018-5-15 07:34
那真心不便宜,还不如买个点阵的LED拼接屏呢!

流水灯的部分能发出来看看不,我觉得我做着玩的颜色太难看了

出0入0汤圆

发表于 2018-5-17 15:08:33 | 显示全部楼层
挑战极限不错 有前途

出0入0汤圆

发表于 2018-5-20 08:29:02 来自手机 | 显示全部楼层
长见识了,感谢,灯珠

出0入0汤圆

发表于 2018-5-23 19:52:11 | 显示全部楼层
厉害厉害

出0入0汤圆

发表于 2018-5-24 11:25:57 | 显示全部楼层
汇编部分的程序能发出来看看不,感觉时序上有点困难

出0入0汤圆

发表于 2018-5-26 21:29:59 | 显示全部楼层
欣赏一下

出0入0汤圆

发表于 2018-5-26 23:35:54 | 显示全部楼层
历害。。。。。

出0入0汤圆

发表于 2018-5-26 23:36:07 来自手机 | 显示全部楼层
还有这种灯带,了解下

出0入0汤圆

发表于 2018-5-27 08:13:20 来自手机 | 显示全部楼层
好玩的东东    看看先

出0入0汤圆

发表于 2018-5-28 16:40:28 | 显示全部楼层
彩色灯带

出0入4汤圆

发表于 2018-5-28 19:02:54 | 显示全部楼层
korren 发表于 2018-5-10 07:19
SM16726可见接1024个灯珠,串口通讯,最高30M串行速度。控制非常方便。

供电得隔一段加个5V吧,B型的电流还是蛮大的,接近17mA。这么多灯后边的颜色一致性也是个事。

出0入0汤圆

发表于 2018-5-28 20:05:19 来自手机 | 显示全部楼层
clesun 发表于 2018-5-28 19:02
供电得隔一段加个5V吧,B型的电流还是蛮大的,接近17mA。这么多灯后边的颜色一致性也是个事。 ...

可以用WS2812C,电流小很多,适合室内用

出0入0汤圆

发表于 2018-5-31 01:44:00 | 显示全部楼层
800k 光是跑中斷,AVR就快喘不過來了,引腳剩再多都沒什麼用

出0入0汤圆

发表于 2018-5-31 16:49:48 | 显示全部楼层
限量还可以的 多就好像不太行哦。

出0入4汤圆

发表于 2018-8-10 17:05:38 | 显示全部楼层
arduino的也用avr。各种花样,我用示波器看了两个上升沿之间大约1.2uS. 也是800k。

出0入0汤圆

发表于 2018-8-10 17:48:20 | 显示全部楼层
赞一个,很不错。

出0入0汤圆

 楼主| 发表于 2018-8-13 07:05:12 | 显示全部楼层
gmyu 发表于 2018-8-10 17:05
arduino的也用avr。各种花样,我用示波器看了两个上升沿之间大约1.2uS. 也是800k。 ...

还是感觉用ICCAVR直接C写代码方便,arduino IDE用着不顺手!

出0入4汤圆

发表于 2018-8-13 10:58:08 | 显示全部楼层
appfan 发表于 2018-8-13 07:05
还是感觉用ICCAVR直接C写代码方便,arduino IDE用着不顺手!

WS2812FX
53种特效,我现在跑120个灯,托托的。你试试。

出0入0汤圆

发表于 2018-8-13 13:57:07 | 显示全部楼层
历害, 挑战极限,不错...有程序就更好了

出0入0汤圆

发表于 2018-8-15 10:23:27 | 显示全部楼层
appfan 发表于 2018-8-13 07:05
还是感觉用ICCAVR直接C写代码方便,arduino IDE用着不顺手!

楼主是否可以公开灯流动刷新那块的源码呢?

出0入0汤圆

发表于 2019-4-10 13:37:53 | 显示全部楼层
gmyu 发表于 2018-8-13 10:58
WS2812FX
53种特效,我现在跑120个灯,托托的。你试试。

兄弟用了哪个单片机移植WS2812FX

出0入4汤圆

发表于 2019-4-12 10:02:58 | 显示全部楼层
chenweigang 发表于 2019-4-10 13:37
兄弟用了哪个单片机移植WS2812FX

stm32f103c8,spi+dma,不用汇编,因为就不走指令延时,直接设置好spi速率。
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片。注意:要连续压缩2次才能满足要求!!】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-8-25 19:02

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表