下面是一个使用 Blinker 库的 Arduino 程序示例,程序可以控制两个灯(LED)。按下按钮 A
可以打开灯 1,按下按钮 B
可以打开灯 2,而按钮 C
可以关闭这两个灯。
硬件连接
- 将 LED 1 连接到 GPIO 引脚 5
- 将 LED 2 连接到 GPIO 引脚 6
- 按钮 A (开灯1) 、B (开灯2) 和 C (关灯) 的状态通过 Blinker 控制
Arduino 程序示例
#include <Blinker.h>
#define LED1_PIN 5 // 灯1的引脚
#define LED2_PIN 6 // 灯2的引脚
// 定义 Blink 实例
BlinkerButton ButtonA("a"); // 按钮A用于开启LED1
BlinkerButton ButtonB("b"); // 按钮B用于开启LED2
BlinkerButton ButtonC("c"); // 按钮C用于关闭所有LED
void setup() {
Serial.begin(9600);
pinMode(LED1_PIN, OUTPUT);
pinMode(LED2_PIN, OUTPUT);
Blinker.begin(); // 初始化 Blinker 库
// 附加按钮回调函数
ButtonA.attach(ButtonACallback);
ButtonB.attach(ButtonBCallback);
ButtonC.attach(ButtonCCallback);
}
void loop() {
Blinker.run(); // 在循环中运行 Blinker
}
// 按钮 A 的回调函数,开启 LED1
void ButtonACallback(const String &state) {
if (state == "on") {
digitalWrite(LED1_PIN, HIGH); // 打开 LED1
Serial.println("LED1 is ON");
}
}
// 按钮 B 的回调函数,开启 LED2
void ButtonBCallback(const String &state) {
if (state == "on") {
digitalWrite(LED2_PIN, HIGH); // 打开 LED2
Serial.println("LED2 is ON");
}
}
// 按钮 C 的回调函数,关闭所有 LEDs
void ButtonCCallback(const String &state) {
if (state == "on") {
digitalWrite(LED1_PIN, LOW); // 关闭 LED1
digitalWrite(LED2_PIN, LOW); // 关闭 LED2
Serial.println("All LEDs are OFF");
}
}
注意事项:
请确保您已经安装了相应的 Blinker 库,并将其包含在项目中。
- 您可以在 Arduino IDE 中通过库管理器搜索并安装“Blinker”库。
确保正确设置网络或 BLE 配置,以便您的设备能够与手机或其他设备通信。
根据需要调整 GPIO 引脚,以适配您实际使用的硬件连接。
上传代码后,通过按下手机应用中的对应按钮,可以控制两个灯的状态。
内容由零声教学AI助手提供,问题来源于学员提问