ZBLOG

去除舵机

如果您想去除舵机相关的部分,可以对代码进行一些修改。以下是更新后的代码,已经去掉了与舵机相关的内容:

  1. #define BLINKER_PRINT Serial
  2. #define BLINKER_BLE
  3. #include <Blinker.h>
  4. // 定义引脚号
  5. #define pin_bluetooth_stat 4
  6. #define pin_led 6
  7. // 新建组件对象
  8. BlinkerButton Button1("btn-abc"); // 开门
  9. BlinkerButton Button2("btn-abd"); // 更新数据
  10. BlinkerNumber NUM("num-abc");
  11. BlinkerNumber NUM1("num-tim1");
  12. BlinkerNumber NUM2("num-tim2");
  13. BlinkerNumber NUM3("num-tim3");
  14. BlinkerNumber NUM4("num-num");
  15. unsigned int a, b, c;
  16. unsigned int tims = 0;
  17. byte t;
  18. void setup()
  19. {
  20. // 初始化串口与引脚
  21. Serial.begin(9600);
  22. pinMode(pin_bluetooth_stat, INPUT);
  23. pinMode(pin_led, OUTPUT);
  24. // 初始化 Blinker
  25. Blinker.begin(0, 1, 9600);
  26. Button1.attach(button1_callback);
  27. Button2.attach(button2_callback);
  28. digitalWrite(pin_led, HIGH); // 初始 LED 状态为高
  29. }
  30. void loop()
  31. {
  32. // 判断蓝牙是否连接(蓝牙连接时为高)
  33. while (!digitalRead(pin_bluetooth_stat))
  34. {
  35. t = 1;
  36. digitalWrite(pin_led, LOW); // 蓝牙未连接时关闭 LED
  37. }
  38. digitalWrite(pin_led, HIGH); // 蓝牙已连接时打开 LED
  39. Blinker.run();
  40. if (digitalRead(pin_bluetooth_stat) && t == 1)
  41. {
  42. delay(1000);
  43. freshData(); // 更新数据
  44. }
  45. t = 0;
  46. }
  47. // 按下按键即会执行该函数(开门)
  48. void button1_callback(const String & state)
  49. {
  50. BLINKER_LOG("get button state: ", state);
  51. Open();
  52. }
  53. // 更新数据函数(去掉了与舵机相关的逻辑)
  54. void button2_callback(const String & state)
  55. {
  56. BLINKER_LOG("get button state: ", state);
  57. freshData();
  58. }
  59. // 模拟开门动作,仅打印信息,不再控制舵机。
  60. void Open()
  61. {
  62. Serial.println("Welcome!"); // 打印欢迎信息
  63. tims += 1; // 增加计数器以跟踪开门次数
  64. freshData(); // 更新数据显示
  65. delay(500); // 添加延迟(可根据需要调整)
  66. }
  67. // 更新数据函数(计算运行时间,可以去掉)
  68. void freshData()
  69. {
  70. NUM3.print((a = millis() / 60000) % 60); // 分钟数显示
  71. NUM2.print((b = a / 60) % 24); // 小时数显示
  72. NUM1.print(c = b / 24); // 天数显示
  73. NUM4.print(tims); // 显示开门次数
  74. }

修改说明:

  • 移除了关于舵机 (Servo s) 的定义和使用,包括 s.attach()s.write()
  • Open() 函数中,只保留了打印“欢迎!”的信息,以及计数和更新数据的功能。

现在这个版本的代码不再控制舵机,而是通过按钮触发事件并通过串口输出消息。如果还有其他要求或想要进一步修改,请告诉我!


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

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

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

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

联系我们

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

微信号:3007537140

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

关注我们
x

注册

已经有帐号?