项目 1 - LED 闪光灯外文翻译资料
2021-12-29 23:00:34
英语原文共 105 页,剩余内容已隐藏,支付完成后下载完整资料
项目 1 - LED 闪光灯
在这个项目中, 我们将重复我们在设置和测试 Arduino 时所做的工作,即使 LED 灯闪烁。 但是,这次 我们除了使用套件中的一个 LED 灯外,你还将了解一些 电子设备和 C 编码。
你需要什么?
面包板 |
|
红色 LED 灯 |
|
150Omega; 电 阻 |
|
跳线 |
|
连接线路
现在,首先确保你的 Arduino 已关闭。你可以通过拔 下 USB 电缆或取出 Arduino 板上的电源选择器跳线来完 成此操作。然后将各元件像这样连接起来:-
可以使用不同颜色的电线或使用面包板上不同的 孔,但元件和电线要按照与图片相同的顺序连接。将 元件装入面包板时要小心,全新的面包板的孔中的把 手在刚开始使用时会很僵硬,如果插入元件时不小心 可能会导致元件损坏。
确保你的 LED 的长引脚以正确的方式连接到数字 引脚 10。LED 的长引脚是 LED 的阳极,必须始终使用
5v 电源(在这种情况下来自数字引脚 10);短引脚 是 LED 的阴极,必须接 GND(地面)。
如果你确定所有元件都已正确连接,请启动
Arduino 并连接 USB 电缆。 输入代码
现在,打开 Arduino IDE 并输入以下代码 :-
// Project 1 - LED Flasher
int ledPin = 10; void setup() {
pinMode(ledPin, OUTPUT);
}
void loop() {
digitalWrite(ledPin, HIGH); delay(1000); digitalWrite(ledPin, LOW); delay(1000);
}
现在按 IDE 顶部的 Verify / Compile 按钮来确 保代码中没有错误。如果检测成功,你现在可以单击“上 载”按钮将代码上传到 Arduino。
如果这些你已经全部做完了,你现在应该看到面包 板上的红色 LED 灯以一秒的频率闪烁。
现在让我们看一下代码和硬件,看看它们是如何工 作的。
项目 1 - 代码概述
// Project 1 - LED Flasher int ledPin = 10;
void setup() {
pinMode(ledPin, OUTPUT);
}
void loop() {
digitalWrite(ledPin, HIGH); delay(1000); digitalWrite(ledPin, LOW); delay(1000);
}
那么让我们来看看这个项目的代码,我们的第一行 代码是
// Project 1 - LED Flasher
这只是代码中的注释,会被编译器(IDE 的一部分, 在上传之前它会将代码转换为 Arduino 可以理解的指令) 忽略。在//命令后面输入的任何文本都将被编译器忽略, 这只是为你或其他任何读取你的代码的人提供。注释对 于你的代码至关重要,它可以帮助你了解正在进行的操 作以及代码的工作方式。注释也可以在命令之后放置, 比如程序的下一行。
在这之后,你的项目会变得更加复杂,并且你的代 码可能扩展到数百甚至数千行,因此注释对于让你轻松 查看其工作方式至关重要。你可能会想出一段令人惊奇 的代码,但是如果你回过头来看几天、几周或几个月以 前的代码,你可能会忘记它是如何工作的。这时注释将 帮助你轻松理解。此外,如果你的代码是为了让其他人 看到(并且作为 Arduino 的整体精神,实际上整个开源 社区都是共享代码和原理图的。所有我们希望当你开始 使用 Arduino 制作自己的酷东西时,你能愿意与世界分 享)那么注释将使他了解你的代码是如何运行的。.
你还可以使用/ *和* /命令将注释放入块语句中,例如:
/* All of the text within the slash and the asterisks is a comment and will be ignored by the compiler */
IDE 将自动将任何注释文本的颜色变为灰色。
该项目的下一行是
int ledPin = 10;
这就是所谓的变量,变量是存储数据的地方。在这 种情况下,你应该设置 int 或 integer 类型的变量。一个 integer 类型的变量是-32,768 到 32,767 范围内的整数。 接下来,你已为该变量分配了 ledPin 的名称,并将其赋 值为 10。我们不一定要将它命名为 ledPin,我们可以将 它命名为任何我们想要的。但是,由于我们希望我们的 变量名称是具有描述性的,我们称之为 ledPin,以表明 我们将使用此变量来设置连接 LED 的 Arduino 上的那个 引脚。因此我们使用数字引脚 10。此声明的最后是一个 分号。这是告诉编译器此语句现在已完成的符号。
虽然我们可以将变量命名为任何我们想要的名称, 但 C 中的每个变量名都必须以字母开头,名称的其余部 分可以由字母,数字和下划线字符组成。C 中的大写和 小写字符是不同的字符。最后,你不能使用任何 C 的关 键字,如 main,while,switch 等作为变量名。关键字 是常量,变量和函数名称,它们被定义为 Arduino 语言 的一部分。不要使用与关键字相同的变量名称。程序中 的所有关键字都将显示为红色。
此时,你已在内存中设置了一个区域来存储多个类 型的整数,并在该区域中存储了数字 10。把一个变量想 象成一个可以存放物品的小盒子。变量之所以称为变量, 是因为你可以更改它。接下来我们将对变量进行数学运 算,以使我们的程序可以进行更高级的运算。
接下来我们有 setup()函数
void setup() {
pinMode(ledPin, OUTPUT);
}
Arduino 程序中必须有 setup()和 loop()函数, 否则它将无法工作。setup()函数仅在程序开始时运行 一次,并且在主循环运行之前发出一般指令以准备程序, 例如设置引脚模式,设置串行波特率等。
基本上,函数就是组装成一个方便调用的块的代码 块。例如,如果我们创建一个自己的函数来执行一系列 具有多行代码的复杂数学运算,我们可以通过调用函数 名而不是每次都编写代码来运行该代码多次。
我们的设置函数只有一个语句,即 pinMode。 在这 里,我们告诉 Arduino 我们要将其中一个数字引脚的模 式设置为输出模式,而不是输入。 在括号内我们放置了 引脚号和模式(OUTPUT 或 INPUT)。 我们的引脚号 是 ledPin,之前已在我们的程序中设置为值 10。 因此, 这 句 话 只 是 告 诉 Arduino 将 数 字 引 脚 10 设 置 为 OUTPUT 模式。
由于 setup()函数只运行一次,我们现在来看主 函数循环。
稍后,当我们开始创建自己的函数时,我们将更详 细地介绍函数。在我们的程序中,setup()函数只有一 个语句要执行。这个函数以
void setup()
void loop() {
digitalWrite(ledPin, HIGH); delay(1000); digitalWrite(ledPin, LOW); delay(1000);
}
开头,我们告诉编译器我们的函数被称为 setup,它不返 回任何数据(void),并且我们不向它传递任何参数(空 括号)。如果我们的函数返回一个整数值,并且我们还 有整数值传递给它(例如,对于要处理的函数)那么它 看起来像这样
int myFunc(int x, int y)
在这种情况下,我们创建了一个名为 myFunc 的函 数(或代码块)。这个函数已经被传递了两个整数,我 们称之为 X 和 Y。一旦函数完成,它将返回一个整数值 到我们在程序中调用函数之后的点(因此在函数名之前 为 int)。
函数中的所有代码都包含在花括号中。 {符号为开 始代码块,}符号为结束块。这两个符号之间的所有内容 都是属于该函数的代码。
我们稍后会详细介绍这些功能,所以暂时不要担心 它们。 你需要知道的是,在这个程序中,我们有两个函 数,第一个函数叫做 setup,它的目的是在主程序循环运 行之前设置程序运行所需的任何东西。
void setup() {
pinMode(ledPin, OUTPUT);
loop()函数是主程序函数,只要我们的 Arduino
打开就会连续运行。 loop()函数中的每个语句(在花 括号内)会逐个执行,一步一步,直到达到函数的底部, 然后循环再次从函数的顶部开始,直到你关闭 Arduino 或按下重置开关为止。
在这个项目中,我们希望 LED 打开,保持一秒,然 后关闭,保持一秒,并且重复以上动作。 因此,我们将 告诉 Arduino 这样做的命令写在 loop()函数中,因为 我们希望它们一遍又一遍地重复。
第一个声明是
digitalWrite(ledPin, HIGH);
然后将高电平或低电平写入语句中的数字引脚(在 本例中为 ledPin,即数字引脚 10)。当你将数字引脚设 置为高电平时,你将向该引脚发送 5 伏电压。当设置为
低电平时,引脚变为 0 伏或接地
因此,该语句表示将 5v 电压发送到数字引脚 10, 然后 LED 就会亮起。
接下来是
delay(1000);
}
这条语句只是告诉 Arduino 在执行下一条语句之前
等待 1000 毫秒(1000 毫秒也就是一秒),下一条语句 是
digitalWrite(ledPin, LOW);
这条语句将关闭数字引脚 10 的电源,从而熄灭
LED。之后是另一个 1000 毫秒的延迟语句直到函数结 束。但是,由于这是我们的主循环()函数,该函数现 在将重新启动。再一步一步看以上的程序,我们可以看 到程序是非常简单的。
// Project 1 - LED Flasher int ledPin = 10;
例如,如果我们想让 LED 开启 2 秒钟,然后关闭半 秒,那么我们可以这样做:-
void loop() {
digitalWrite(ledPin, HIGH); delay(2000); digitalWrite(ledPin, LOW); delay(500);
}
void setup() {
pinMode(ledPin, OUTPUT);
}
void loop() {
digitalWrite(ledPin, HIGH); delay(1000); digitalWrite(ledPin, LOW); delay(1000);
也 许 你 希 望 LED 保 持 关 闭 5 秒 然 后 短 暂 闪 烁
(250ms),就像汽车报警器上的 LED 指示灯那样,那 么你可以这么做:-
void loop() {
digitalWrite(ledPin, HIGH); delay(250); digitalWrite(ledPin, LOW); delay(5000);
}
}
我们首先分配一个名为 ledPin 的变量,给该变量赋 值 10
然后我们转到 setup()函数,我们只需将数字引脚 10 的模式设置为输出。
在主程序循环中,我们将数字引脚 10 设置为高电 平,向其发送 5v 电压。然后我们等待一秒,再关闭发送 向引脚 10 的 5v 电压,然后再等一秒钟。然后循环会从 主程序开始处再次开始,因此只要 Arduino 有电,LED 就会持续闪烁。
现在你知道代码是如何工作的了,于是你可以通过 修改代码来使 LED 灯以不同的频率闪烁。.
或者使 LED 灯快速闪烁:
void loop() {
digitalWrite(ledPin, HIGH); delay(50); digitalWrite(ledPin, LOW); delay(50);
}
通过改变 LED 的开启和关闭时间,你可以做到任何 你想要达到的效果。当然,只能是单个 LED 灯的开和关 形成的闪烁效果
在我们开始讨论一些更有意思的事情之前,让我们 看一下硬件,看看硬件是如何工作的。
项目 1 - 硬件概述
该项目使用的硬件是 :-
全文共10738字,剩余内容已隐藏,支付完成后下载完整资料 资料编号:[2962] |