如何手动将数据(没有任何预制的库)发送到带有arduino的ws2801 LED灯带?
我不是要求有人为我编写代码,只是推动正确的方向。
我有一个arduino leonardo
答案 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。