0Pricing
Arduino & IoT Academy · 课时

用旋钮控制 LED 亮度

将电位器读数与 PWM 输出结合起来

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

本课时的部分内容尚未翻译,以英文显示。

Let a Knob Do the Driving

Now you combine two skills: read a potentiometer and use that reading to set an LED's brightness in real time. 🎛️

The Knob Speaks 0 to 1023

analogRead gives you a 0 to 1023 value as you turn the pot. That is the position of the knob expressed as a number.

int knob = analogRead(A0);

The LED Wants 0 to 255

But analogWrite only accepts 0 to 255. The two ranges do not match, so you cannot feed the knob value straight in.

map() Bridges the Gap

The map function rescales a number from one range to another. It turns the wide knob range into the narrow LED range.

int led = map(knob, 0, 1023, 0, 255);

Send It to the LED

Pass the mapped value to analogWrite. Now the LED brightness tracks exactly where you set the knob.

analogWrite(9, led);

Wire the Potentiometer

Connect the pot's outer legs to 5V and GND, and its middle wiper leg to analog pin A0 so the board can read it.

Pin Setup in setup()

The LED pin still needs OUTPUT. Analog input pins do not need pinMode, so setup stays short and simple.

void setup() {
  pinMode(9, OUTPUT);
}

The Full loop()

Each pass, read the knob, map it, and write it. Because loop repeats fast, the LED feels instant as you turn the dial.

void loop() {
  int knob = analogRead(A0);
  int led = map(knob, 0, 1023, 0, 255);
  analogWrite(9, led);
}

Skip map With a Shortcut

You could also divide the knob value by 4, since 1023 over 4 is about 255. It works, but map reads more clearly.

int led = knob / 4;

Watch the Direction

If the LED dims when you turn up, just swap map's output ends to 255 then 0, or flip the pot's outer wires.

You Just Built an Interface

This read, map, write pattern is everywhere in IoT: a sensor in, a useful range out, an action on the hardware. 🚀

Quick Check

Recall why map matters in this project.

Recap: Knob to Brightness

Read the knob with analogRead, map 0 to 1023 into 0 to 255, then analogWrite it. You built a real dimmer. 🎉

常见问题解答

「用旋钮控制 LED 亮度」课时是免费的吗?

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

「用旋钮控制 LED 亮度」这节课中我会学到什么?

将电位器读数与 PWM 输出结合起来 你通过在浏览器中直接运行的动手代码来练习 Arduino & IoT Academy,全天候 AI 导师会在你学习这节课的过程中回答你的问题。

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

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

「用旋钮控制 LED 亮度」课时需要多长时间?

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

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

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

此课程中的所有课时

  1. PWM 实际做了什么
  2. analogWrite 0–255
  3. 让 LED 渐亮渐暗
  4. 用旋钮控制 LED 亮度
← 返回 Arduino & IoT Academy