挑战AVR的极限驱动72个WS2812B灯珠!!!
本帖最后由 appfan 于 2018-5-8 21:01 编辑WS2812B七彩LED只用一根数据线传输信号,使用极其方便,但是800K的数据速率,让好多网友困扰。看到网上有SPI+DMA方式驱动、PWM+DMA方式,但是要求单片机苛刻。
另外有些网友使用IO直接驱动,有需要主频高的单片机,而且十分耗费内存空间。今天有空使用最普通的Atmega16,主频8M,直接驱动72个WS2812灯珠
(因为手边只有72个,实际代码能驱动约300多个)
-->WS2812灯带细节<--
-->Atmega16单片机细节<--
-->WS2812截图细节<--
-->WS2812动态细节<--
看起来不错哦 效果很不错,适合做广告牌。 关键这货就只需要:Vcc/Data/Gnd 三根线,省事!!!
https://img-blog.csdn.net/20170125183428598?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvem9vbWR5/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast 看起来不错,给楼主顶起。 顶起现在个个玩灯带都出神入化了 好多变化 效果不错+1 炫耀贴。我用8MHz的Tiny85传得好好的。
楼主渐变的程序放上来看看 另外用SPI驱动就可以啊,不用DMA,3-4MHZ左右的SPI脉冲时间刚好,8和E 4位分别代表0、1 不明觉厉啊 我用的是STM32的DMA驱动,在办公室驱动稳定,到了灯具上就受干扰导致2812接收到乱码。原装的驱动器就不会,人家用的还他妈是8脚的STC单片机呢! 那有资料,整个玩玩{:titter:} cc2666 发表于 2018-5-9 10:19
驱动电压有问题?
话说现在流水灯都这么玩啦,感觉落伍了
驱动电压应该没有问题,我加了个TI的电平转换芯片了。 WS2812B七彩LED
有意思
才知道有这种集成了驱动的灯带 avr这么强,效果不错。 支持下,放在自行车或者摩托上应该不错。就是费电~~~ 见识了。。。自带驱动芯片的灯带?? CoolBird007 发表于 2018-5-9 10:45
见识了。。。自带驱动芯片的灯带??
自带芯片的RGB灯珠,然后级联,除了VCC、GND,只要一根线,还贼便宜! 好玩。。。。。。。。。。。。 可以装家里了 sharehej 发表于 2018-5-9 11:13
自带芯片的RGB灯珠,然后级联,除了VCC、GND,只要一根线,还贼便宜! ...
单根数据线,刷新够不够快吗?一串几百个的话。 8M晶振能这样不错。 推荐WS2812C,亮度低一些。另外,可以看一下WS2812D,直插5mm、8mm封装都有 楼主做的不错 用Arduino吧,有很多现成库驱动这个,变化可眼花缭乱。 给人家做项目,用的STM32驱动,是不是有点浪费资源了!!哈哈 原来还有这种灯带 WS2812B 一般 I2S+DMA 驱动最方便吧,SPI+DMA 应该也差不多
感觉就我闲得慌买了 Arduino 灯板,用 C/汇编 混合调通以后就吃灰去了。
这个是 ATMEGA328P @16MHz
t3486784401 发表于 2018-5-9 15:55
感觉就我闲得慌买了 Arduino 灯板,用 C/汇编 混合调通以后就吃灰去了。
这个是 ATMEGA328P @16MHz
博士还是比较啊 本人使用的是c与汇编混编,SPI不是不行,但是占空间大,时序不准,自己汇编的一个灯就用三字节就好了,要不Atmega16是驱动不了这么多的灯珠的!!! 32楼的灯板确实看着华丽多了 @t3486784401 对了,你写AVR的iap程序不错,之前看过呢! WS2812对时序要求严格,时序如何控制的?
如果mcu只用来驱动灯,不能干别的,那没啥实用价值吧。
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灯带的特性! 本帖最后由 kenshudemayi 于 2018-5-10 03:30 编辑
我连说自己是一灯大师的资格都没了 appfan 发表于 2018-5-9 23:33
1. 时序是根据汇编的指令周期,再加上示波器对的,理论上一个循环正好10个周期。
分成3个周期+7个周期,约 ...
英雄所见略同。
我之前用7.3M的mega8带过这个灯条,也发过帖子,用的是9T循环,汇编凑出来的。 appfan 发表于 2018-5-9 21:10
@t3486784401 对了,你写AVR的iap程序不错,之前看过呢!
过奖,自己用着顺才是顺 手上有8S003做的控制器,红外遥控。控制512颗灯 SM16726可见接1024个灯珠,串口通讯,最高30M串行速度。控制非常方便。 挺好,不过我们已经用来驱动16*16的WS2812点阵了{:lol:} 做的可真漂亮 这灯都有些什么行业应用呢?拿来显示led显示器用咋样? WS2812 不错的资料,学习了 为啥不用硬件 spi呢? 1066950103 发表于 2018-5-11 08:40
这灯都有些什么行业应用呢?拿来显示led显示器用咋样?
街边全彩的发光字,就是类似的玩意。每个灯一个控制器(我看有 SOP16 方案的,记不起是啥型号了),数据线一个个插过去。
不过我家门口的 KTV 天天坏,一整就是全白或者全黑,平均个把月抽风一次,看来可靠性不咋滴 zxq6 发表于 2018-5-11 21:52
为啥不用硬件 spi呢?
没有 dma 的 spi 对于运算核的时间占用差不多。
结果还不如省个 spi 硬件端口. SOP16估计是HC595,或者163 appfan 发表于 2018-5-8 22:18
关键这货就只需要:Vcc/Data/Gnd 三根线,省事!!!
这个省IO,哪里买的,可以装汽车大灯上当流水灯用 用三毛钱8脚单片机做过, 简单的显示效果没啥问题,如果来些花样就I不好搞了,速度不够。 好东西,还可以这样操作 以前没了解过,没想到这个灯带对单片机速度要求这么高,顶楼主 SNOOKER 发表于 2018-5-13 09:48
这个省IO,哪里买的,可以装汽车大灯上当流水灯用
TB上搜索“WS2812灯带”就行,根据显示密度购买对应灯带! cdwess 发表于 2018-5-13 15:48
以前没了解过,没想到这个灯带对单片机速度要求这么高,顶楼主
要想使用低端低频(8M)单片机基本上就只能汇编算指令周期了!! Feeling_MCU 发表于 2018-5-13 10:18
用三毛钱8脚单片机做过, 简单的显示效果没啥问题,如果来些花样就I不好搞了,速度不够。 ...
三毛钱的单片机,你说的是台湾出的吧,自己用过最便宜的也八毛钱了! 1066950103 发表于 2018-5-11 08:40
这灯都有些什么行业应用呢?拿来显示led显示器用咋样?
那真心不便宜,还不如买个点阵的LED拼接屏呢! appfan 发表于 2018-5-15 07:34
那真心不便宜,还不如买个点阵的LED拼接屏呢!
流水灯的部分能发出来看看不,我觉得我做着玩的颜色太难看了{:sad:} 挑战极限不错 有前途 长见识了,感谢,灯珠 厉害厉害 汇编部分的程序能发出来看看不,感觉时序上有点困难 欣赏一下{:handshake:}{:handshake:} 历害。。。。。 还有这种灯带,了解下 好玩的东东 看看先 彩色灯带 korren 发表于 2018-5-10 07:19
SM16726可见接1024个灯珠,串口通讯,最高30M串行速度。控制非常方便。
供电得隔一段加个5V吧,B型的电流还是蛮大的,接近17mA。这么多灯后边的颜色一致性也是个事。 clesun 发表于 2018-5-28 19:02
供电得隔一段加个5V吧,B型的电流还是蛮大的,接近17mA。这么多灯后边的颜色一致性也是个事。 ...
可以用WS2812C,电流小很多,适合室内用
800k 光是跑中斷,AVR就快喘不過來了,引腳剩再多都沒什麼用 限量还可以的 多就好像不太行哦。 arduino的也用avr。各种花样,我用示波器看了两个上升沿之间大约1.2uS. 也是800k。 赞一个,很不错。 gmyu 发表于 2018-8-10 17:05
arduino的也用avr。各种花样,我用示波器看了两个上升沿之间大约1.2uS. 也是800k。 ...
还是感觉用ICCAVR直接C写代码方便,arduino IDE用着不顺手! appfan 发表于 2018-8-13 07:05
还是感觉用ICCAVR直接C写代码方便,arduino IDE用着不顺手!
WS2812FX
53种特效,我现在跑120个灯,托托的。你试试。 历害, 挑战极限,不错...有程序就更好了 appfan 发表于 2018-8-13 07:05
还是感觉用ICCAVR直接C写代码方便,arduino IDE用着不顺手!
楼主是否可以公开灯流动刷新那块的源码呢? gmyu 发表于 2018-8-13 10:58
WS2812FX
53种特效,我现在跑120个灯,托托的。你试试。
兄弟用了哪个单片机移植WS2812FX chenweigang 发表于 2019-4-10 13:37
兄弟用了哪个单片机移植WS2812FX
stm32f103c8,spi+dma,不用汇编,因为就不走指令延时,直接设置好spi速率。
页:
[1]