我们从2011年坚守至今,只想做纯粹的技术论坛,请不要发布和技术无关的话题。  本站有两万多份高大上的PCB和原理图下载,每日更新中,欢迎常回来看看

 找回密码
 立即注册
搜索
查看: 2307|回复: 5

[技术文章] Arduino入门教程--第五课--按钮PWM控制LED亮度

[复制链接]
飞天小猪20 该用户已被删除
发表于 2015-10-4 08:46 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区

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

×
昨天,我们学习了怎么玩延时开关,我想大家应该也玩了不少新鲜的玩法,今天我们来介绍一种更好玩的东西。通过PWM的方式来调整LED的光亮度。什么是PWM呢,具体请参考极客工坊WIKI词条:PWM
试验用元器件列表:


ocrobot mango控制板(Arduino兼容)一块
专用面包板跳线一盒
面包板一块
镊子一把
LED发光二极管一个
按钮开关两个
10K欧姆电阻两个
220欧姆电阻一个
USB数据连接线一根














接着我们来看电路连接图



                               
登录/注册后可看大图


从上图我们可以看到两个开关分别接到了数字接口,做输入检测,LED接到了板子上带有#号标识的数字接口上,注意只有带#号标识的接口才具备PWM输出功能。
好了,我们照设计的电路来在面包板上搭建电路




电路搭建好如上图。这样仔细检查一遍确认没有问题后,我们来下载程序
ARDUINO 代码复制打印

    [li]
    /*[/li][li]
    作者:极客工坊[/li][li]
    时间:2012年5月29日[/li][li]
    IDE版本号:1.0.1[/li][li]
    发布地址:www.geek-workshop.com[/li][li]
    作用:通过两个开关来控制led的亮度[/li][li]
    */[/li][li]
    [/li][li]
    int n=0;[/li][li]
    void setup ()[/li][li]
    {[/li][li]
      pinMode(4,INPUT);[/li][li]
      pinMode(6,OUTPUT);      //该端口需要选择有#号标识的数字口[/li][li]
      pinMode(10,INPUT);[/li][li]
    }[/li][li]
    [/li][li]
    void loop()[/li][li]
    {[/li][li]
      int up =digitalRead(4);          //读取4号口的状态[/li][li]
      int down = digitalRead(10);      //读取10号口的状态   [/li][li]
      if (up==HIGH)                    //判断4号口目前是否是高电平[/li][li]
      { [/li][li]
       n=n+5;                         //每次累加值为5[/li][li]
        if (n>=255) {[/li][li]
          n=255;[/li][li]
        }            //限定最大值为255   [/li][li]
    analogWrite(6,n);               //使用PWM控制6号口输出,变量n的取值范围是0-255 [/li][li]
        delay (300);[/li][li]
      }[/li][li]
      if (down==HIGH)                    //减少亮度[/li][li]
      {[/li][li]
       n=n-5;[/li][li]
        if (n<=0) {[/li][li]
          n=0;[/li][li]
        }[/li][li]
    analogWrite(6,n);[/li][li]
        delay (300);[/li][li]
      }[/li][li]
    }[/li][li]

    [/li]

35

主题

6011

回帖

4228

积分

二级逆天

积分
4228

社区居民忠实会员社区劳模原创达人最爱沙发终身成就奖特殊贡献奖原创先锋奖优秀斑竹奖

QQ
发表于 2015-10-4 09:14 | 显示全部楼层
回复

使用道具 举报

  • 打卡等级:常住青年
  • 打卡总天数:26
  • 打卡月天数:0
  • 打卡总奖励:103
  • 最近打卡:2026-06-21 09:12:44

0

主题

358

回帖

522

积分

二级逆天

积分
522

终身成就奖

发表于 2020-4-6 08:58 | 显示全部楼层
回复

使用道具 举报

1

主题

224

回帖

1174

积分

二级逆天

积分
1174

终身成就奖

发表于 2020-7-15 08:30 | 显示全部楼层
回复

使用道具 举报

  • 打卡等级:以坛为家III
  • 打卡总天数:620
  • 打卡月天数:11
  • 打卡总奖励:2319
  • 最近打卡:2026-11-13 09:04:26

4

主题

8362

回帖

8289

积分

二级逆天

积分
8289

终身成就奖特殊贡献奖原创先锋奖优秀斑竹奖

发表于 2023-2-1 08:42 | 显示全部楼层
回复

使用道具 举报

  • 打卡等级:以坛为家III
  • 打卡总天数:620
  • 打卡月天数:11
  • 打卡总奖励:2319
  • 最近打卡:2026-11-13 09:04:26

4

主题

8362

回帖

8289

积分

二级逆天

积分
8289

终身成就奖特殊贡献奖原创先锋奖优秀斑竹奖

发表于 2023-2-1 08:43 | 显示全部楼层
回复

使用道具 举报

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

本版积分规则

Copyright ©2011-2024 NTpcb.com All Right Reserved.  Powered by Discuz! (NTpcb)

本站信息均由会员发表,不代表NTpcb立场,如侵犯了您的权利请举报投诉

本站所有资料仅限参考学习交流,PCB原理图源码等所有资料不保证准确没问题,请不要用作生产。否则后果自负。

闽公网安备35062302000276号 | 闽ICP备2024076463号-1 | 论坛技术支持QQ群171867948 | 论坛问题,充值问题请联系QQ1308068381

平平安安
TOP
快速回复 返回顶部 返回列表