如何将 LED 连接到 Arduino 板
Arduino 平台在世界各地广受欢迎。是开发编程和硬件管理第一步的理想工具。随着技能的提高,您可以通过添加外围设备和构建运行更复杂程序的更复杂系统来扩展架构。 Arduino Uno 和 Arduino Nano 板适用于初始培训。在他们的示例中,考虑了 LED 与 Arduino 的连接。
什么是 Arduino Uno 和 Arduino Nano
Arduino Uno 板的基础是 ATmega328 微控制器。它还具有其他元素:
- 石英谐振器;
- 复位按钮;
- USB连接器;
- 集成稳压器;
- 电源连接器;
- 多个用于指示模式的 LED;
- USB通道的通信芯片;
- 用于在线编程的连接器;
- 更多的主动和被动元素。
所有这一切使您无需使用烙铁即可迈出第一步,并避免制造印刷电路板的阶段。该装置由 7..12 V 的外部电压源或通过 USB 连接器供电。通过它,模块连接到 PC 以下载草图。该板有一个 3.3 V 电压源,用于为外部设备供电。 6、14个通用数字输出可供操作。由 5 V 供电时,数字输出的负载能力为 40 mA。这意味着 LED 可以通过直接连接到它 限流电阻.

Arduino Nano 板与 Uno 完全兼容,但尺寸更小,并且有一些差异和简化,如表中所示。
| 支付 | 控制器 | 外部电源连接器 | 用于 USB 通信的微芯片 | USB 连接器 |
|---|---|---|---|---|
| 阿杜诺 | ATmega328 | 有 | ATmega8U2 | USB A-B |
| Arduino纳米 | ATmega328 | 不是 | FT232RL | 微型 USB |

这些差异不是根本性的,对于审查的主题也无关紧要。
将 LED 连接到 Arduino 板需要什么
有两种连接 LED 的选项。出于学习目的,您可以选择任何一种。
- 使用内置 LED.在这种情况下,除了用于通过 USB 连接器连接到 PC 的电缆之外,不需要其他任何东西 - 用于供电和编程。使用外部电压源为电路板供电是没有意义的:电流消耗很小。USB A-B 电缆将 Arduino Uno 连接到 PC。
- 连接外部 LED.在这里,您还需要:
- LED本身;
- 限流电阻,功率为0.25W(或更大),标称值为250-1000欧姆(取决于LED);
- 电线和用于连接外部电路的烙铁。

LED 的阴极连接到微控制器的任何数字输出,阳极通过镇流电阻连接到公共线。对于大量 LED,可能需要额外的电源。
是否可以将多个 LED 连接到一个输出
可能需要将一个外部 LED 或一组 LED 连接到任何输出。如上所述,微控制器的一个输出的负载能力很小。可以直接并联一个或两个电流消耗为 15 mA 的 LED。在可能或超过可能的负载下测试输出的生存能力是不值得的。 最好在晶体管上使用开关 (场或双极)。
电阻器 R1 必须选择使通过它的电流不超过输出的负载能力。最好取最大值的一半或更少。所以,要设置一个适中的电流 10毫安,在 5 伏电源的电阻应该是 500 欧姆.
每个 LED 都必须有自己的镇流电阻,最好用一个普通的来代替。选择 Rbal 以设置其通过每个 LED 的工作电流。因此,对于 5 伏的电源电压和电流 20毫安,电阻应为 250 欧姆或最接近的标准值。
必须确保通过晶体管集电极的总电流不超过其最大值。因此,对于 KT3102 晶体管,最大 Ik 应限制在 100 mA。这意味着最多可以连接 6 个带电流的 LED。 15毫安.如果这还不够,则必须使用更强大的密钥。这是在这种电路中选择 n-p-n 晶体管的唯一限制。即使在这里,理论上也有必要考虑三极管的增益,但在这些条件下(输入电流 10 mA,输出 100)它应该至少只有 10。任何现代晶体管都可以产生这样的 h21e。
这样的电路不仅适用于提高微控制器的电流输出。因此,您可以连接由增加的电压(例如 12 伏)供电的足够强大的执行器(继电器、螺线管、电动机)。计算时需要取相应的电压值。
您还可以使用执行键 MOSFET,但它们可能需要比 Arduino 输出的电压更高的电压才能打开。在这种情况下,必须提供额外的电路和元件。为了避免这种情况,有必要使用所谓的“数字”场效应晶体管——它们需要 5 个 伏特 打开。但它们不太常见。
以编程方式控制 LED
简单地将 LED 连接到微控制器的输出端几乎没有什么作用。有必要以编程方式从 Arduino 控制 LED。这可以用基于 C (C) 的 Arduino 语言来完成。这种编程语言是对 C 的改编,用于初始学习。掌握了之后,过渡到C++就很容易了。要编写草图(调用 Arduino 程序)并实时调试它们,您需要执行以下操作:
- 在个人电脑上安装 Arduino IDE;
- 您可能需要安装USB通讯芯片的驱动程序;
- 使用 USB-microUSB 电缆将开发板连接到 PC。

计算机模拟器可用于调试简单的程序和电路。例如,Proteus(从版本 8 开始)支持模拟 Arduino Uno 和 Nano 板的操作。模拟器的方便之处在于不可能用错误组装的电路禁用硬件。

草图由两个模块组成:
- 设置 - 在程序启动时执行一次,初始化硬件的变量和操作模式;
- 环形 – 在设置块到无穷大之后循环执行。
为了 LED连接 您可以使用 14 个空闲引脚(引脚)中的任何一个,这些引脚通常被错误地称为端口。其实端口,简单来说就是一组管脚。 Pin 只是一个元素。
考虑针 13 的控制示例 - 板上已经连接了一个 LED(通过 Uno 板上的放大器跟随器,通过 Nano 上的电阻器)。要使用端口引脚,必须将其配置为输入或输出模式。在设置主体中执行此操作很方便,但不是必需的 - 输出目标可以动态更改。即在程序执行过程中,端口既可以作为输入工作,也可以作为数据输出工作。
Arduino的13脚(ATmega 328单片机B口的PB5脚)初始化如下:
无效设置()
{
pinMode(13,输出);
}
执行此命令后,板子的 13 脚将工作在输出模式,默认为逻辑低电平。在程序执行期间,可以向其写入零或一。单位记录如下所示:
无效循环()
{
数字写入(13,高);
}
现在电路板的第 13 针将被设置为高电平 - 逻辑 1,它可用于点亮 LED。
要关闭 LED,您需要将输出设置为零:
数字写入(13,低);
因此,通过交替写入 1 和 0 到端口寄存器的相应位,您可以控制外部设备。
现在您可以使 Arduino 程序复杂化以控制 LED 并学习如何使发光元件闪烁:
无效设置()
{
pinMode(13,输出);
}
无效循环()
{
数字写入(13,高);
延迟(1000);
数字写入(13,低);
延迟(1000);
}
团队 延迟(1000) 创建 1000 毫秒或一秒的延迟。通过更改此值,您可以更改 LED 闪烁的频率或占空比。如果外部 LED 连接到电路板的另一个输出,则在程序中,您必须指定所选引脚的编号,而不是 13。
为清楚起见,我们推荐一系列视频。
掌握了与 Arduino 的 LED 连接并学会了如何控制它后,您可以提升到一个新的水平并编写其他更复杂的程序。例如,您可以学习如何使用按钮切换两个或更多 LED,使用外部电位器更改闪烁频率,使用 PWM 调整发光亮度,更改 RGB 发射器的颜色。任务的级别仅受想象力的限制。


