arduino 按键控制两个led
时间: 2024-10-10 20:11:38 浏览: 79
Arduino Leonardo 按键控制LED亮与灭
3星 · 编辑精心推荐
Arduino是一款开源电子平台,常用于 DIY 项目中创建交互式硬件设备。使用Arduino控制LED灯(Light Emitting Diodes)是非常基础的,尤其是通过按键进行开关操作。下面是一个简单的步骤来实现:
1. **硬件连接**:
- 将两个LED分别连接到Arduino的数字引脚(如D8和D9),通常将LED正极接到5V供电,负极接到GND。
- 接一个按钮到另一个数字引脚,比如D7,作为输入。
2. **编写代码**:
```cpp
// 包含必要的库
#include <Keypad.h>
// 定义按键矩阵
const byte ROWS = 4; // 按钮行数
const byte COLS = 3; // 按钮列数
char keys[ROWS][COLS] = {
{'1', '2', '3'}, // 矩阵布局
{'A', 'B', 'C'},
{'4', '5', '6'},
{'D', 'E', 'F'}
};
// 创建Keypad实例
Keypad keypad = Keypad(makeKeymap(keys), ROWS, COLS);
void setup() {
pinMode(D8, OUTPUT); // LED 1设置为输出
pinMode(D9, OUTPUT); // LED 2设置为输出
}
void loop() {
if (keypad.getKey()) { // 如果按下任意一个键
switch(keypad.getKeycode()) {
case '1':
digitalWrite(D8, HIGH); // LED 1亮
digitalWrite(D9, LOW); // LED 2灭
break;
case '2':
digitalWrite(D8, LOW); // LED 1灭
digitalWrite(D9, HIGH); // LED 2亮
break;
// 其他按键对应其他LED状态...
default:
digitalWrite(D8, LOW); // LED 1灭
digitalWrite(D9, LOW); // LED 2灭
}
} else {
digitalWrite(D8, LOW); // 当松开按键时,LED恢复默认状态(熄灭)
digitalWrite(D9, LOW);
}
}
```
这段代码首先初始化了按键矩阵,然后在循环中检测是否有按键被按下。当按下特定的按键时,对应的LED会被点亮。
阅读全文