进阶之路(基础篇) - 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 @   极客先锋  阅读(782)  评论(0编辑  收藏  举报
编辑推荐:
· 深入理解 Mybatis 分库分表执行原理
· 如何打造一个高并发系统?
· .NET Core GC压缩(compact_phase)底层原理浅谈
· 现代计算机视觉入门之:什么是图片特征编码
· .NET 9 new features-C#13新的锁类型和语义
阅读排行:
· 手把手教你在本地部署DeepSeek R1,搭建web-ui ,建议收藏!
· Spring AI + Ollama 实现 deepseek-r1 的API服务和调用
· 《HelloGitHub》第 106 期
· 数据库服务器 SQL Server 版本升级公告
· C#/.NET/.NET Core技术前沿周刊 | 第 23 期(2025年1.20-1.26)
点击右上角即可分享
微信分享提示