查看: 2344|回复: 11

[未解决] 如何用arduino点亮大量灯带

[复制链接]

该用户从未签到

发表于 2017-10-12 10:28 | 显示全部楼层 |阅读模式
10金币
本帖最后由 zhaicool 于 2017-10-12 11:18 编辑

如何用arduino同时点亮大量的灯带,比如100米长的WS2812灯带。我用arduino pro mini 一个针脚一次性只能操作灯带上的255颗灯,再多就操作不了了。
如果arduino不行的话有没有其他方案?比如树莓派什么的。我觉得arduino应该可以,毕竟都能做3d打印机。
最好是可以用电脑直接点亮,哈哈哈,我觉得应该可行,只是对电脑的串口什么的根本不了解。


我有个思路不知道可不可行,就是把灯带闪亮效果的颜色数值写入数据库,这样arduino就不用计算灯带是怎么亮的,只要负责从数据库中读颜色数据就行,然后根据读的数据点亮对应的灯。但是因为灯带太长,灯太多,所以颜色数值占据的空间太大,基本得几十kb,这样数据传输上就会有问题,会导致灯带闪烁卡顿。


就是这种效果
QQ图片20171012111822.png

该用户从未签到

发表于 2017-10-12 11:12 | 显示全部楼层
你提到的“我用arduino pro mini 一个针脚一次性只能操作灯带上的255颗灯,再多就操作不了了。” 这个限制是什么意思? WS2811 都是在 400K/800K 这样的频率下操作的,我觉得不会有问题啊?你碰到的是多了之后会闪烁还是什么?
打赏作者鼓励一下!
  • TA的每日心情
    开心
    2018-7-20 08:34
  • 签到天数: 265 天

    [LV.8]以坛为家I

    发表于 2017-10-12 11:15 | 显示全部楼层
    2812可以512或者1024以上的级联吧?  或者ARDUINO有那么多脚,随便弄几个出来也够用了~
    打赏一点,努力一点

    该用户从未签到

     楼主| 发表于 2017-10-12 11:20 | 显示全部楼层
    Zoologist 发表于 2017-10-12 11:12
    你提到的“我用arduino pro mini 一个针脚一次性只能操作灯带上的255颗灯,再多就操作不了了。” 这个限制 ...

    就是点不亮 我写的for循环 当i大于255之后 前255颗都亮  后面的就点不亮了

    该用户从未签到

     楼主| 发表于 2017-10-12 11:20 | 显示全部楼层
    sun910231 发表于 2017-10-12 11:15
    2812可以512或者1024以上的级联吧?  或者ARDUINO有那么多脚,随便弄几个出来也够用了~ ...

    难道是我代码错误?我的感觉就是arduino内存不够 处理不过来。。。

    该用户从未签到

    发表于 2017-10-12 12:07 | 显示全部楼层
    zhaicool 发表于 2017-10-12 11:20
    就是点不亮 我写的for循环 当i大于255之后 前255颗都亮  后面的就点不亮了

    你这么一说还真可能是库的问题,有可能设计的时候没有考虑这么多的情况,或者是哪个变量误用了 byte

    不过应该不是内存限制导致的问题。

    要不你就拆成2个,一个控制 256个LED
    打赏作者鼓励一下!

    该用户从未签到

     楼主| 发表于 2017-10-12 13:47 | 显示全部楼层
    Zoologist 发表于 2017-10-12 12:07
    你这么一说还真可能是库的问题,有可能设计的时候没有考虑这么多的情况,或者是哪个变量误用了 byte

    不 ...

    只能考虑拆  但是灯带数量太多了 工作量不小啊

    这种大规模的该怎么实现啊 是不是arduino不适合

    该用户从未签到

    发表于 2017-10-12 15:37 | 显示全部楼层
    你只要在中间拆开一下就好了啊,

    不需要把所有的都拆开
    打赏作者鼓励一下!
  • TA的每日心情
    奋斗
    2015-10-15 21:52
  • 签到天数: 1 天

    [LV.1]初来乍到

    发表于 2017-10-13 13:17 | 显示全部楼层
    声明多个strip对象,然后每个对象对应arduino不同的引脚,灯带每256个一组不就可以了,那样以arduino十多个引脚可以控制好多了

    该用户从未签到

     楼主| 发表于 2017-10-13 16:27 | 显示全部楼层
    typ 发表于 2017-10-13 13:17
    声明多个strip对象,然后每个对象对应arduino不同的引脚,灯带每256个一组不就可以了,那样以arduino十多个 ...

    原则上可以 但是架不住灯带太多 需要很多个arduino板子拼凑出一个完整的效果 那么这几个arduino之间则需要交互  交互的话 就需要相互传递数据 我可能是在通信这一环节上的代码不过关

    实际上就是想用灯带做一个大型的光立方 能力支撑不起这个想法。。。
    高级模式  
    您需要登录后才可以回帖 登录 | 立即注册  

    本版积分规则

    热门推荐

    Arduino Uno 电机无法正常工作问题
    Arduino Uno 电机无法正常
    如图,请问代码有什么不对的地方吗 #include #include #include double angle_r
    顔色傳感器
    顔色傳感器
    有會使用顔色傳感器的朋友嗎?請問怎樣識別紅色和藍色,當然能來段代碼就更好了
    Blink——Arduino的Hello World!
    Blink——Arduino的Hello
    本教程节选自《Arduino程序设计基础》 Arduino编程基础(零)——Blink,Arduino的He
    创客集结号项目:太阳能陀螺仪机器人
    创客集结号项目:太阳能陀
    这是一只最简单的全自动机器人,它不像居家电器一样需要电源开关,也不需要人来维护,
    关于蓝牙4.0的问题
    关于蓝牙4.0的问题
    蓝牙4.0始终进不来AT,用的是JDY08 代码 #include SoftwareSerial BT(10, 11); // 接
    Copyright   ©2015-2016  Arduino中文社区  Powered by©Discuz!   ( 蜀ICP备14017632号-3 )
    快速回复 返回顶部 返回列表