进阶之路(基础篇) - 013 通过读取可变电阻值调节流水灯的速度

本文由博主原创,如有不对之处请指明,转载请说明出处。

 1 /*********************************
 2 代码功能:通过读取可变电阻值调节LED流水灯的速度
 3 使用函数:
 4     analogRead(引脚号,电压参数);            //输出模拟电压 = 5/256*电压参数
 5     millis();                                //获取当前机器时间
 6     具体函数用法请参考博主的另一篇文档:《arduino api手册》
 7     网址:http://www.cnblogs.com/jikexianfeng/p/6243654.html
 8 创作时间:2017*01*05
 9 作者邮箱:jikexianfeng@outlook.com
10 ********************************/
11 
12 byte ledpin[] = {4,5,6,7,8,9,10,11,12,13};
13 int ledDelay;                //时间记录
14 int direction = 1;            //方向值
15 int currentLED = 0;            //led记录值
16 unsigned long changeTime;    //获取当前机器时间
17 int potpin = 2;                //控制引脚
18 
19 void setup(){
20     for(int i=0;i<10;i++){
21         pinMode(ledpin[i],OUTPUT);
22     }
23     changeTime = millis();
24 }
25 void loop(){
26     ledDelay = analogRead(potpin);
27     if(ledDelay < (millis() - changeTime)){
28         changeLED();
29         changeTime = millis();
30     }
31 }
32 
33 void changeLED(){
34     for(int x=0;x<10;x++){
35         digitalWrite(ledpin[x],LOW);
36     }
37     digitalWrite(ledpin[currentLED],HIGH);
38     currentLED +=direction;
39     if(currentLED == 9)direction = -1;
40     if(currentLED == 0)direction = 1;
41 }

 

//////////////////////////////////////////////////////////

参考书籍:http://vdisk.weibo.com/s/B_U0yKSwLLqNM?category_id=0&parents_ref=B_U0yKSx62tsp

参考网站:http://wiring.org.co/reference/

参考网页:http://www.cnblogs.com/jikexianfeng/p/6243654.html

posted @ 2017-05-08 13:00  极客先锋  阅读(776)  评论(0编辑  收藏  举报