Menu
CoddyTech

将旋钮读数转换为电压

本课属于 Coddy Arduino 学习旅程的“输入”单元。第 9 课,共 22 课。

读数为 1023 时表示 5V,因此每一步对应 5 / 1023 伏。将读数乘以这个值,就能换算成伏特:

int reading = analogRead(A0);
float volts = reading * 5.0 / 1023.0;
Serial.println(volts);

小数点很重要。reading * 5 / 1023只使用整数,因此会进行整数除法并舍弃小数部分:读数为 512 时,结果是 2,而不是 2.5。5.0可以让运算保留小数。

运算顺序也很重要:reading / 1023 * 5.0会先将两个整数相除,因此对于所有小于 1023 的读数,结果都是 0。

Serial.println()会显示保留两位小数的float,例如2.50。

challenge icon

挑战

简单

旋钮连接在 A0 上。输出引脚上的电压:

  • 将 A0 的读数存入一个 int
  • 将它转换成以伏特为单位的值,存入一个 float:reading * 5.0 / 1023.0
  • 输出电压,然后等待 100 ms

按下运行,转动旋钮,然后按下检查。

亲手试试

void setup() {
  Serial.begin(9600);
}

void loop() {
  int reading = analogRead(A0);
  // 将 reading 转换为电压值并打印,然后等待 100 ms
}
quiz icon自我测试

这节课包含一个小测验。开始学习即可作答,并记录你的进度。

输入中的所有课

自己练习: Arduino 在线编辑器