请选择 进入手机版 | 继续访问电脑版

智能创客,中国最大的极客空间,智能平台,免费教学,视频教程,手把手教你创造儿时梦想!

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 活动 交友 discuz
查看: 7570|回复: 39

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

  [复制链接]

110

主题

396

帖子

2321

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
2321
QQ
发表于 2014-3-25 15:54:16 | 显示全部楼层 |阅读模式
昨天,我们学习了怎么玩延时开关,我想大家应该也玩了不少新鲜的玩法,今天我们来介绍一种更好玩的东西。通过PWM的方式来调整LED的光亮度。什么是PWM呢,具体请参考极客工坊WIKI词条:PWM

试验用元器件列表:


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



接着我们来看电路连接图

144820lzlpd3hq576z6w53.png


从上图我们可以看到两个开关分别接到了数字接口,做输入检测,LED接到了板子上带有#号标识的数字接口上,注意只有带#号标识的接口才具备PWM输出功能。

好了,我们照设计的电路来在面包板上搭建电路




电路搭建好如上图。这样仔细检查一遍确认没有问题后,我们来下载程序
[C] 纯文本查看 复制代码
/*
 作者:极客工坊
 时间:2012年5月29日
 IDE版本号:1.0.1
 发布地址:[url]www.geek-workshop.com[/url]
 作用:通过两个开关来控制led的亮度
 */
 
int n=0;
void setup ()
{
  pinMode(4,INPUT);
  pinMode(6,OUTPUT);      //该端口需要选择有#号标识的数字口
  pinMode(10,INPUT);
}
 
void loop()
{
  int up =digitalRead(4);          //读取4号口的状态
  int down = digitalRead(10);      //读取10号口的状态   
  if (up==HIGH)                    //判断4号口目前是否是高电平
  { 
   n=n+5;                         //每次累加值为5
    if (n>=255) {
      n=255;
    }            //限定最大值为255   
analogWrite(6,n);               //使用PWM控制6号口输出,变量n的取值范围是0-255 
    delay (300);
  }
  if (down==HIGH)                    //减少亮度
  {
   n=n-5;
    if (n<=0) {
      n=0;
    }
 analogWrite(6,n);
    delay (300);
  }
}



回复

使用道具 举报

0

主题

18

帖子

352

积分

中级会员

Rank: 3Rank: 3

积分
352
发表于 2015-1-27 11:39:59 | 显示全部楼层
这课学习完了。收获不少~
回复 支持 反对

使用道具 举报

0

主题

25

帖子

78

积分

注册会员

Rank: 2

积分
78
发表于 2015-10-4 00:37:43 | 显示全部楼层
好多啊,哈哈,谢谢您












回复 支持 反对

使用道具 举报

0

主题

152

帖子

384

积分

禁止发言

积分
384
发表于 2015-10-31 07:44:24 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

0

主题

152

帖子

384

积分

禁止发言

积分
384
发表于 2015-11-18 20:14:04 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

1

主题

23

帖子

55

积分

注册会员

Rank: 2

积分
55
发表于 2015-12-1 22:15:43 来自手机 | 显示全部楼层
学习学习学习
回复 支持 反对

使用道具 举报

0

主题

1

帖子

10

积分

新手上路

Rank: 1

积分
10
发表于 2015-12-14 18:56:41 | 显示全部楼层
联系qq97471939专业盗qq,微信,邮箱密码,查qqip地址,查询别人的qq聊天记录,微信聊天记录,手机通话短信内容,手机通话清单,定位找人,开房记录查询等;信誉有保障!有需要的朋友请联系qq97471939网上的教程不太详细,互联网联合推荐一个专业可靠的团队给广大网友;
回复 支持 反对

使用道具 举报

0

主题

7

帖子

70

积分

注册会员

Rank: 2

积分
70
发表于 2015-12-19 17:41:10 | 显示全部楼层
学习了。谢谢
回复 支持 反对

使用道具 举报

0

主题

42

帖子

256

积分

中级会员

Rank: 3Rank: 3

积分
256
发表于 2016-1-22 17:05:01 | 显示全部楼层
辛苦!辛苦!!!












回复 支持 反对

使用道具 举报

0

主题

42

帖子

256

积分

中级会员

Rank: 3Rank: 3

积分
256
发表于 2016-2-8 08:26:41 | 显示全部楼层
嘿嘿,回个贴表明我来过。












回复 支持 反对

使用道具 举报

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

本版积分规则

QQ|Archiver|小黑屋|手机版|智能创客 ( 桂ICP备14000828号

GMT+8, 2019-3-24 06:46 , Processed in 0.070816 second(s), 32 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表