使用arduino将数据发送到ws2801 LED灯条

时间:2013-10-18 10:40:18

标签: arduino led

如何手动将数据(没有任何预制的库)发送到带有arduino的ws2801 LED灯带?

我不是要求有人为我编写代码,只是推动正确的方向。

我有一个arduino leonardo

3 个答案:

答案 0 :(得分:3)

使用SPI,这是来自Arduino的3条数据线。

查看本教程: Tronix SPI tutorial

然后是Arduino库/教程: Arduino SPI Tutorial/Library

现在查看数据表,看看你可以从中学到什么: WS2801 datasheet

有几个关于使用Arduino的在线视频教程,一旦你了解它就检查出来它真的非常简单。:

答案 1 :(得分:1)

WS2801确实使用类似于移位寄存器的SPI类型接口,推送3字节数据来填充第一个芯片,然后继续推动更多字节以便溢出。

数据表显示两条线,Clock&数据;但您也可以将POL(输出极性反转)连接到PWM输出以获得强度,从而实现3线接口。

请查看Adafruit-WS2801-Library以获取更多指导。

答案 2 :(得分:1)

这是几年之后,但我一直在研究同一主题,并找到了一些可以帮助下一位读者的相关信息。

This project by Josh Levine 使用7个WS2812B条显示滚动文本。条带并行连接到单个Arduino板,其代码不使用任何预先构建的库。

Check out the code here。主要的是WS2812b的时序非常具体,代码使用ASM来获得正确的时序。更多关于WS2812时序的阅读here

补充阅读:如果你对LED灯条的并联工作感兴趣,Josh还写了一篇文章解释他的比特运算技术,你可以read here