Arduino Uno R3 开发板多个LED灯闪烁实验
也是完全相同的原理——它遍历 2 到 7 号引脚,把它们的状态全部设置为。就这样,我们用 3 行代码,优雅地完成了 6 行(甚至 60 行)的工作!将 6 个电阻的另一端,分别用杜邦线连接到 Arduino 的数字引脚。” 而不使用for循环语句,在这个led灯闪烁实验,代码就会变得更加冗长。对于每一个 LED,将一个 220Ω 的电阻的一端连接到 LED 的。”(因为我们的第一个 LED 在 2
🛠️ 需要准备的材料
需要有以下所有组件:
-
Arduino Uno R3 开发板
-
USB 数据线
-
面包板
-
6 个 LED 灯
-
6 个 220Ω (欧姆) 或 330Ω 的电阻
-
若干杜邦线
🔌 第二步:搭建硬件电路
这是最关键的一步。
-
断开电源:确保你的 Arduino 没有连接到电脑。
-
插入 LED:将 6 个 LED 灯并排插入面包板。注意,LED 有长短脚之分:
-
长脚:阳极(正极, +)
-
短脚:阴极(负极, -)
-
确保所有 LED 的短脚都朝向面包板的同一侧(例如,都朝向蓝色
GND线)。
-
-
连接 GND(接地):
-
将所有 6 个 LED 的短脚(负极 -) 都连接到面包板的蓝色
GND(接地) 总线上。 -
从 Arduino 板上的任意一个
GND引脚,拉一根杜邦线连接到面包板的这条GND总线上。
-
-
连接电阻和引脚:
-
对于每一个 LED,将一个 220Ω 的电阻的一端连接到 LED 的长脚(正极 +) 所在的行。
-
-
将 6 个电阻的另一端,分别用杜邦线连接到 Arduino 的数字引脚 2, 3, 4, 5, 6, 和 7。
这里我们可以先用仿真软件验证电路是否连接正确,避免直接对实物硬件直接连接时出现错误

👨💻 第三步:编写代码
打开 Arduino IDE,复制并粘贴下面的代码。
void setup() {
for (int i = 2; i <= 7; i++) {
pinMode(i, OUTPUT);
}
}
void loop() {
static bool ledState = HIGH;
for (int i = 2; i <= 7; i++) {
digitalWrite(i, ledState);
}
ledState = !ledState;
delay(1000);
}
🚀 第四步:上传和运行!
-
将 Arduino Uno R3通过 USB 线连接到电脑。
-
在 Arduino IDE 中,转到 工具 (Tools) > 开发板 (Board) 并选择 "Arduino Uno"。
-
转到 工具 (Tools) > 端口 (Port) 并选择你的 Arduino 所在的 COM 端口。
-
点击上传按钮(向右的箭头)。

随后可以看见6个LED在闪烁
最后在结尾讲解一下个人对for循环语句的理解
for循环的作用就是告诉计算机:“请把这件事情重复做 X 次,但每次做的时候,把这个数字改一下。” 而不使用for循环语句,在这个led灯闪烁实验,代码就会变得更加冗长
不适用for循环语句,我们此次的代码将会变为
void setup() {
pinMode(2, OUTPUT);
pinMode(3, OUTPUT);
pinMode(4, OUTPUT);
pinMode(5, OUTPUT);
pinMode(6, OUTPUT);
pinMode(7, OUTPUT);
}
void loop() {
// 点亮所有灯
digitalWrite(2, HIGH);
digitalWrite(3, HIGH);
digitalWrite(4, HIGH);
digitalWrite(5, HIGH);
digitalWrite(6, HIGH);
digitalWrite(7, HIGH);
delay(1000);
// 熄灭所有灯
digitalWrite(2, LOW);
digitalWrite(3, LOW);
digitalWrite(4, LOW);
digitalWrite(5, LOW);
digitalWrite(6, LOW);
digitalWrite(7, LOW);
delay(1000);
}
1,点亮6个LED灯,在 setup() 函数中就需要写6行pinMode() ,在 loop() 函数中也同样如此
在 loop() 函数中,for (int i = 2; i <= 7; i++) { digitalWrite(i, ledState); } 也是完全相同的原理——它遍历 2 到 7 号引脚,把它们的状态全部设置为 ledState 变量(HIGH 或 LOW)的值。
2,而使用for (int i = 2; i <= 7; i++)
这行代码被分成了三个部分,用分号 ; 隔开:
-
初始化 (Initialization):
int i = 2;-
它在循环开始前只运行一次。
-
我们创建了一个临时的计数器变量,通常取名为
i(代表 index,索引)。 -
我们告诉它:“你从数字 2 开始计数。”(因为我们的第一个 LED 在 2 号引脚)。
-
-
条件 (Condition):
i <= 7;-
这是循环继续运行的规则。
-
在每次循环开始前,它都会检查:“当前的
i是否小于或等于 7?” -
如果答案是“是”(true),循环体
{...}里的代码就会被执行。 -
如果答案是“否”(false)(例如当
i变成 8 时),循环就会立刻停止。
-
-
增量 (Increment):
i++-
它在每次循环体
{...}里的代码执行完毕后运行。 -
i++是i = i + 1的简写。 -
它告诉计数器:“好了,这轮做完了,给你自己加 1。”
-
for 循环的“故事线”
结合起来,Arduino 运行 setup() 时,这个循环是这样执行的:
-
第1次循环:
-
初始化:创建一个变量
i,并设为2。 -
检查条件:2 是否 <= 7?是。
-
执行代码:
pinMode(i, OUTPUT);变成了pinMode(2, OUTPUT);。 -
执行增量:
i++,i现在变成了3。
-
-
第2次循环:
-
(跳过初始化)
-
检查条件:3 是否 <= 7?是。
-
执行代码:
pinMode(i, OUTPUT);变成了pinMode(3, OUTPUT);。 -
执行增量:
i++,i现在变成了4。
-
-
...(依此类推)...
-
第6次循环:
-
检查条件:7 是否 <= 7?是。
-
执行代码:
pinMode(i, OUTPUT);变成了pinMode(7, OUTPUT);。 -
执行增量:
i++,i现在变成了8。
-
-
第7次循环:
-
检查条件:8 是否 <= 7?否。
-
循环停止。
-
就这样,我们用 3 行代码,优雅地完成了 6 行(甚至 60 行)的工作!
更多推荐



所有评论(0)