🟢 简单

Arduino外接LED不亮,但板子上的LED正常?

这是我带女儿小芝麻第一次玩Arduino时踩的第一个坑。代码烧录进去了,板子上的L灯在闪,但面包板上的外接LED就是不亮。排查了半小时才发现——正负极接反了。

💭 踩坑经过

第一次带女儿玩Arduino,想让她体验"写代码让灯亮起来"的成就感。按照教程接好电路:13号引脚接LED正极、GND接负极。烧录Blink程序后——板子上的L灯闪了,但面包板上的LED纹丝不动。

我当时的内心:代码没错啊?难道这块Arduino是坏的?女儿在旁边问"爸爸,灯怎么不亮?"——压力巨大。

折腾了半小时,换了LED、换了面包板、重新烧了程序……最后发现,LED的长脚(正极)插到了面包板GND那一排,短脚(负极)接到了13号引脚。整个接反了。

💡 翻车教训:LED是二极管,只能单向导电。正极接正、负极接负才会亮。插反了不亮——而且不会烧,就是默默不亮,让你怀疑人生。

🔍 排查三步法

第一步:确认板载LED正常

Arduino UNO上13号引脚旁边有一个标着"L"的LED。烧录Blink程序后,这个灯会闪烁。如果它闪了,说明:Arduino主板是好的、代码烧录成功、13号引脚输出正常。如果板载LED也不亮,先检查USB线和驱动,不是LED的问题。

第二步:检查正负极和接线

  1. LED正负极:长脚是正极(Anode),短脚是负极(Cathode)。如果脚被剪过,看LED内部——小的一边是正极,大的一边是负极。
  2. 正确接法:正极 → 220Ω电阻 → Arduino引脚(如13号);负极 → GND。
  3. 务必将电阻串在正极一侧,不能接在负极侧。

第三步:检查面包板接触

面包板的插孔有时会松动,导致接触不良:把LED换到面包板另一侧试试;确保引脚完全插入;检查面包板电源轨是否正确连接;如果用了跳线,检查跳线两头是否都插紧了。

⚡ 关于限流电阻的说明

很多人会问:为什么13号引脚可以直接接板载LED,外接LED就要加电阻?13号引脚内部已经集成了一个限流电阻。但其他引脚(2-12)没有。所以养成习惯——任何外接LED都串一个220Ω电阻。

🔧 计算公式:
电阻值 = (电源电压 - LED工作电压) / LED工作电流
= (5V - 2V) / 0.015A ≈ 200Ω → 取标准值 220Ω

📝 检查清单(打印贴在桌上)

  • ✅ 板载LED(L灯)是否闪烁?→ 是,说明主板和代码都没问题
  • ✅ LED长脚是否接引脚侧(不是GND侧)?
  • ✅ 是否串联了220Ω限流电阻?
  • ✅ 面包板插孔是否松动?换一排试试
  • ✅ 跳线是否两头都插紧了?
  • ✅ 如果以上都OK,换一颗LED试试(LED本身也可能坏)