在本课中,您将学习如何编程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 voltage LOW
delay(1000); // wait for a second
}
在循环功能中,命令首先将LED引脚开启(HIGH),然后'延迟'1000毫秒(1秒),然后关闭LED引脚并暂停另一秒。
闪烁更快
你现在要让你的LED闪烁得更快。正如你可能已经猜到的那样,关键在于改变'(延迟)'命令中的参数()。
这个延迟时间以毫秒为单位,所以如果您希望LED快速闪烁两次,请将1000的值更改为500.然后,每个延迟停顿半秒,而不是整秒。
再次上传草图,您应该看到LED开始更快地闪烁。