Submit

07 / 20

填满一圈 LED

将电位器的 12 位读数映射为十二颗可寻址灯珠。

运行此实验 →
ESP32 教学电路插图,显示模组、引脚和本课实验元件

实验目标

将旋钮从 0 调到 4095,数出点亮的灯珠。

工作原理

将电位器的 12 位读数映射为十二颗可寻址灯珠。 十二颗。一个数据引脚依次发送每颗可寻址 LED 的颜色值。 此处为配套教学模型,硬件示例基于经典 ESP32 与 Arduino-ESP32 3.x;网络、声波、负载和机械运动均为简化演示。

动手试一试

  1. 打开此实验
  2. 将旋钮从 0 调到 4095,数出点亮的灯珠。

接线

  • GPIO 34 — 电位器滑动端,两端接 3V3/GND
  • GPIO 23 — 电平转换器 → 灯环 DIN
  • External 5V / GND — 灯环供电/共地

示例代码

#include <Adafruit_NeoPixel.h>
Adafruit_NeoPixel ring(12, 23, NEO_GRB + NEO_KHZ800);
// 5V pixel power; common GND; use an appropriate 3.3V-to-5V data level shifter.

void setup() {
  ring.begin();
  ring.setBrightness(40);
  analogReadResolution(12);
}

void loop() {
  int reading = analogRead(34);
  int count = map(reading, 0, 4095, 0, 12);
  for (int i = 0; i < 12; i++) ring.setPixelColor(i, i < count ? ring.Color(20, 120, 80) : 0);
  ring.show();
  delay(20);
}

检查理解

最大读数会点亮几颗?

查看答案

十二颗。一个数据引脚依次发送每颗可寻址 LED 的颜色值。

参考资料

Arduino-ESP32 ↗ · GPIO 参考 ↗

MAKE A THOUGHTFUL CHOICE

Your shortlist, side by side.

Pricing models are indicative. Check each official website for current plans and limits.