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

作者: 栗叔
上传时间为: 2015-01-04 08:56 AM

今天突发奇想做了个流水灯,想必流水灯大家都熟悉吧,高级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条线都断开,接到电话座上,
插了电话线就相当于通路了,
如果不插电话线相当于开路,灯不会亮,
如果某个灯不亮说明有断路,如果几个灯同时亮了说明有短路,
就这么简单,
以前二叔压完电话线都要用万用表挨芯测量,
还很难发现短路,虽然没出现过,
断路都没遇到过,
自从有了这个流水灯,就可以自动测量啦!

全部评论 ()

创建讨论帖子

登录 后参与评论
系统提示