Arduino之数字处理:无延时LED闪烁

Arduino之数字处理:无延时LED闪烁

本示例演示了如何在不使用delay()来点亮LED。点亮LED,并记录下时间。然后,每次通过loop()时,检测是否已经超过设定的闪烁时间。如果是,则改变LED的打开或关断状态,并设定新的时间。通过这种方式,LED连续闪烁的同时示例执行不会错过任何一条指令。

所需硬件

  1. Arduino或者Genuino开发板
  2. Arduino IDE 1.8.9
  3. LED
  4. 220欧电阻

电路连接方式

构建电路时,将电阻的一端连接到开发板的13脚。将LED的长引脚(正,称为阳极)连接到电阻的另一端。连接LED的短引脚(负,称为阴极)连接到开发板的GND,如上面的框图和下面的原理图所示。

原理图

在这里插入图片描述

Arduino IDE 1.8.9调试过程

在这里插入图片描述

贴入代码后

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在本课中,您将学习如何编程Arduino以使Arduino的内置LED闪烁。 材料清单 Arduino Uno R3 1块 USB引线 - 类型A到B 1根 Arduino有两排连接器,用于连接电子设备和插入式“屏蔽层”,使Arduino能够做得更多。 然而,Arduino也有一个LED,你可以从你的草图中控制。 该LED内置于Arduino板上,通常称为“L”LED,因为这是它在电路板上的标记。 这个LED的位置在下面的Arduino Uno和Leonardo的图片上以红色圈出。 您可能会发现,将Arduino电路板的“L”LED连接到USB插头时,它已经闪烁。 这是因为Arduino主板通常会随附预装的“Blink”草图。 在本课中,我们将使用我们自己的Blink草图重新编程Arduino,然后更改闪烁的速率。 在第0课中,您将设置Arduino IDE,并确保您可以找到正确的串行端口以连接到您的Arduino板。 现在已经到了将该连接用于测试和编程Arduino板的时候了。 Arduino IDE包含大量您可以加载和使用的示例草图。 这包括使'L'LED闪烁的示例草图。 在文件→示例→01.Basics下载入IDE菜单系统中的'Blink'草图。 当草图窗口打开时,将其放大,以便您可以在窗口中看到整个草图。 保存'闪烁'的副本 Arduino IDE附带的示例草图是“只读”的。 也就是说,您可以将它们上传到Arduino板,但如果您更改它们,则无法将它们保存为相同的文件。 我们将改变这个草图,所以,你需要做的第一件事就是保存你自己的副本,你可以改变你喜欢的副本。 从Arduino IDE的File菜单中选择'Save As ..'选项,然后用名称'MyBlink'保存草图。 您已将您的“闪烁”副本保存在写生簿中。 这意味着如果你想再次找到它,你可以使用File→Sketchbook菜单选项来打开它。 将Blink上传至电路板 使用USB电缆将Arduino板连接到计算机,并检查“Board Type”和“Serial Port”是否设置正确。 您可能需要参考第0课。 Arduino IDE将显示窗口底部板子的当前设置。 点击“上传”按钮。 工具栏左侧的第二个按钮。 如果您观看IDE的状态区域,您将看到一个进度条和一系列消息。 起初它会说'编译草图..'。 这将草图转换为适合上传到电路板的格式。 接下来,状态将变为“正在上传”。 此时,Arduino上的LED会在草图传输时开始闪烁。 最后,状态将变为“完成”。 另一条消息告诉我们,草图使用32,256字节中的1,084字节。在“编译草图..”阶段之后,您可能会收到以下错误消息: 线索位于顶部,这可能意味着您的主板根本没有连接,或者驱动程序尚未安装(如有必要)或者选择了错误的串行端口。 如果你得到这个,回到第0课并检查你的安装。 上传完成后,电路板应重新启动并开始闪烁。 'Blink'如何工作 Blink草图的代码见附件。 首先要注意的是,很多这种草图就是所谓的“评论”。 评论不是实际的程序指令,它们只是关于程序如何工作的评论。 他们在那里是为了得到好处,所以伴随草图有一些解释。 草图顶部的/ *和* /之间的所有内容都是块注释,它解释了草图的用途。 也有以//开头的单行注释,并且在行末尾的所有内容都被视为注释。 第一个实际的代码行是: int led = 13; 正如上面的评论所解释的那样,这给了LED所连接的引脚的名称。 这在大多数Arduinos中都是13,包括Uno和Leonardo。 接下来,我们有'设置'功能。 同样,如评论所述,按下重置按钮时会运行。 它也会在电路板因任何原因(例如首先应用电源或重新上传草图后)重置时运行。 void setup() { // initialize the digital pin as an output. pinMode(led, OUTPUT); } 每个Arduino草图都必须具有“设置”功能,其中可能需要添加自己指令的部分位于{和}之间。 在这种情况下,那里只有一个命令,正如注释状态告诉Arduino开发板,我们将使用LED引脚作为输出。具有“循环”功能的草图也是强制性的。 与只能运行一次的“设置”功能不同,复位后,“循环”功能将在完成其命令后立即重新启动。 void loop() { digitalWrite(led, HIGH); // turn the LED on (HIGH is the voltage level) delay(1000); // wait for a second digitalWrite(led, LOW); // turn the LED off by making the vol

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值