🛠️ 需要准备的材料

需要有以下所有组件:

  1. Arduino Uno R3 开发板

  2. USB 数据线

  3. 面包板

  4. 6 个 LED 灯

  5. 6 个 220Ω (欧姆) 或 330Ω 的电阻

  6. 若干杜邦线

🔌 第二步:搭建硬件电路

这是最关键的一步。

  1. 断开电源:确保你的 Arduino 没有连接到电脑。

  2. 插入 LED:将 6 个 LED 灯并排插入面包板。注意,LED 有长短脚之分:

    • 长脚:阳极(正极, +)

    • 短脚:阴极(负极, -)

    • 确保所有 LED 的短脚都朝向面包板的同一侧(例如,都朝向蓝色 GND 线)。

  3. 连接 GND(接地)

    • 将所有 6 个 LED 的短脚(负极 -) 都连接到面包板的蓝色 GND (接地) 总线上。

    • 从 Arduino 板上的任意一个 GND 引脚,拉一根杜邦线连接到面包板的这条 GND 总线上。

  4. 连接电阻和引脚

    • 对于每一个 LED,将一个 220Ω 的电阻的一端连接到 LED 的长脚(正极 +) 所在的行。

  5. 将 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);
}

🚀 第四步:上传和运行!

  1. 将 Arduino Uno R3通过 USB 线连接到电脑。

  2. 在 Arduino IDE 中,转到 工具 (Tools) > 开发板 (Board) 并选择 "Arduino Uno"。

  3. 转到 工具 (Tools) > 端口 (Port) 并选择你的 Arduino 所在的 COM 端口。

  4. 点击上传按钮(向右的箭头)。


随后可以看见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++)

这行代码被分成了三个部分,用分号 ; 隔开:

  1. 初始化 (Initialization): int i = 2;

    • 它在循环开始前只运行一次

    • 我们创建了一个临时的计数器变量,通常取名为 i(代表 index,索引)。

    • 我们告诉它:“你从数字 2 开始计数。”(因为我们的第一个 LED 在 2 号引脚)。

  2. 条件 (Condition): i <= 7;

    • 这是循环继续运行的规则

    • 每次循环开始前,它都会检查:“当前的 i 是否小于或等于 7?

    • 如果答案是“是”(true),循环体 {...} 里的代码就会被执行。

    • 如果答案是“否”(false)(例如当 i 变成 8 时),循环就会立刻停止。

  3. 增量 (Increment): i++

    • 它在每次循环体 {...} 里的代码执行完毕后运行。

    • i++i = i + 1 的简写。

    • 它告诉计数器:“好了,这轮做完了,给你自己加 1。”

for 循环的“故事线”

结合起来,Arduino 运行 setup() 时,这个循环是这样执行的:

  1. 第1次循环

    • 初始化:创建一个变量 i,并设为 2

    • 检查条件:2 是否 <= 7?

    • 执行代码pinMode(i, OUTPUT); 变成了 pinMode(2, OUTPUT);

    • 执行增量i++i 现在变成了 3

  2. 第2次循环

    • (跳过初始化)

    • 检查条件:3 是否 <= 7?

    • 执行代码pinMode(i, OUTPUT); 变成了 pinMode(3, OUTPUT);

    • 执行增量i++i 现在变成了 4

  3. ...(依此类推)...

  4. 第6次循环

    • 检查条件:7 是否 <= 7?

    • 执行代码pinMode(i, OUTPUT); 变成了 pinMode(7, OUTPUT);

    • 执行增量i++i 现在变成了 8

  5. 第7次循环

    • 检查条件:8 是否 <= 7?

    • 循环停止

就这样,我们用 3 行代码,优雅地完成了 6 行(甚至 60 行)的工作!

Logo

智能硬件社区聚焦AI智能硬件技术生态,汇聚嵌入式AI、物联网硬件开发者,打造交流分享平台,同步全国赛事资讯、开展 OPC 核心人才招募,助力技术落地与开发者成长。

更多推荐