
"点亮 LED" 是每一位 Arduino 学习者的第一课,就像编程世界里的 "Hello World"。通过这个简单的实验,你将掌握 Arduino 编程的基本流程,为后续更复杂的项目打下坚实基础。
你将学到:
pinMode()、digitalWrite()、delay() 三个核心函数LED(发光二极管)是一种半导体器件,当有足够的电流通过时就会发光。Arduino 的数字引脚可以输出 5V 高电平 或 0V 低电平,通过控制引脚的高低电平,就能控制 LED 的亮灭。
注意: LED 是有极性的器件,长脚(阳极)接高电平,短脚(阴极)接低电平(GND)。如果接反了,LED 不会损坏,但也不会亮。
为了保护 LED 不被过大的电流烧毁,我们需要在电路中串联一个 限流电阻(通常使用 220Ω 或 330Ω)。
| 材料 | 数量 | 说明 |
|---|---|---|
| Arduino Uno 主板 | 1块 | 小米创客套件已包含 |
| USB 数据线 | 1根 | 用于连接电脑和上传代码 |
| LED 灯(红色) | 1个 | 任意颜色均可 |
| 220Ω 电阻 | 1个 | 用于限流保护 LED |
| 面包板 | 1块 | 用于搭建电路 |
| 跳线 | 2根 | 公对公跳线 |
按照以下步骤连接电路:
Arduino 13号引脚 ──── 220Ω电阻 ──── LED阳极(+) ──── LED阴极(-) ──── GND
💡 小贴士: Arduino Uno 的 13 号引脚上内置了一个 LED,即使不连接外部 LED,也可以直接观察到闪烁效果。
打开 Arduino IDE,新建一个项目,输入以下代码:
// LED 闪烁示例 // 小米创客 kidsbits 出品const int LED_PIN = 13; // 定义 LED 连接的引脚号
void setup() { // 将 13 号引脚设置为输出模式 pinMode(LED_PIN, OUTPUT); }
void loop() { digitalWrite(LED_PIN, HIGH); // 点亮 LED(输出高电平) delay(1000); // 等待 1000 毫秒(1秒) digitalWrite(LED_PIN, LOW); // 熄灭 LED(输出低电平) delay(1000); // 等待 1000 毫秒(1秒) }
setup() 函数: 这个函数在 Arduino 上电或复位后只运行一次,通常用于初始化设置。pinMode(LED_PIN, OUTPUT) 将 13 号引脚配置为输出模式,告诉 Arduino 这个引脚要向外输出电信号。
loop() 函数: 这个函数会无限循环执行,是 Arduino 程序的主体。
digitalWrite(LED_PIN, HIGH):向 13 号引脚输出高电平(5V),LED 点亮delay(1000):程序暂停 1000 毫秒(即 1 秒)digitalWrite(LED_PIN, LOW):向 13 号引脚输出低电平(0V),LED 熄灭delay(1000):再次暂停 1 秒这样 LED 就会以 1 秒亮、1 秒灭的节奏不断闪烁。
完成基础实验后,试试这些进阶挑战:
挑战1:改变闪烁速度 修改 delay() 函数的参数,让 LED 闪烁得更快或更慢。试试 delay(200) 和 delay(2000) 的效果。
挑战2:SOS 摩斯密码 用 LED 闪烁发出 SOS 信号(三短三长三短):
// SOS: ... --- ... void blink(int times, int duration) { for (int i = 0; i < times; i++) { digitalWrite(LED_PIN, HIGH); delay(duration); digitalWrite(LED_PIN, LOW); delay(200); } delay(500); }
挑战3:多个 LED 流水灯 连接 5 个 LED 到不同引脚,让它们依次点亮,制作流水灯效果。
Q:上传时提示"找不到端口"怎么办? A:请检查 USB 数据线是否连接好,并在设备管理器中确认 Arduino 驱动已正确安装。如果驱动未安装,请下载 CH340 驱动程序。
Q:LED 不亮怎么办? A:检查以下几点:①LED 是否接反了(长脚接高电平);②电阻是否连接正确;③代码是否成功上传(上传后 Arduino 上的 TX/RX 指示灯会闪烁)。
Q:可以不用电阻吗? A:不建议。没有限流电阻,LED 可能因为电流过大而损坏,长时间使用还可能损坏 Arduino 的引脚。