查看: 810|回复: 0

【跟二叔玩AVR】之一:学做流水灯

[复制链接]
  • TA的每日心情
    擦汗
    2015-3-6 13:14
  • 签到天数: 6 天

    连续签到: 1 天

    [LV.2]偶尔看看I

    发表于 2015-1-4 08:56:02 | 显示全部楼层 |阅读模式
    分享到:
    今天突发奇想做了个流水灯,想必流水灯大家都熟悉吧,高级blink
    首先准备器件:
    Arduino Mini Pro(卓泰牌的)洞洞板一块5*7cm单排座两条1*12P红色LED六个电阻六个,不会看色环随便拿的,估计是1K的导线若干,飞线用6P电话头座儿两个,可以没有下面就是焊接啦,由于太简单,也懒得画图了,
    LED的正极全部焊到mini的5V上,可能是叫共阳吧,
    然后串上电阻,分别焊到mini的9、8、7、6、5、4六个脚,
    大概就是如图的样子,LED有些歪,请忽略


    然后开始写程序
    int i1 = 9;int i2 = 8;int i3 = 7;int i4 = 6;int i5 = 5;int i6 = 4; void setup() {  pinMode(i1, OUTPUT);  pinMode(i2, OUTPUT);  pinMode(i3, OUTPUT);  pinMode(i4, OUTPUT);  pinMode(i5, OUTPUT);  pinMode(i6, OUTPUT);}理论结果是6个LED灯全亮,结果有一个可能是被二叔烫坏了


    也就是5号灯,费了半天力气,又换了一个,果然好啦
    继续写程序
    void loop() {  delay(1000);   digitalWrite(i6, HIGH);  digitalWrite(i1, LOW);  delay(1000);   digitalWrite(i1, HIGH);  digitalWrite(i2, LOW);  delay(1000);  digitalWrite(i2, HIGH);  digitalWrite(i3, LOW);  delay(1000);  digitalWrite(i3, HIGH);  digitalWrite(i4, LOW);  delay(1000);  digitalWrite(i4, HIGH);  digitalWrite(i5, LOW);  delay(1000);  digitalWrite(i5, HIGH);  digitalWrite(i6, LOW);}
    小灯流起来啦,可以发挥想象力啦,从左到右,从右到左,
    从中间到两边,从两边到中间,想怎么流怎么流,就是这么任性

    或许眼尖的同学已经发现了,怎么还有两条电话线
    对了,这个流水灯的另一个价值就是测线器,
    说起原理也很简单,就是把6条线都断开,接到电话座上,
    插了电话线就相当于通路了,
    如果不插电话线相当于开路,灯不会亮,
    如果某个灯不亮说明有断路,如果几个灯同时亮了说明有短路,
    就这么简单,
    以前二叔压完电话线都要用万用表挨芯测量,
    还很难发现短路,虽然没出现过,
    断路都没遇到过,
    自从有了这个流水灯,就可以自动测量啦!
    回复

    使用道具 举报

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

    本版积分规则

    关闭

    站长推荐上一条 /2 下一条

    手机版|小黑屋|与非网

    GMT+8, 2024-4-20 19:39 , Processed in 0.139265 second(s), 18 queries , MemCache On.

    ICP经营许可证 苏B2-20140176  苏ICP备14012660号-2   苏州灵动帧格网络科技有限公司 版权所有.

    苏公网安备 32059002001037号

    Powered by Discuz! X3.4

    Copyright © 2001-2020, Tencent Cloud.