映射为百分比
本课属于 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() 适用于整数,并会舍去小数部分。对于百分比来说,这样就可以了。
挑战
简单旋钮连接在 A0。以百分比打印它的转动幅度:
- 读取 A0
- 用
map()将读数转换为 0 到 100 - 打印百分比,然后等待 100 ms
按“运行”,转动旋钮,然后按“检查”。
亲手试试
void setup() {
Serial.begin(9600);
}
void loop() {
int reading = analogRead(A0);
// 用 map() 将 reading 转换为百分比,打印出来,然后等待 100 ms
}
这节课包含一个小测验。开始学习即可作答,并记录你的进度。
输入中的所有课
自己练习: Arduino 在线编辑器