Menu
CoddyTech

映射为百分比

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

0 到 1023 的读数对人来说不太直观。0 到 100 的百分比更容易理解。map() 可以将一个数从一个范围转换到另一个范围:

int percent = map(reading, 0, 1023, 0, 100);

它需要 5 个数:值、原范围的下限和上限,以及新范围的下限和上限。0 会变成 0,1023 会变成 100,位于范围四分之一处的值也会映射到新范围的四分之一处:256 会变成 25。

map() 适用于整数,并会舍去小数部分。对于百分比来说,这样就可以了。

challenge icon

挑战

简单

旋钮连接在 A0。以百分比打印它的转动幅度:

  • 读取 A0
  • 用 map() 将读数转换为 0 到 100
  • 打印百分比,然后等待 100 ms

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

亲手试试

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

void loop() {
  int reading = analogRead(A0);
  // 用 map() 将 reading 转换为百分比,打印出来,然后等待 100 ms
}
quiz icon自我测试

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

输入中的所有课

自己练习: Arduino 在线编辑器