如何将 LED 连接到 Arduino 板
Arduino 平台在世界各地广受欢迎。它是学习如何编程和控制硬件的第一步的理想工具。随着技能的提高,您可以通过添加外围板来增加架构并创建运行更复杂程序的更复杂的系统。 Arduino Uno 和 Arduino Nano 板适用于初始培训。在这个例子中,我们将 LED 连接到 Arduino。
什么是 Arduino Uno 和 Arduino Nano?
Arduino Uno 板的基础是 ATmega328 微控制器。它还有其他元素:
- 石英谐振器;
- 复位按钮;
- USB连接器;
- 集成电压调节器;
- 电源连接器;
- 多个用于模式指示的 LED;
- USB通道的通信芯片;
- 用于片上编程的连接器;
- 更多的主动和被动元素。
所有这些使您无需使用烙铁即可完成第一步,并避免制作电路板的步骤。该装置由外部 7...12V 电源或通过 USB 连接器供电。该模块还连接到 PC 以加载草图。该板有一个 3.3V 电压源,用于为外部设备供电。有 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 的电缆之外,您不需要任何其他东西 - 用于供电和编程。使用外部电压源为电路板供电是没有意义的:电流消耗很小。
- 连接外部 LED.在这里,您还需要:
- LED本身;
- 一个 0.25W 限流电阻(或更大),额定值为 250-1000 欧姆(取决于 LED);
- 电线和烙铁连接外部电路。
LED 用阴极连接到微控制器的任何数字引脚,阳极通过镇流电阻连接到公共线。如果您有大量 LED,您可能需要额外的电源。
是否可以将多个 LED 连接到一个端子
可能需要将一个外部 LED 或一组 LED 连接到任何引脚。如上所述,微控制器的一个引脚的负载能力很小。可以直接并联一个或两个电流消耗为15mA的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 个 5伏 打开。但它们不太常见。
LED的软件控制
简单地将 LED 连接到微控制器的输出并没有多大作用。您必须学习如何以编程方式从 Arduino 控制 LED。您可以使用基于 C (C) 的 Arduino 语言来执行此操作。这种编程语言是对 C 的改编,用于初始训练。掌握之后,过渡到C++就不难了。要编写草图(这是 Arduino 程序的名称)并实时调试它们,您必须执行以下操作:
- 在个人电脑上安装Arduino IDE环境;
- 您可能需要安装USB通信芯片的驱动程序;
- 使用 USB-microUSB 电缆将开发板连接到 PC。
您可以使用计算机模拟器来调试简单的程序和电路。例如,Proteus(从版本 8 开始)支持 Arduino Uno 和 Nano 板的仿真。模拟器的方便之处在于,如果电路组装不正确,是不可能禁用熨斗的。
原理图由两个模块组成:
- 设置 - 程序启动时执行一次,并初始化熨斗的变量和模式;
- 环形 - 设置后循环运行直到无穷大。
为了 引领 可以使用 14 个空闲引脚(pins)中的任何一个,这些引脚通常被错误地称为端口。事实上,一个端口,简单地说,就是一组引脚。引脚只是一个元素。
考虑针 13 的控制示例 - 板上已经连接了一个 LED(通过 Uno 板上的中继放大器,通过 Nano 板上的电阻器)。要使用端口引脚,必须将其配置为输入或输出模式。在设置主体中这样做很方便,但不是强制性的 - 输出的目标可以动态更改。这意味着在程序执行期间,端口可以用于输入或输出。
Arduino 的 13 号引脚(ATmega 328 微控制器端口 B 的 PB5 引脚)的初始化如下所示
无效设置()
{
pinMode(13,输出);
}
执行此命令后,板子的 13 脚将工作在输出模式,默认为低逻辑电平。您可以在程序执行期间向其写入零或一。一个人的写法是这样的:
无效循环()
{
数字写入(13,高);
}
现在板子的第 13 脚将被设置为高电平,一个逻辑电平,它可以用来点亮 LED。
要关闭 LED,您必须将输出设置为零:
数字写入(13,低);
这样,您可以通过交替写入 1 和 0 到端口寄存器的相应位来控制外部设备。
现在您可以使 Arduino 上的程序复杂化以控制 LED 并学习如何使发光元件闪烁:
无效设置()
{
pinMode(13,输出);
}
无效循环()
{
数字写入(13,高);
延迟(1000);
数字写入(13,低);
延迟(1000);
}
命令 延迟(1000) 命令创建 1000 毫秒或一秒的延迟。通过更改此值,您可以更改 LED 的频率或闪烁频率。如果将外部 LED 连接到电路板的另一个引脚,则还需要在程序中指定所选引脚的编号而不是 13。
为了清楚起见,我们推荐一系列视频。
一旦您掌握了与 Arduino 的 LED 连接并学会了如何控制它,您就可以进入下一个级别并编写其他更复杂的程序。例如,您可以学习如何使用按钮切换两个或更多 LED,使用外部电位器更改闪烁频率,使用 PWM 调节发光亮度,更改 RGB 发射器的颜色。任务的级别仅受想象力的限制。