首页 > 应用与设计 > 电器 > Service Robots > 服务型机器人 > TI机器人系统学习套件(TI-RSLK) >

服务型机器人

最新课程

热门课程

TI-RSLK 模块 8 - 讲座视频第二部分 - 连接输入和输出 - LED

大家好,我是 Jon Valvano。 在本次讲座中,让我们 讨论一下发光二极管。 我们将从电压、 电流和功率等 基本原理开始。 我们将向您展示如何 使用电路将 LED 连接到 LaunchPad。 然后,一旦我们 将它连接好, 我们将编写一组 函数来使用 LED, 并将这组函数 嵌入到软件 驱动程序中 -- 驱动程序就是一系列函数的集合。 最后,我们将在 本次课程中讨论 LED 对于解决机器人难题而言 是一项多么重要的功能。 好,让我们开始吧。 让我们从电阻器这样简单的 东西开始, 怎么样? 那么,如果这是 一个 1 千欧的电阻器 -- 我将执行一个示例 -- 如果我在该电阻上 施加 2V的电压,我们 知道将有电流流过。 欧姆定律 告诉我们, 在电压电阻确定的情况下, 就能计算出电流。 那么,假设连接的 电压为 2V, 我可以看到它将 生成 2mA的电流, 该电流的方向为 从电压正极流向负极。 在这一点上, 电阻是线性的 -- 欧姆定律。 但 LED 不是 电阻,对吧? 它是二极管。 因此它具有两种 属性,我们马上 就会看到。 首先,它是有极性的。 换句话说,阳极 是正极侧,阴极 是负极侧。 因此,如果我在它两端施加 2V的电压,将会产生电流。 但是,如果我按照另一个 方向施加 2 伏的电压 -- 以相反的方向 -- 将不会产生 电流,因为它处在 曲线这个地方。 因此,当我增加 二极管上的电压时, 它最终会达到阈值, 然后开始增加。 那么 LED 的 第二个方面 是它是指数性的。 该关系是 指数性的。 因此,它不仅是极化的, 而且是非线性的。 现在,我们 要做的是 控制LED的输入功率。 功率是电压 乘以电流。 这将设置 它的亮度。 例如,如果我对 该点感兴趣 -- 这里是一组真实 LED 的 电压/电流关系。 我对这个红色的 很感兴趣。 我可以看到我在这里 有一个运行点,它的 电流为 1mA -- 电压为 1.6V。 如果我可以达到 该点,您可以 看到我将得到 1.6 毫瓦的电功率。 该电功率足以 使该 LED 开启。 再说一次,亮度 与功率相关。 关于连接LED, 我必须知道的另一件事是 由于 LED 是极化的, 因此我必须确定 哪一侧是阴极以及 哪一侧是阳极。 阳极是 正极侧, 它是两根引脚中 较长的一端 因此大电压连接到 较长的 引脚。 让我们接着连接 这个 1.61 毫安的 LED。 这就是我们在这里 要做的事情。 但是,正如您看到的, 由于是非线性的,该二极管 上的 3 伏电压 实际上会毁坏它。 因此我们需要 设置该 LED 的 电压和电流, 以便它能够 正常工作。 我们将通过放置一个 与该 LED 串联的电阻器 来保护它。 现在,它已经 连接到微控制器, 因此软件可以 开启和关闭它。 例如,如果软件设置该输出 端口输出 高电平 -- 我们将 在该点得到 3.3V电压。 我希望 发生的是, 该电压 在 LED 上产生电压降为 1.6 伏。 现在,这一切必须相符。 因此,如果那是 3.3V,而这里 是 1.6V, 那么施加在 电阻上的 电压必须是1.7V。 现在,我可以使用欧姆 定律来选择电阻值, 以便 1.7V可生成 1mA的电流 -- 这是欧姆定律决定的。 这会将我的电阻器 设置为 1.7 千欧。 现在证明 1.7 千欧 是一个不通用的电阻值。 如果我到商店 并且想买一个, 我会发现一个很接近的 电阻器,它是 1.6 千欧。 它将比 1 毫安 要亮一点,但它 会很好地工作。 那么,如果我要 大致实现它,对于 该电路中的任何 LED,我会这么做。 我需要的电阻器值 将是微控制器的 输出引脚电压减去 我要设置的 二极管电压 -- 我要为运行点 设置的二极管 电压,然后 除以我要 得到的 二极管电流。 那么,这是用于连接 该类型的 LED 的 一般公式。 一切都会很好地 工作,只要我的 电流小于 6 毫安 即可,因为这是 我能够从 MSP432 的引脚 获取的最大电流。 我们要将这 称为正逻辑, 因为输出高电平 转换成了 LED 开启。 如果输出 是低电平 -- 如果这是 0 伏 -- 即 0 伏。 没有电流。 这将使 LED 关闭。 那么,该高电压 实现开启、低电压 实现关闭的现象 被分类为正逻辑。 请注意,有时我们希望 使用负逻辑 我们希望采用 另一个方向的连接方式。 我们将使用 完全一样的 LED, 但现在我要 调换输出和 电源的位置。 那么,现在我要 将一端连接到 3.3V, 而不是接地。 电阻器现在与 LED 串联,但 LED 的底部 -- 阴极 -- 连接到 微控制器的输出端口。 那么,如果我 希望开启它, 我会设置输出为低电平。 我会在这里得到 0 伏,在那里 得到 1.6 伏,在那里得到 1.7 伏, 并且使用完全 一样的公式 来生成所需的 电阻器值,1.7 千欧。 再说一次,这是 负逻辑,因为 低电压导致 LED导通。 而高电压 -- 如果这是 3.3 伏、就没有 电流流过LED, LED 会截止。 因此这是负逻辑。 请注意,有时 LED 电流大于 6 毫安。 例如,这里是 一个不同的 LED。 如果我对某个 运行点感兴趣 -- 好的,那么在这里的 特定接口中,我将 尝试达到 10 毫安、1.8 伏 -- 10 毫安、1.8 伏设定点。 我们得到的公式与先前 得到的公式非常类似。 但是我们 -- 由于 高电流,我们 需要一个驱动器。 因此我们可以使用 BJT,或者 我们可以使用开集电路。 这是一个开路集电极, 不是栅极,这样一来, 如果微控制器 为高电平-- 如果这是3.3V-- 该驱动器开启,我将 在那里得到0.5伏的电压。 现在我可以做与 先前相同的事情, 让我们大致执行它。 我需要的电阻值, 它将会设置电流大小 3.3V减去这里的 二极管电压 -- 这是我希望设置的 二极管电压 -- 减去驱动器 这里的输出 低电压,然后 除以我尝试 达到的设定点电流。 那么,我大致 就是这么做的。 您可以看到,在本例中 我有一个 100 欧的电阻器。 因此,如果您的 LED 可以 驱动大于 6mA的 电流,这是对的。 现在,MSP432 上 有四个引脚 -- 端口P2.3、端口P2.2、 端口P2.1和端口P2.0。 这四个引脚可以驱动 高达 20 毫安的电流, 但所有其他引脚具有 6 毫安的最大电流。 好,现在我们 已经把它连好了, 让我向您展示如何 编写软件。 那么,在这个特定的 软件包中,我要 尝试解决的 问题是, 端口P2.0连接到 一个低电流、高效 LED, 就像这样. 那么我要将微控制器 端口P2.0连接到 一个 LED。 那么初始化我, 需要 -- 将方向寄存器 设置为高电平。 现在,如果我希望具有大电流驱动能力, 我还将设置 DS 寄存器。 它用于这四个具有20mA驱动能力 的引脚。 现在,输出到 LED 的过程 包含三个步骤。 我需要读取 输出的所有位, 修改我 感兴趣的位, 然后写输出寄存器。 这样,我就不会 影响其他的位 -- 在本例中,不会影响端口P2的其他7位。 因此,它在这里 看起来的样子是 -- 我将首先 读取所有位。 现在,在本例中, 我要开启 LED。 在这里的示例中, 我要设置该位。 因此,第二步 是设置我想要开启且 位于临时 变量中的位。 第三步是将数据写到输出寄存器。 因此,您可以 看到它的结果 当BIT0变为高电平,LED 开启, 但这个端口相应寄存器的其他 7 个位不受影响。 现在,如果我想清除某个位, 我就执行同样的三个步骤。 我要将它们全部读出来。 现在清除 我希望清除的位。 在本例中,我 将清除BIT0。 再次重新设置寄存器。 仍然保持 其他 7 个位不变。 这是您的 LaunchPad。 开箱即用。 它上面已经有 LED。 您可以在这里看到, 它的端口P1.0上 有一个低电流 LED, 它的端口P2上连接了 三个高电流 LED。 那么,对于 该三色 LED, 我们必须要设置 这三个引脚的 20mA 电流输出模式。 那么让我们为 LaunchPad 和LED 编写驱动程序,以便 您可以使用它们。 再说一次,这里的驱动 函数将配置 这个需要高电流驱动的-- 三色 LED。 三个 LED,它们分别连接到 端口P2.2、P2.1 和 P2.0。 我们要将方向寄存器 设置为高电平,这 意味着它是输出。 我们要将驱动强度设置 为高,这意味着它现在 可以输出20mA驱动电流。 然后我们将首先 关闭 LED 现在,要实现这个动作, 我们只需向P2端口 写入 3 个位。 虽然它非常简单, 但您可以看到 这里的代码 -- 它不仅影响我希望 更改的 3 个位,而且 还影响了其他我不想改变的 5 个位。 因此这种方式简单但不可取 那么,如果我希望以恰当的 方式做同样的事 -- 换句话说,如果我希望将Port2 的 低位的3 个位设置为高电平, 以实现输出 -- 我将使用读取、修改、写入 -- 或者“或”、“等于”使其他 5 个位 保持不变。 这会在不影响其他 5 个位的情况下设置 低位的 3 个位。 我要再次清除全部 3 个位 -- 全部 3 个低位 -- 不影响其他 5 个位。 现在写入任意 数据会 复杂一点。 那么,我们来解决该问题。 第一步是读取。 这里的第一步是,我将看到 -- 我将获取端口P2的8位 7、6、5、4、3、2、1、0 -- 我将获取现有的位。 它是一个 8 位端口。 然后我将以 1 1 1 1 0 0 0 结束它。 这样的结果是, 它将为我提供 位 7、6、5、4、3 -- 我不关心其他 5 个位。 但它将使这些 位变为 0 那么,现在当我使用 我的数据命令它时 -- 再次假定数据中 具有这些位 -- 希望结果 是保持 7、6、5、4、3为原来的数据 加上 x、y、z 参数 -- 假设该 3 位数 是 x、y、z。 我们知道这3个参数代表了BIT2、BIT1、BIT0 -- 我们可以看到,一旦我 这么做,现在我具有 5 个不变的位,加上 3 个需要改变的位。 然后,当我重新配置输出寄存器的时候, 我就对它产生了影响。 现在,如果您希望 自己来执行它, 您可以看到, 这是称为 输入输出入门项目中的示例代码。 之前我们已经 向您展示了 LED 是什么, 我们向您展示了软件代码。 为什么上述方法很重要? 如果您知道 调试的一般规则,即 -- 我们需要能够 控制软件做什么。 然后,我们需要能够 观察发生了什么。 LED 为我们提供了一种 非常简单、非常快速、 具有极高非侵入性 -- 或具有极低侵入性 -- 的方法 来查看软件在做什么。 那么,如果我们仅采用 一个 LED,我们可以开启它, 我们也可以关闭它。 这基本上 是您可以 放置在机器人上的一位基本信息, 您可以在机器人 奔跑时查看它。 因此,您的 机器人 代码中可能嵌入 某种模式、某些条件, 现在您可以 在机器人 奔跑时将该想法 向操作员显示为 1 或 0 -- 即真或假 因此我们将这称为检测信号。 我们可以通过查看 LED 来了解您的软件正在做什么。 另外 -- 即使 仅使用单个 LED, 我们实际上也可以 获取更多信息。 那么,如果我使 LED 闪烁 -- 我开启它,我关闭它 -- 我可以通过我的双眼看到它。 只要它的频率小于 10 赫兹,我就可以看到它。 但我还可以更改 我使它闪烁的频率。 我可以使它每秒闪烁一次, 每秒闪烁两次,每秒闪烁四次, 因此,我实际上可以 通过 LED 生成多于 1 位的信息。 因此,我可以再次 在我的头脑中 对LED不同的闪烁 频率状态 -- 设定不同的含义 -- 从而进行 编码,以便我可以 看到我的软件在做什么。 由于能够观察 或了解您的软件 在做什么 是调试的 关键部分,因此我鼓励您 在您的 LaunchPad 上使用 LED。 在原型板上连接 一些额外的 LED, 以便您 的机器人 在赛道上赛跑时 有大量的闪烁的状态灯。 总之,我们 讨论了 LED。 它是具有极性的。 换句话说,它有 正极和负极。 阳极是正极, 阴极是负极。 它具有非线性特性,我们 需要使用一个 电阻来连接它。 该电阻将设置流过LED的电压电流。 我们针对电阻, 而不是针对 LED 使用欧姆定律。 然后我们编写了 一组软件函数 -- 初始化函数,它执行了 一次,然后是 输出函数,在我希望LED 开启或关闭时使用。 好的,请您尽情享受。 在您的机器人上放置一些 LED, 以便您可以看到它在奔跑。 祝您本次实验愉快。 334

大家好,我是 Jon Valvano。

在本次讲座中,让我们 讨论一下发光二极管。

我们将从电压、 电流和功率等

基本原理开始。

我们将向您展示如何 使用电路将 LED 连接到

LaunchPad。

然后,一旦我们 将它连接好,

我们将编写一组 函数来使用 LED,

并将这组函数 嵌入到软件

驱动程序中 --

驱动程序就是一系列函数的集合。

最后,我们将在 本次课程中讨论

LED 对于解决机器人难题而言 是一项多么重要的功能。

好,让我们开始吧。

让我们从电阻器这样简单的 东西开始,

怎么样?

那么,如果这是 一个 1 千欧的电阻器 --

我将执行一个示例 --

如果我在该电阻上 施加 2V的电压,我们

知道将有电流流过。

欧姆定律 告诉我们,

在电压电阻确定的情况下, 就能计算出电流。

那么,假设连接的 电压为 2V,

我可以看到它将 生成 2mA的电流,

该电流的方向为 从电压正极流向负极。

在这一点上, 电阻是线性的 --

欧姆定律。

但 LED 不是 电阻,对吧?

它是二极管。

因此它具有两种 属性,我们马上

就会看到。

首先,它是有极性的。

换句话说,阳极 是正极侧,阴极

是负极侧。

因此,如果我在它两端施加 2V的电压,将会产生电流。

但是,如果我按照另一个 方向施加 2 伏的电压 --

以相反的方向 -- 将不会产生

电流,因为它处在 曲线这个地方。

因此,当我增加 二极管上的电压时,

它最终会达到阈值, 然后开始增加。

那么 LED 的 第二个方面

是它是指数性的。

该关系是 指数性的。

因此,它不仅是极化的, 而且是非线性的。

现在,我们 要做的是

控制LED的输入功率。

功率是电压 乘以电流。

这将设置 它的亮度。

例如,如果我对 该点感兴趣 --

这里是一组真实 LED 的

电压/电流关系。

我对这个红色的 很感兴趣。

我可以看到我在这里 有一个运行点,它的

电流为 1mA --

电压为 1.6V。

如果我可以达到 该点,您可以

看到我将得到 1.6 毫瓦的电功率。

该电功率足以 使该 LED 开启。

再说一次,亮度 与功率相关。

关于连接LED, 我必须知道的另一件事是

由于 LED 是极化的, 因此我必须确定

哪一侧是阴极以及 哪一侧是阳极。

阳极是 正极侧,

它是两根引脚中 较长的一端

因此大电压连接到 较长的

引脚。

让我们接着连接 这个 1.61 毫安的 LED。

这就是我们在这里 要做的事情。

但是,正如您看到的, 由于是非线性的,该二极管

上的 3 伏电压 实际上会毁坏它。

因此我们需要 设置该 LED 的

电压和电流, 以便它能够

正常工作。

我们将通过放置一个 与该 LED 串联的电阻器

来保护它。

现在,它已经 连接到微控制器,

因此软件可以 开启和关闭它。

例如,如果软件设置该输出 端口输出

高电平 -- 我们将 在该点得到 3.3V电压。

我希望 发生的是,

该电压 在 LED 上产生电压降为

1.6 伏。

现在,这一切必须相符。

因此,如果那是 3.3V,而这里

是 1.6V, 那么施加在

电阻上的 电压必须是1.7V。

现在,我可以使用欧姆 定律来选择电阻值,

以便 1.7V可生成 1mA的电流 --

这是欧姆定律决定的。

这会将我的电阻器 设置为 1.7 千欧。

现在证明 1.7 千欧 是一个不通用的电阻值。

如果我到商店 并且想买一个,

我会发现一个很接近的 电阻器,它是 1.6 千欧。

它将比 1 毫安 要亮一点,但它

会很好地工作。

那么,如果我要 大致实现它,对于

该电路中的任何 LED,我会这么做。

我需要的电阻器值 将是微控制器的

输出引脚电压减去

我要设置的 二极管电压 --

我要为运行点 设置的二极管

电压,然后 除以我要

得到的 二极管电流。

那么,这是用于连接 该类型的 LED 的

一般公式。

一切都会很好地 工作,只要我的

电流小于 6 毫安 即可,因为这是

我能够从 MSP432 的引脚

获取的最大电流。

我们要将这 称为正逻辑,

因为输出高电平 转换成了 LED 开启。

如果输出 是低电平 --

如果这是 0 伏 --

即 0 伏。

没有电流。

这将使 LED 关闭。

那么,该高电压 实现开启、低电压

实现关闭的现象 被分类为正逻辑。

请注意,有时我们希望 使用负逻辑

我们希望采用 另一个方向的连接方式。

我们将使用 完全一样的 LED,

但现在我要 调换输出和

电源的位置。

那么,现在我要 将一端连接到 3.3V,

而不是接地。

电阻器现在与 LED 串联,但 LED 的底部 --

阴极 -- 连接到

微控制器的输出端口。

那么,如果我 希望开启它,

我会设置输出为低电平。

我会在这里得到 0 伏,在那里 得到 1.6 伏,在那里得到 1.7 伏,

并且使用完全 一样的公式

来生成所需的 电阻器值,1.7 千欧。

再说一次,这是 负逻辑,因为

低电压导致 LED导通。

而高电压 --

如果这是 3.3 伏、就没有

电流流过LED, LED 会截止。

因此这是负逻辑。

请注意,有时 LED 电流大于 6 毫安。

例如,这里是 一个不同的 LED。

如果我对某个 运行点感兴趣 --

好的,那么在这里的 特定接口中,我将

尝试达到 10 毫安、1.8 伏 --

10 毫安、1.8 伏设定点。

我们得到的公式与先前 得到的公式非常类似。

但是我们 -- 由于 高电流,我们

需要一个驱动器。

因此我们可以使用 BJT,或者 我们可以使用开集电路。

这是一个开路集电极, 不是栅极,这样一来,

如果微控制器 为高电平--

如果这是3.3V--

该驱动器开启,我将 在那里得到0.5伏的电压。

现在我可以做与 先前相同的事情,

让我们大致执行它。

我需要的电阻值, 它将会设置电流大小

3.3V减去这里的 二极管电压 --

这是我希望设置的 二极管电压 --

减去驱动器 这里的输出

低电压,然后 除以我尝试

达到的设定点电流。

那么,我大致 就是这么做的。

您可以看到,在本例中 我有一个 100 欧的电阻器。

因此,如果您的 LED 可以 驱动大于 6mA的

电流,这是对的。

现在,MSP432 上 有四个引脚 --

端口P2.3、端口P2.2、 端口P2.1和端口P2.0。

这四个引脚可以驱动 高达 20 毫安的电流,

但所有其他引脚具有 6 毫安的最大电流。

好,现在我们 已经把它连好了,

让我向您展示如何 编写软件。

那么,在这个特定的 软件包中,我要

尝试解决的 问题是,

端口P2.0连接到 一个低电流、高效 LED,

就像这样.

那么我要将微控制器 端口P2.0连接到

一个 LED。

那么初始化我,

需要 --

将方向寄存器 设置为高电平。

现在,如果我希望具有大电流驱动能力,

我还将设置 DS 寄存器。

它用于这四个具有20mA驱动能力

的引脚。

现在,输出到 LED 的过程 包含三个步骤。

我需要读取 输出的所有位,

修改我 感兴趣的位,

然后写输出寄存器。

这样,我就不会 影响其他的位 --

在本例中,不会影响端口P2的其他7位。

因此,它在这里 看起来的样子是 --

我将首先 读取所有位。

现在,在本例中, 我要开启 LED。

在这里的示例中, 我要设置该位。

因此,第二步 是设置我想要开启且

位于临时 变量中的位。

第三步是将数据写到输出寄存器。

因此,您可以 看到它的结果

当BIT0变为高电平,LED 开启,

但这个端口相应寄存器的其他

7 个位不受影响。

现在,如果我想清除某个位, 我就执行同样的三个步骤。

我要将它们全部读出来。

现在清除 我希望清除的位。

在本例中,我 将清除BIT0。

再次重新设置寄存器。

仍然保持 其他 7 个位不变。

这是您的 LaunchPad。

开箱即用。

它上面已经有 LED。

您可以在这里看到, 它的端口P1.0上

有一个低电流 LED, 它的端口P2上连接了

三个高电流 LED。

那么,对于 该三色 LED,

我们必须要设置 这三个引脚的 20mA

电流输出模式。

那么让我们为 LaunchPad 和LED 编写驱动程序,以便

您可以使用它们。

再说一次,这里的驱动

函数将配置 这个需要高电流驱动的--

三色 LED。

三个 LED,它们分别连接到 端口P2.2、P2.1 和

P2.0。

我们要将方向寄存器 设置为高电平,这

意味着它是输出。

我们要将驱动强度设置 为高,这意味着它现在

可以输出20mA驱动电流。

然后我们将首先 关闭 LED

现在,要实现这个动作, 我们只需向P2端口

写入 3 个位。

虽然它非常简单,

但您可以看到 这里的代码 --

它不仅影响我希望 更改的 3 个位,而且

还影响了其他我不想改变的

5 个位。

因此这种方式简单但不可取

那么,如果我希望以恰当的 方式做同样的事 --

换句话说,如果我希望将Port2 的 低位的3 个位设置为高电平,

以实现输出 --

我将使用读取、修改、写入 -- 或者“或”、“等于”使其他

5 个位

保持不变。

这会在不影响其他 5 个位的情况下设置

低位的 3 个位。

我要再次清除全部 3 个位 --

全部 3 个低位 -- 不影响其他 5 个位。

现在写入任意 数据会

复杂一点。

那么,我们来解决该问题。

第一步是读取。

这里的第一步是,我将看到 --

我将获取端口P2的8位 7、6、5、4、3、2、1、0 --

我将获取现有的位。

它是一个 8 位端口。

然后我将以 1 1 1 1 0 0 0 结束它。

这样的结果是, 它将为我提供

位 7、6、5、4、3 -- 我不关心其他 5 个位。

但它将使这些 位变为 0

那么,现在当我使用 我的数据命令它时 --

再次假定数据中 具有这些位 --

希望结果 是保持

7、6、5、4、3为原来的数据

加上 x、y、z 参数 --

假设该 3 位数 是 x、y、z。

我们知道这3个参数代表了BIT2、BIT1、BIT0 --

我们可以看到,一旦我 这么做,现在我具有

5 个不变的位,加上 3 个需要改变的位。

然后,当我重新配置输出寄存器的时候, 我就对它产生了影响。

现在,如果您希望 自己来执行它,

您可以看到, 这是称为

输入输出入门项目中的示例代码。

之前我们已经 向您展示了 LED 是什么,

我们向您展示了软件代码。

为什么上述方法很重要?

如果您知道 调试的一般规则,即 --

我们需要能够 控制软件做什么。

然后,我们需要能够 观察发生了什么。

LED 为我们提供了一种 非常简单、非常快速、

具有极高非侵入性 --

或具有极低侵入性 -- 的方法 来查看软件在做什么。

那么,如果我们仅采用 一个 LED,我们可以开启它,

我们也可以关闭它。

这基本上 是您可以

放置在机器人上的一位基本信息,

您可以在机器人 奔跑时查看它。

因此,您的 机器人

代码中可能嵌入 某种模式、某些条件,

现在您可以 在机器人

奔跑时将该想法

向操作员显示为 1 或 0 -- 即真或假

因此我们将这称为检测信号。

我们可以通过查看 LED 来了解您的软件正在做什么。

另外 -- 即使 仅使用单个 LED,

我们实际上也可以 获取更多信息。

那么,如果我使 LED 闪烁 --

我开启它,我关闭它 --

我可以通过我的双眼看到它。

只要它的频率小于 10 赫兹,我就可以看到它。

但我还可以更改 我使它闪烁的频率。

我可以使它每秒闪烁一次, 每秒闪烁两次,每秒闪烁四次,

因此,我实际上可以 通过 LED 生成多于

1 位的信息。

因此,我可以再次 在我的头脑中

对LED不同的闪烁 频率状态 --

设定不同的含义 -- 从而进行 编码,以便我可以

看到我的软件在做什么。

由于能够观察 或了解您的软件

在做什么 是调试的

关键部分,因此我鼓励您 在您的 LaunchPad 上使用 LED。

在原型板上连接 一些额外的 LED,

以便您 的机器人

在赛道上赛跑时 有大量的闪烁的状态灯。

总之,我们 讨论了 LED。

它是具有极性的。

换句话说,它有 正极和负极。

阳极是正极, 阴极是负极。

它具有非线性特性,我们

需要使用一个 电阻来连接它。

该电阻将设置流过LED的电压电流。

我们针对电阻,

而不是针对 LED 使用欧姆定律。

然后我们编写了 一组软件函数 --

初始化函数,它执行了 一次,然后是

输出函数,在我希望LED 开启或关闭时使用。

好的,请您尽情享受。

在您的机器人上放置一些 LED, 以便您可以看到它在奔跑。

祝您本次实验愉快。 334

视频报错
手机看
扫码用手机观看
收藏本课程

相关下载

查看全部

视频简介

TI-RSLK 模块 8 - 讲座视频第二部分 - 连接输入和输出 - LED

所属课程:TI机器人系统学习套件(TI-RSLK) 发布时间:2018.08.27 视频集数:69 本节视频时长:18:56
在该模块中,你将学习LED和开关的基础原理。
已有6人参与了讨论去论坛跟帖交流