ZBLOG

使用blinker库写一个电灯程序按键为abc abd 有两个灯

下面是一个使用 Blinker 库的 Arduino 程序示例,程序可以控制两个灯(LED)。按下按钮 A 可以打开灯 1,按下按钮 B 可以打开灯 2,而按钮 C 可以关闭这两个灯。

硬件连接

  • 将 LED 1 连接到 GPIO 引脚 5
  • 将 LED 2 连接到 GPIO 引脚 6
  • 按钮 A (开灯1) 、B (开灯2) 和 C (关灯) 的状态通过 Blinker 控制

Arduino 程序示例

  1. #include <Blinker.h>
  2. #define LED1_PIN 5 // 灯1的引脚
  3. #define LED2_PIN 6 // 灯2的引脚
  4. // 定义 Blink 实例
  5. BlinkerButton ButtonA("a"); // 按钮A用于开启LED1
  6. BlinkerButton ButtonB("b"); // 按钮B用于开启LED2
  7. BlinkerButton ButtonC("c"); // 按钮C用于关闭所有LED
  8. void setup() {
  9. Serial.begin(9600);
  10. pinMode(LED1_PIN, OUTPUT);
  11. pinMode(LED2_PIN, OUTPUT);
  12. Blinker.begin(); // 初始化 Blinker 库
  13. // 附加按钮回调函数
  14. ButtonA.attach(ButtonACallback);
  15. ButtonB.attach(ButtonBCallback);
  16. ButtonC.attach(ButtonCCallback);
  17. }
  18. void loop() {
  19. Blinker.run(); // 在循环中运行 Blinker
  20. }
  21. // 按钮 A 的回调函数,开启 LED1
  22. void ButtonACallback(const String &state) {
  23. if (state == "on") {
  24. digitalWrite(LED1_PIN, HIGH); // 打开 LED1
  25. Serial.println("LED1 is ON");
  26. }
  27. }
  28. // 按钮 B 的回调函数,开启 LED2
  29. void ButtonBCallback(const String &state) {
  30. if (state == "on") {
  31. digitalWrite(LED2_PIN, HIGH); // 打开 LED2
  32. Serial.println("LED2 is ON");
  33. }
  34. }
  35. // 按钮 C 的回调函数,关闭所有 LEDs
  36. void ButtonCCallback(const String &state) {
  37. if (state == "on") {
  38. digitalWrite(LED1_PIN, LOW); // 关闭 LED1
  39. digitalWrite(LED2_PIN, LOW); // 关闭 LED2
  40. Serial.println("All LEDs are OFF");
  41. }
  42. }

注意事项:

  1. 请确保您已经安装了相应的 Blinker 库,并将其包含在项目中。

    • 您可以在 Arduino IDE 中通过库管理器搜索并安装“Blinker”库。
  2. 确保正确设置网络或 BLE 配置,以便您的设备能够与手机或其他设备通信。

  3. 根据需要调整 GPIO 引脚,以适配您实际使用的硬件连接。

上传代码后,通过按下手机应用中的对应按钮,可以控制两个灯的状态。


内容由零声教学AI助手提供,问题来源于学员提问

本站部分文章来源于网络,版权归原作者所有,如有侵权请联系站长删除。
转载请注明出处:https://golang.0voice.com/?id=22767

分享:
扫描分享到社交APP
上一篇
下一篇
发表列表
游客 游客
此处应有掌声~
评论列表

还没有评论,快来说点什么吧~

联系我们

在线咨询: 点击这里给我发消息

微信号:3007537140

上班时间: 10:30-22:30

关注我们
x

注册

已经有帐号?