找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 47475|回复: 13
打印 上一主题 下一主题
收起左侧

Arduino教程-让LED神灯闪烁

  [复制链接]
跳转到指定楼层
楼主
Hi,大家好!上一次我们试着让Arduino点亮了一盏LED神灯。这一次我们更进一步,让这盏LED神灯闪烁起来!
像之前一样,我们首先需要在硬件和软件方面做一些准备。
硬件方面
图片来源:Arduino-UNO-LED
具体包括如下:
  • Arduino UNO电路板(1块)
  • mini面包板(1块)
  • 220欧姆电阻(1个)
  • LED灯(1盏)
  • 面包线(2根)
软件方面只需要Arduino官方提供的IDE即可。
准备好上面这些之后,接下来只要连接好电路,敲几行简单的代码,就可以让我们的神灯闪烁起来!
连接电路
图片来源:Arduino连接LED电路示意图
跟点亮LED神灯一样,只需要简单的一步,即可连接好我们的电路。唯一需要注意的是,LED的长针脚要插入13号孔,短针脚插入GND地线孔内,这一点千万别搞反了哦!最后,需要用USB线把Arduino连接到电脑上,连好之后会看到Arduino电路板上的一个小电源灯被点亮!
添加几行代码好!最后我们需要添加两行简单的代码,即可大功告成!
首先打开Arduino的IDE,新建一个Arduino项目窗口。

图片来源:Arduino官方IDE
新建完成之后,需要向其中添加几行代码。



  1. int led = 13;  // 定义针脚号,数字类型为整型

  2. // 对Arduino电路板或相关状态进行初始化方法
  3. void setup() {
  4.   // 设定13号针脚为输出状态,
  5.   // pinMode()方法是Arduino类库提供的系统方法,
  6.   // 调用的时候需要传入两个参数。
  7.   // 一个是针脚号,另一个是针脚号的状态。
  8.   pinMode(led, OUTPUT);
  9. }
  10. // 系统调用,无限循环方法
  11. void loop() {
  12.   // 向13号针脚输出值为高电压状态,
  13.   // 此值可以点亮LED神灯。
  14.   // digitalWrite()方法也是Arduino类库提供的系统方法,
  15.   // 调用的时候需要传入两个参数,
  16.   // 一个是针脚号,另一个是针脚号的状态。
  17.   // 这里需要注意的是,pinMode()方法是初始化针脚状态,
  18.   // digitalWrite()方法是向此针脚号不断发送状态。
  19.   digitalWrite(led, HIGH);
  20.   // delay()方法是Arduino自身类库提供的方法,
  21.   // 功能是让时间延迟,其中传入的参数为毫秒单位,
  22.   // 1000毫秒 = 1秒
  23.   delay(1000);
  24.   // 此处向Arduino的13针脚发送低电压状态,
  25.   // 此状态可以让LED神灯熄灭
  26.   digitalWrite(led, LOW);
  27.   // 再次延迟1000毫秒,也即1秒钟,
  28.   delay(1000);
  29.   // 随后进入下一次loop循环,
  30.   // 即调用上面的digitalWrite(led, HIGH)方法,
  31.   // 让LED神灯再次点亮。
  32.   // 如此不断循环下去。
  33. }
复制代码



敲完收工!看起来代码好长的样子,注意千万别被上面冗长的中文注释所吓住!删除注释,比起点亮LED神灯,其实我们只多添加了三行代码!而且三行代码里还有两行是重复的!不能要求再简单了!
新添加的三行代码里,出现了一个新面孔,那就是delay()方法,这个方法的功能是进行时间延迟的,方法的调用需要传入一个时间参数,参数的单位为毫秒,比如传入1000,那么等于在这行代码上停留1秒钟,随后程序才会自动继续向下执行。
好!接下来还剩下最后一步,把代码烧入Arduino!在点亮LED神灯那一节,我们知道这一步可以一气呵成,只需要点击新建项目文件上,那个指向右侧箭头图标,即可自动完成代码的烧入。

图片来源:Arduino官方IDE的文件编辑菜单选项(注意此处不是指Arduino顶部工具栏)
如果在此操作中碰到了连接Arduino的失败错误,可以查看点亮LED神灯那一节中,关于这部分需要注意的两个小细节。
总结是不是很简单?其实只需要多加一个新方法,就可以实现LED神灯的闪烁效果!这一节中,我们新认识一个延时方法,名字叫delay(),只是多添加了这一个方法,就完成了最终效果。So easy!
下期预告这一节我们只是实现了让LED神灯点亮和熄灭,期间只有两个状态。那如何让LED神灯逐步点亮和逐步熄灭呢?嗯,下一次我们将迎接一个新的挑战,让LED神灯逐渐变亮和逐渐熄灭!


ohcoder的系列精彩Arduino教程:
Arduino教程-初识Arduino(包含本教程目录):http://www.51hei.com/bbs/dpj-41334-1.html
Arduino教程-开篇:http://www.51hei.com/bbs/dpj-41335-1.html
Arduino教程-点亮LED神灯:http://www.51hei.com/bbs/dpj-41336-1.html
Arduino教程-让LED神灯闪烁:http://www.51hei.com/bbs/dpj-41337-1.html
Arduino教程-让LED神灯亮度渐变:http://www.51hei.com/bbs/dpj-41338-1.html
Arduino教程-获取输入数字信号:http://www.51hei.com/bbs/dpj-41339-1.html
Arduino教程-获取输入模拟信号:http://www.51hei.com/bbs/dpj-41340-1.html
Arduino教程-另一种时间延迟:http://www.51hei.com/bbs/dpj-41331-1.html
Arduino教程-按键开关:http://www.51hei.com/bbs/dpj-41341-1.html
Arduino教程-停止抖动!:http://www.51hei.com/bbs/dpj-41333-1.html
Arduino教程-抛弃外部电阻!:http://www.51hei.com/bbs/dpj-41332-1.html
Arduino教程-用按键开关计数:http://www.51hei.com/bbs/dpj-41330-1.html

………后续持续更新中请打开:http://www.51hei.com/bbs/dpj-41334-1.html

评分

参与人数 2黑币 +7 收起 理由
@不死鸟 + 5 共享资料的黑币奖励!
lytcl + 2 很给力!

查看全部评分

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏5 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:153381 发表于 2016-12-9 09:51 | 只看该作者
学习!!收藏!!!
回复

使用道具 举报

板凳
ID:126527 发表于 2016-12-15 10:54 | 只看该作者
好不错的呀
回复

使用道具 举报

地板
ID:161771 发表于 2017-1-19 21:36 来自手机 | 只看该作者
谢谢楼主分享。
回复

使用道具 举报

5#
ID:162503 发表于 2017-1-20 09:46 | 只看该作者
666神贴
回复

使用道具 举报

6#
ID:162890 发表于 2017-1-24 19:17 | 只看该作者
楼主求联系方式
回复

使用道具 举报

7#
ID:163937 发表于 2017-2-8 22:09 | 只看该作者
谢谢分享 赞一个
回复

使用道具 举报

8#
ID:164854 发表于 2017-2-15 22:57 来自手机 | 只看该作者
学习一下。
回复

使用道具 举报

9#
ID:185862 发表于 2017-4-3 21:27 | 只看该作者
喜欢,赞一个
回复

使用道具 举报

10#
ID:186380 发表于 2017-4-5 17:20 | 只看该作者
不错 注释很详细
回复

使用道具 举报

11#
ID:226577 发表于 2017-8-10 14:38 | 只看该作者
请问没有220欧姆电阻,用330欧的可以吗??
回复

使用道具 举报

12#
ID:53784 发表于 2018-8-25 15:08 | 只看该作者
给初学者看,把电阻色环换个方向,更好一些
回复

使用道具 举报

13#
ID:246878 发表于 2018-11-14 00:40 | 只看该作者
分享的资源丰富,非常棒!
回复

使用道具 举报

14#
ID:577423 发表于 2020-7-23 21:01 | 只看该作者
这个没有延迟函式吗,很简单
回复

使用道具 举报

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

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

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