Arduino & IoT Academy · 课时

analogRead 返回 0–1023

将电压转换为可使用的数字

第 2 / 4 课13 个步骤

analogRead 返回 0–1023 是 CoddyKit 上的免费 Arduino & IoT Academy 课时。 这是第 2 节课,共 4 节。 你可以在下方免费阅读本课时的完整内容 — 然后在浏览器中使用内置代码编辑器和全天候 AI 导师进行实践。 这是 Arduino & IoT Academy 学习路径的一部分,你的进度在网页和 CoddyKit 应用中同步。 Arduino & IoT Academy 课程共包含 4 节课。

将电压转换为数值

代码不能直接使用原始电压。analogRead 函数会测量引脚,并返回一个可以进行处理的普通数值。

范围是 0 到 1023

每个 analogRead 结果都在 0 到 1023 之间。这正好是 1024 个可能的级别,从最低电压一直到最高电压。

为什么是 1024 个级别

Uno 使用 10 位转换器,而 2 的 10 次方是 1024。增加位数只会带来更高的分辨率。

0 表示零伏

读数为 0 表示引脚检测到 0V,也就是范围的最低点。在这里无法测量比它更低的电压。

1023 表示满电压

读数为 1023 表示引脚达到参考电压,在 Uno 上通常是 5V。这是数值范围的最高点。

中间值约为 512

电压约为 2.5V 时,数值接近512,也就是范围的中点。电压到数值的映射非常接近线性。

在模拟引脚上调用

将模拟引脚名称传入读取函数即可。analogRead(A0) 会对 A0 引脚进行采样,并将当前数值作为 int 返回。

int value = analogRead(A0);

将结果存入 int

由于 1023 很小,结果可以轻松存入 int。将它保存到变量中,以便稍后在代码中使用。

int sensor = analogRead(A0);

无需使用 pinMode

模拟输入开箱即用。您无需为它们调用 pinMode,只需在需要数值时调用 analogRead 即可。

转换回电压

要查看实际电压,请对读数进行换算。将数值乘以 5.0,再除以 1023,即可将其转换为伏特。

float v = analogRead(A0) * 5.0 / 1023.0;

读数会有轻微波动

微小的电气噪声会使数值上下波动一两点。这很正常,对几次读取结果取平均值即可使读数更加平滑。

快速检查

analogRead 会返回什么?

回顾:0 到 1023 的刻度

您了解到,analogRead 会将 0V 到 5V 的信号转换为 0 到 1023 之间的数值。将结果存入 int,并在需要时将其换算回电压。

免费开始

用 AI 导师学习 C++ — 免费

在浏览器中编写并运行真实代码,获得全天候 AI 导师的即时帮助,并在网页或应用中继续学习。

课程
30
课程
120

常见问题解答

「analogRead 返回 0–1023」课时是免费的吗?

是的 — 「analogRead 返回 0–1023」的完整文本可在网页上免费阅读。要进行交互式练习(内置代码编辑器和全天候 AI 导师)并解锁 Arduino & IoT Academy 课程的其余内容,请升级到 CoddyKit PRO。 Arduino & IoT Academy 课程共包含 4 节课。

「analogRead 返回 0–1023」这节课中我会学到什么?

将电压转换为可使用的数字 你通过在浏览器中直接运行的动手代码来练习 Arduino & IoT Academy,全天候 AI 导师会在你学习这节课的过程中回答你的问题。

学习 Arduino & IoT Academy 需要有经验吗?

无需任何先前经验。CoddyKit 上的 Arduino & IoT Academy 课程适合初学者到高级学习者,你可以从这里开始或从头开始,按照自己的节奏学习。 这是第 2 节课,共 4 节。

「analogRead 返回 0–1023」课时需要多长时间?

大多数 CoddyKit 课程大约需要 5–10 分钟。每节课都很精短且互动,所以你能稳步进步,并在网页和应用中从离开的地方继续。

我能在这节 Arduino & IoT Academy 课中编写并运行代码吗?

能。每节 Arduino & IoT Academy 课都包含内置代码编辑器,你可以在浏览器中直接编写并运行真实代码,并获得即时 AI 反馈 — 无需本地设置。

此课程中的所有课时

  1. 数字信号与模拟信号
  2. analogRead 返回 0–1023
  3. 读取电位器旋钮
  4. 使用 map() 将数值映射到新范围
← 返回 Arduino & IoT Academy