ZBLOG

#define BLINKER_PRINT Serial #define BLINKER_BLE #include // 新建组件对象 BlinkerButton Button1("btn-abc"); BlinkerNumber Number1("num-abc"); int counter = 0; // 按下按键即会执行该函数 void button1_callback(const String & state) { BLINKER_LOG("...

可以在原代码中添加一个新的按钮对象 Button2,并为其定义一个回调函数 button2_callback。这个新按钮将会控制LED引脚3(假设LED引脚3已被定义为OUTPUT)。以下是修改后的代码:

  1. #define BLINKER_PRINT Serial
  2. #define BLINKER_BLE
  3. #include <Blinker.h>
  4. // 新建组件对象
  5. BlinkerButton Button1("btn-abc");
  6. BlinkerButton Button2("btn-abd"); // 新增的按钮
  7. BlinkerNumber Number1("num-abc");
  8. int counter = 0;
  9. // 按下按键即会执行该函数
  10. void button1_callback(const String & state) {
  11. BLINKER_LOG("get button state (Button 1): ", state);
  12. digitalWrite(LED_BUILTIN, !digitalRead(LED_BUILTIN));
  13. }
  14. // 按下按键二即会执行该函数
  15. void button2_callback(const String & state) {
  16. BLINKER_LOG("get button state (Button 2): ", state);
  17. digitalWrite(3, !digitalRead(3)); // 控制引脚3上的LED状态
  18. }
  19. // 如果未绑定的组件被触发,则会执行其中内容
  20. void dataRead(const String & data)
  21. {
  22. BLINKER_LOG("Blinker readString: ", data);
  23. counter++;
  24. Number1.print(counter);
  25. }
  26. void setup() {
  27. // 初始化串口
  28. Serial.begin(115200);
  29. #if defined(BLINKER_PRINT)
  30. BLINKER_DEBUG.stream(BLINKER_PRINT);
  31. #endif
  32. // 初始化有LED的IO
  33. pinMode(LED_BUILTIN, OUTPUT);
  34. pinMode(3, OUTPUT); // 初始化引脚3为输出模式
  35. digitalWrite(LED_BUILTIN, HIGH);
  36. // 初始化blinker
  37. Blinker.begin();
  38. Blinker.attachData(dataRead);
  39. Button1.attach(button1_callback); // 为第一个按钮绑定回调函数
  40. Button2.attach(button2_callback); // 为第二个按钮绑定回调函数
  41. }
  42. void loop() {
  43. Blinker.run();
  44. }

修改说明:

  • 增加了新的按钮 Button2,名字为 “btn-abd”。
  • 增加了 button2_callback 函数,用于处理按下第二个按钮时控制引脚3的状态。
  • setup() 函数中,将引脚3初始化为输出模式。

这样,当你按下对应的按钮时,会分别控制内置LED和连接到引脚3上的LED。


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

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

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

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

联系我们

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

微信号:3007537140

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

关注我们
x

注册

已经有帐号?