#include <Bounce2.h>
// 定义LED引脚和按钮引脚
const int ledPins[] = {11, 10, 9};
const int buttonPins[] = {2, 3, 4};
const int numButtons = 3; // 按键数量
Bounce debouncers[numButtons]; // 创建Bounce对象数组
void setup() {
// 初始化LED引脚
for (int i = 0; i < numButtons; i++) {
pinMode(ledPins[i], OUTPUT);
digitalWrite(ledPins[i], LOW); // 确保LED初始状态为关闭
}
// 初始化按钮引脚
for (int i = 0; i < numButtons; i++) {
pinMode(buttonPins[i], INPUT_PULLUP);
debouncers[i].attach(buttonPins[i]);
debouncers[i].interval(50); // 设置防抖时间为50毫秒
}
}
void loop() {
for (int i = 0; i < numButtons; i++) {
debouncers[i].update(); // 更新Bounce对象
// 根据按键当前状态点亮或熄灭LED
// 由于使用了内置上拉电阻,按键按下为LOW,松开为HIGH
digitalWrite(ledPins[i], !debouncers[i].read());
}
}