arduino adc-ag捕鱼王app官网

当前位置:ag捕鱼王app官网 > > 编程语言 > c >

arduino adc

作者:迹忆客 最近更新:2024/03/13 浏览次数:

本教程将讨论使用模拟引脚读取模拟信号并将其转换为 arduino 中的数字。


arduino adc

adc,也称为模数转换器,将模拟信号转换为数字信号。模拟信号是连续的,这意味着它们内部有无限数量的值。我们无法读取所有值,因此我们从连续信号中读取特定时间间隔的值,使信号数字化。

从模拟信号中取样的过程称为采样。将模拟信号转换为数字信号的过程如下图所示。

上图中的第一个信号是一个无限值的连续信号,第二个信号是一个有限值的数字信号。模数转换器定期从模拟信号中取值以使其成为数字信号。

进行模数转换是因为计算机无法处理模拟信号;它只能处理 0s 和 1s 的数字信号。处理完数字信号后,我们还可以使用 dac 或数模转换器将信号转换回模拟信号。

例如,连接上图中第二个信号中的点将变得与第一个信号几乎相同。我们在 adc 中采集的样本数称为 adc 的采样率或比特率。

一些 arduino 板具有 10 位模数转换器,有些具有 12 位模数转换器。比特率也称为分辨率,它定义了 adc 将从模拟信号中获取的样本数。

一个 10 位模数转换器将从模拟信号中获取 1024 个样本。例如,假设输入信号由 0 到 5 伏之间的电压电平组成。

在这种情况下,电压电平将映射到 0 到 1024 的整数范围,这意味着模数转换器将在每 5/1024 或 4.9 毫伏之后进行一次采样。

模数转换器的速度取决于基于 atmega 的 arduino 板中 arduino 板的工作频率;模数转换器将需要 100 微秒将模拟信号转换为数字信号,这意味着采样率或读取率为 10 khz 或每秒 10,000 次。

arduino zero、due 和 mkr 系列板等其他板具有 12 位模数转换器,这意味着 0 到 3.3 伏的输入模拟信号将映射到 0 到 4095 的整数范围。

默认情况下,12 位模数转换器将设置为 10 位,但我们可以使用 analogreadresolution() 函数更改模数转换器的比特率或分辨率,将位数传递给功能设置分辨率。

查看此链接以获取有关 analogreadresolution() 函数的更多详细信息。

每个 arduino 板上的模拟引脚都标有 a,后跟 a0a1 等数字。要从 arduino 的模拟引脚读取信号,我们可以使用 analogread() 函数。

analogread() 函数的基本语法如下。

output = analogread(pin)

上述语法将从模拟引脚返回模拟信号作为数字信号。如果模拟引脚未连接任何信号,该函数仍将返回一些浮点值。

不同的 arduino 板对模数转换器有不同的速度,可以改变,但它也会改变模数转换器的分辨率。因此,我们应该使用模数转换器的默认设置来进行准确的模数转换。

我们在上面讨论过,一些 arduino 板对输入模拟信号有 0 到 5 伏的参考电压,而一些有 0 到 3.3 伏的参考电压。这些是默认值,我们可以使用 analogreference() 函数更改它们。

我们可以根据不同类型的 arduino 板传递不同的选项。

例如,对于 arduino uno 和 mega,我们有如下选项:

在设置参考电压之前,请注意,我们不能设置低于 0 伏和高于 5 伏的电压值;参考电压值应为 0 至 5 伏。

假设我们将一个电阻连接到模拟引脚。在这种情况下,输入电压将降低,因为模拟引脚内部已经存在一个 32k 值的电阻,在这种情况下,两个电阻将构成分压器,输入电压将根据电阻器的值。

检查此链接以获取我们可以在 analogreference() 函数中使用的选项的完整列表。查看此链接以获取有关 analogread() 函数的更多详细信息。

上一篇:

下一篇:arduino strcmp 函数

转载请发邮件至 1244347461@qq.com 进行申请,经作者同意之后,转载请以链接形式注明出处

本文地址:

相关文章

arduino 中停止循环

发布时间:2024/03/13 浏览次数:444 分类:c

可以使用 exit(0),无限循环和 sleep_n0m1 库在 arduino 中停止循环。

arduino 复位

发布时间:2024/03/13 浏览次数:315 分类:c

可以通过使用复位按钮,softwarereset 库和 adafruit sleepydog 库来复位 arduino。

发布时间:2024/03/13 浏览次数:181 分类:c

可以使用简单的方法 toint()函数和 serial.parseint()函数将 char 转换为 int。

arduino 串口打印多个变量

发布时间:2024/03/13 浏览次数:381 分类:c

可以使用 serial.print()和 serial.println()函数在串口监视器上显示变量值。

arduino if 语句

发布时间:2024/03/13 浏览次数:123 分类:c

可以使用 if 语句检查 arduino 中的不同条件。

arduino icsp

发布时间:2024/03/13 浏览次数:214 分类:c

icsp 引脚用于两个 arduino 之间的通信以及对 arduino 引导加载程序进行编程。

发布时间:2024/03/13 浏览次数:151 分类:c

可以使用 arduino 中的循环制作计数器。

使用 c 编程 arduino

发布时间:2024/03/13 浏览次数:127 分类:c

本教程将讨论使用 arduino ide 在 c 中对 arduino 进行编程。

arduino 中的子程序

发布时间:2024/03/13 浏览次数:168 分类:c

可以通过在 arduino 中声明函数来处理子程序。

扫一扫阅读全部技术教程

社交账号
  • https://www.github.com/onmpw
  • qq:1244347461

最新推荐

教程更新

热门标签

扫码一下
查看教程更方便
网站地图