Arduino analogRead ( )2025年3月17日 | 阅读 3 分钟 analogRead( ) 函数从特定 Arduino 板上的指定模拟引脚读取值。 Arduino 板上的 ADC(模数转换器)是一个多通道转换器。它将输入电压和工作电压映射到 0 到 1023 之间的值。工作电压可以是 5V 或 3.3V。 从 0 到 1023 的值是整数值。它也可以写成 0 到 (2^10) -1。 在 UNO、Mega、Mini 和 Nano 板上读取模拟输入信号的持续时间约为 100 微秒或 0.0001 秒。 因此,模拟输入的最大读取速率约为每秒 10000 次。 让我们讨论一些Arduino 板的工作电压和分辨率。 - Arduino UNO、Mini、Mega、Nano、Leonardo 和 Micro 的工作电压为5V,分辨率为10 位。
- MKR 系列板、Arduino Due 和 Zero 的工作电压为 3 V,分辨率为12 位。
更改输入电压和分辨率- 在特定板上,我们可以使用 analogReference( ) 函数更改 输入电压。
analogReference( ) 用于模拟输入的参考电压由 analogReference( ) 配置。 语法是 注意:AREF 引脚上的外部参考电压不应超过 5V 或低于 0V。 在 AREF 引脚上工作时,我们需要将模拟参考设置为外部。 否则,它会损坏 Arduino 板上的微控制器。- 我们可以仅使用 analogReadResolution( ) 函数更改 MKR Family、Zero 和 Due 板的 分辨率。
analogReadResolution( ) MKR Family、Zero 和 Due 的 ADC 分辨率为 12 位。 analogReadResolution( ) 将从 analogRead( ) 函数返回 0 到 4095 之间的整数值。 语法是 其中, 位:它表示 analogRead( ) 函数返回的分辨率位。我们可以将位的取值范围设置为 1 到 32。 注意:如果指定的分辨率位高于电路板功能,Arduino 将用零填充额外的位。 例如,analogReadResolution (14) 上面的函数将给出一个 14 位的近似数,前两位为 12 位(包括 ADC 读数)和最后两位填充位。analogRead ( ) 的语法语法是 其中, 引脚:它包括要从中读取的特定模拟引脚的名称。 数据类型为 int。 未连接的模拟引脚也可以返回一些值。此类值取决于我们的手在电路板上的位置以及其他附近的模拟输入。 Code Example让我们通过一个例子来理解 analogRead 的概念。 请看下面的代码 上面的代码从指定的模拟引脚 (AnaPin) 读取电压并显示它。
|