极客工坊

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 31372|回复: 14

菜鸟求助:如何制作呼吸流水灯?附图

[复制链接]
发表于 2014-10-11 10:37:48 | 显示全部楼层 |阅读模式
如何用Arduino uno板子制作出这样的效果。

呼吸灯+流水灯

本帖子中包含更多资源

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

x
回复

使用道具 举报

发表于 2014-10-11 12:06:17 | 显示全部楼层
找一种有使能端控制的驱动,用PWM控制使能端,可以做呼吸;573是并行的,595是串转并的,可以做流水
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-10-11 12:35:54 | 显示全部楼层
STCunio 发表于 2014-10-11 12:06
找一种有使能端控制的驱动,用PWM控制使能端,可以做呼吸;573是并行的,595是串转并的,可以做流水

可不可以具体一点,我是新手!~
回复 支持 反对

使用道具 举报

发表于 2014-10-11 13:04:45 | 显示全部楼层
呼吸灯 可以参考精华区的 Arduino入门教程--第七课--程序PWM控制LED亮度[呼吸灯]
流水灯其实更简单 每个数字脚控制一路晶闸管,然后晶闸管接每个灯
控制流程参考流水灯原理即可。

另外友情提醒,如果这些都不想自己研究 那根本不用来玩ARDUINO直接买成品会是很好的选择。
想研究最好就是多看别人的代码 遇到问题再提问,不能都没想好怎么做就直接问。别人只能给你思路而不会手把手的教去实现。 代码这些基础还是要看的 这对以后学习单片机还是有不小帮助的。
回复 支持 反对

使用道具 举报

发表于 2014-10-11 13:05:46 | 显示全部楼层
还有就是楼主这个灯 其实不是呼吸灯 只是流水灯效果。。。灭的快了给人这个映像罢了~~
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-10-11 13:11:32 | 显示全部楼层
darkorigin 发表于 2014-10-11 13:04
呼吸灯 可以参考精华区的 Arduino入门教程--第七课--程序PWM控制LED亮度[呼吸灯]
流水灯其实更简单 每个数 ...

谢谢提醒,我会注意的。
回复 支持 反对

使用道具 举报

发表于 2014-10-11 13:32:31 | 显示全部楼层
这种应该叫水滴或者拖尾,就是明暗不同,实现起来就是PWM占空比不同
回复 支持 反对

使用道具 举报

发表于 2014-10-11 16:59:52 | 显示全部楼层
lz可以试试 ws2811  自己写程序想怎么变就怎么变
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-10-11 22:18:48 | 显示全部楼层
本帖最后由 FredKhoo 于 2014-10-11 22:44 编辑
  1. //项目——霹雳游侠效果
  2. //设计时间戳:2014年10月11日。
  3. //代码功能:将10个LED分为两个数组,往复式流水灯。
  4. //项目4——霹雳游侠效果
  5. //椤圭洰4鈥斺旈湽闆虫父渚犳晥鏋?
  6. byte ledPin1[]={4,5,6,7,8};
  7. byte ledPin2[]={9,10,11,12,13};
  8. int ledDelay(65);
  9. int direction=1;
  10. int icurrentLED=0;
  11. int ucurrentLED=5;
  12. unsigned long changeTime;

  13. void setup()
  14. {
  15. for (int x=0;x<5;x++)
  16. {
  17. pinMode(ledPin1[x],OUTPUT);
  18. pinMode(ledPin2[x],OUTPUT);
  19. changeTime=millis();
  20. }
  21. }

  22. void loop()
  23. {
  24. if ((millis()-changeTime)>ledDelay)
  25. {
  26. changeLED();
  27. changeTime=millis();
  28. }
  29. }

  30. void changeLED()
  31. {
  32. for (int x=0;x<5;x++)
  33. {
  34. digitalWrite(ledPin1[x],LOW);
  35. digitalWrite(ledPin1[x+1],LOW);
  36. digitalWrite(ledPin2[x],LOW);
  37. digitalWrite(ledPin2[x-1],LOW);
  38. }
  39. digitalWrite(ledPin1[icurrentLED],HIGH);
  40. digitalWrite(ledPin1[icurrentLED+1],HIGH);

  41. digitalWrite(ledPin2[ucurrentLED],HIGH);
  42. digitalWrite(ledPin2[ucurrentLED-1],HIGH);


  43. icurrentLED+=direction;
  44. ucurrentLED-=direction;
  45. if(icurrentLED==9){direction=-1;}
  46. if(icurrentLED==0){direction=1;}
  47. if(ucurrentLED==9){direction=-1;}
  48. if(ucurrentLED==0){direction=1;}
复制代码
刚做出来的,代码有待进一步的完善!~

如何使代码高亮显示啊!

回复 支持 反对

使用道具 举报

发表于 2014-10-11 23:00:22 | 显示全部楼层
速度好快,边学边做边上网几个小时就做出来啊。{:soso_e179:}
回复 支持 反对

使用道具 举报

发表于 2014-10-12 14:32:23 | 显示全部楼层
PWM         
回复 支持 反对

使用道具 举报

发表于 2014-11-3 20:11:27 | 显示全部楼层
我发现和我的问题差不多  虽然东西不一样但是道理一样
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-11-3 21:32:04 | 显示全部楼层
你是啥问题?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-11-3 21:50:59 | 显示全部楼层
抽烟不掉烟灰 发表于 2014-11-3 20:11
我发现和我的问题差不多  虽然东西不一样但是道理一样

能说出来让我学习一下吗?
回复 支持 反对

使用道具 举报

发表于 2014-11-4 09:26:13 | 显示全部楼层
FredKhoo 发表于 2014-11-3 21:50
能说出来让我学习一下吗?

目前 我还没解决
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|联系我们|极客工坊

GMT+8, 2026-6-18 13:04 , Processed in 0.070252 second(s), 25 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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