发布于 2026-01-06 0 阅读
0

在 Arduino 上玩转 LED

在 Arduino 上玩转 LED

介绍

LED 可能是电子领域有史以来最棒的发明,它们几乎可以与任何东西搭配(就像葡萄干一样),而且事实证明,它们很容易操作。

本教程将演示如何使用简单的微控制器板(Arduino micro)来控制 LED。这是“电子学速成课程”系列的最后一部分。完成本练习后,您应该能够熟练地使用面包板和基本元件,开始构建自己的小型电子项目。太棒了!

所需材料

材料

  • 面包板。
  • Arduino 开发板。在本教程中,我将使用Arduino Micro,因为我手头正好有这款,但您也可以使用其他 Arduino 开发板。
  • 1 个普通 LED 灯。
  • 1 个 220 欧姆电阻。
  • 2根跳线。

如果您还没看过,请查看本指南的第二部分:《如何组装一套经济实惠的发明家工具包》。

让我们仔细看看我们将要用到的物品:

概述

Arduino 板

Arduino Micro 是一款基于 ATmega32U4 微控制器的紧凑型微控制器板。

面包板

面包板

面包板上有一系列带孔的走线,可以用来连接各种元件。每行通常有 5 个相互连通的孔,因此,例如,将导线和元件放在同一行,就相当于直接连接它们。面包板两侧的两排孔通常用于连接电源(红线)和地线(蓝线)。

普通LED

LED是“发光二极管”(Light Embleddio)的缩写。普通的LED有两个引脚,一个是正极(阳极),通常是较长的引脚;一个是负极(阴极),通常是较短的引脚。通常情况下,你会将LED的正极引脚连接到一个电阻(大约220欧姆或更高,最高可达1千欧姆),负极引脚接地(GND)。

电阻器

电阻器是一种基本的电子元件,用于限制流过电路的电流。电阻器有许多预设值,单位为欧姆。阻值越大,电阻越大,这意味着通过的电子越少。

跳线

跳线是简单的可重复使用导线,可以轻松连接到面包板和元件上进行原型制作。

做好环境准备

我们先来准备实验环境。如果您使用的是 Arduino Micro,请将其“插入”面包板,确保引脚的两端分别位于面包板的两侧,以免短路。连接后应该如下图所示:

概述

现在您可以将 USB 电缆连接到电路板以将其打开。

访问 Arduino 官网并下载 Arduino IDE。安装完成后,在“工具”->“开发板”菜单中选择正确的开发板。对于 Arduino Micro,您应该选择“Arduino Micro” 。您可能还需要在“工具”->“开发板”->“端口”Arduino / Genuino Micro菜单中选择通信端口。端口选择仅在开发板连接后才有效。

当您通过插入 USB 电缆打开电路板时,您应该能够通过进入“工具”->“获取电路板信息”菜单来获取有关它的信息。

参考电路板引脚图

手边备一份电路板引脚图总是很有帮助的。它会显示电路板的详细信息,包括可用引脚和其他信息。你可以通过谷歌搜索轻松找到所有主流电路板的引脚图——甚至可以直接跳转到“图片”页面快速找到所需内容。

这是 Arduino 微控制器的简单引脚图:

概述

入门

现在一切准备就绪,是时候将你的第一个程序上传到开发板了。在 IDE 中打开基本的闪烁示例,方法是:文件 -> 示例 -> 01. 基本 -> 闪烁。查看代码以了解其基本工作原理:

// the setup function runs once when you press reset or power the board
void setup() {
  // initialize digital pin LED_BUILTIN as an output.
  pinMode(LED_BUILTIN, OUTPUT);
}

// the loop function runs over and over again forever
void loop() {
  digitalWrite(LED_BUILTIN, HIGH);   // turn the LED on (HIGH is the voltage level)
  delay(1000);                       // wait for a second
  digitalWrite(LED_BUILTIN, LOW);    // turn the LED off by making the voltage LOW
  delay(1000);                       // wait for a second
}
Enter fullscreen mode Exit fullscreen mode

你会注意到程序有两个函数:“setup”和“loop”。它们的作用显而易见。本例使用的是Arduino板的内置LED,它由常量“LED_BUILTIN”定义。正如你将在下一个示例中看到的,如果我们使用外部LED,可以将其更改为不同的引脚。

准备就绪后,点击“上传”按钮(右箭头)将代码发送到开发板。几秒钟后,您应该会看到开发板上的内置 LED 开始闪烁。

使用外部 LED

这很有趣,但过于简单。下一个例子,我们将使用外部LED,为此我们需要搭建一个简单的电路。真令人兴奋!

创建你的第一个电路

电路本质上就是电流可以流动的路径。

你可以把电路想象成一个程序。它有着非常具体的执行流程(电流),可以通过控制手段来改变,例如函数或方法调用、条件语句等等。在电路中,这些控制手段是通过诸如按钮、电阻器、电容器、LED 等元件直接在“裸机”上实现的。

我们的电路非常简单。我们将把一个LED连接到Arduino Micro板的第6引脚。要连接LED,我们需要一个220欧姆的电阻(阻值高达1千欧姆的电阻也能点亮LED)。

事不宜迟,让我们来看一下我们要搭建的电路图:

概述

从图中可以看出,LED 的正极(阳极,图中的右侧引脚)连接到电阻器,然后电阻器连接到 Arduino 板上的 6 号引脚。

你可能想知道这些黑线是做什么用的。它们将LED的负极(阴极,图中左侧引脚)连接到Arduino板上的一个GND引脚。

这就是我的电路实际外观:

概述

现在,我们要对之前的“闪烁”示例稍作修改,使其使用引脚 6 而不是之前使用的内置 LED 引脚。为了使代码更灵活,我们将创建一个变量来存储引脚值,以便在需要时更容易更改。

以下是更新后的代码:

int led = 6; // we are using pin 6 for the led
// the setup function runs once when you press reset or power the board
void setup() {
  // initialize digital pin led as an output.
  pinMode(led, OUTPUT);
}
// the loop function runs over and over again forever
void loop() {
  digitalWrite(led, HIGH);   // turn the LED on (HIGH is the voltage level)
  delay(1000);               // wait for a second
  digitalWrite(led, LOW);    // turn the LED off by making the voltage LOW
  delay(1000);               // wait for a second
}
Enter fullscreen mode Exit fullscreen mode

补充示例:使用 PWM

PWM代表“脉冲宽度调制”,它本质上是一种模拟模拟信号的数字信号。数字信号只能是高电平 (5V) 或低电平 (0V),而 PWM 则提供了一种将数字信号转换为模拟波形(某种意义上的)的方法,这样我们就可以通过引脚使用一系列渐变的数值——在本例中,我们将使用 PWM 来使 LED 逐渐亮起和熄灭,而不是简单地闪烁。

现在,如果你看一下 Arduino 微控制器的引脚图,你会注意到有些引脚的引脚编号附近标有“PWM”字样。这意味着该引脚支持 PWM 输出,而这正是我们实现 LED 渐变效果所需要的。

如您所见,我们在前一个例子中选择的引脚(引脚 6)支持 PWM,因此我们实际上不需要更改电路中的任何内容。只需要更改代码即可。

我们来打开Fade示例。在 Arduino IDE 中,依次选择“文件”->“示例”->“01. 基本”->“淡入淡出”。现在将引脚编号从 9 改为 6,就可以上传新示例了。

以下是代码(包括引脚更改,并已去除注释):

int led = 6; // our led uses pin 6
int brightness = 0;
int fadeAmount = 5; 

void setup() {
 pinMode(led, OUTPUT);
}

void loop() {
 analogWrite(led, brightness);

 brightness = brightness + fadeAmount;

 if (brightness <= 0 || brightness >= 255) {
   fadeAmount = -fadeAmount;
 }

 delay(30);
}
Enter fullscreen mode Exit fullscreen mode

结论

在本期电子学速成系列教程的最后一部分中,我们学习了如何搭建 Arduino 环境,以及如何为blinkArduino IDE 中包含的示例创建一个简单的 LED 电路。我们还学习了如何使用 PWM 实现淡入淡出效果。

从这里开始,你可以开始摆弄其他基本组件,例如按钮和 RGB LED(它基本上是将 3 个微型 LED 封装在一个组件中,共用一个阳极或阴极引脚)。

如果您有其他想看到的教程建议,欢迎留言!

下次见\,,/

文章来源:https://dev.to/erikaheidi/playing-with-leds-on-arduino-116i