arduino旋钮不同区域数值控制六个不同的LED灯亮的代码
时间: 2024-12-10 15:38:28 浏览: 15
在Arduino中,你可以使用数字输入(如旋钮)来控制多个LED灯。首先,你需要将旋钮连接到Arduino的模拟输入端口,并确保每个LED灯连接到某个数字输出端口。以下是一个简单的示例代码,展示了如何通过旋钮的不同位置控制6个LED灯:
```cpp
// 导入所需要的库
#include <Servo.h>
// 定义LED灯的数量和它们对应的模拟引脚
const int LED_PINs[] = {2, 3, 4, 5, 6, 7}; // 确保这些引脚可用
int ledCount = sizeof(LED_PINs) / sizeof(LED_PINs[0]);
// 创建一个Servo对象,因为旋转按钮通常会对应 Servo 或者 PWM
Servo rotaryPot;
void setup() {
for (int i = 0; i < ledCount; i++) {
pinMode(LED_PINs[i], OUTPUT); // 初始化LED灯为输出模式
}
rotaryPot.attach(0); // 将旋钮连接到A0模拟输入,这里假设旋钮连接到第一个模拟输入
}
void loop() {
int potValue = analogRead(A0); // 读取旋钮的当前值
// 遍历所有LED灯,分配potValue的百分比给每个LED的亮度
for (int i = 0; i < ledCount; i++) {
int brightness = map(potValue, 0, 1023, 0, 255);
digitalWrite(LED_PINs[i], HIGH); // 开启LED灯
analogWrite(LED_PINs[i], brightness); // 设置LED灯亮度
}
// 如果你想让LED灯随着旋钮的改变动态调整亮度,移除下面这行
delay(10); // 添加延迟以减慢LED闪烁的速度,避免太快难以观察效果
}
```
在这个代码中,`analogRead()`函数获取旋钮的模拟值,然后使用`map()`函数将其映射到0-255范围内的亮度值,控制LED灯的开关和亮度。
阅读全文