arduino三个按钮控制三个led亮的强度
时间: 2024-09-28 16:03:07 浏览: 51
Arduino Leonardo 按键控制LED亮与灭
3星 · 编辑精心推荐
在Arduino项目中,你可以使用三个按钮分别控制三个LED灯的亮度。这通常涉及到模拟输入(如按钮)和模拟输出(如LED亮度)。这里是一个简单的步骤概述:
1. **硬件连接**:
- 将三个LED灯连接到数字输出引脚,比如D4、D5和D6(可以根据实际的Arduino板型号调整)。
- 对于每个按钮,将其的一端接到5V电源,另一端通过电阻连接到对应的数字输入引脚,例如A0、A1和A2。
2. **软件编写**:
- 使用`pinMode()`函数设置LED和按钮的模式,分别是OUTPUT(LED)和INPUT_PULLUP(按钮,带内部上拉电阻)。
- 创建一个循环,持续检查每个按钮的状态(是否被按下)。
- 在循环内,读取按钮值,如果按钮按下(即低电平),则通过`analogWrite()`函数调节对应LED的亮度。这个函数需要一个介于0(全暗)和255(全亮)之间的值来表示LED的亮度级别。
示例代码:
```cpp
int led1 = 4; // LED1连接到D4
int led2 = 5; // LED2连接到D5
int led3 = 6; // LED3连接到D6
int button1 = A0;
int button2 = A1;
int button3 = A2;
void setup() {
pinMode(led1, OUTPUT);
pinMode(led2, OUTPUT);
pinMode(led3, OUTPUT);
pinMode(button1, INPUT_PULLUP);
pinMode(button2, INPUT_PULLUP);
pinMode(button3, INPUT_PULLUP);
}
void loop() {
int btn1State = digitalRead(button1);
int btn2State = digitalRead(button2);
int btn3State = digitalRead(button3);
if (btn1State == LOW) {
analogWrite(led1, 255); // 全亮
} else {
analogWrite(led1, 0); // 全暗
}
if (btn2State == LOW) {
analogWrite(led2, 255);
} else {
analogWrite(led2, 0);
}
if (btn3State == LOW) {
analogWrite(led3, 255);
} else {
analogWrite(led3, 0);
}
}
```
阅读全文