ZBLOG

去除舵机

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

#define BLINKER_PRINT Serial
#define BLINKER_BLE 
#include <Blinker.h>

// 定义引脚号
#define pin_bluetooth_stat 4
#define pin_led 6

// 新建组件对象
BlinkerButton Button1("btn-abc"); // 开门
BlinkerButton Button2("btn-abd"); // 更新数据
BlinkerNumber NUM("num-abc");
BlinkerNumber NUM1("num-tim1");
BlinkerNumber NUM2("num-tim2");
BlinkerNumber NUM3("num-tim3");
BlinkerNumber NUM4("num-num");

unsigned int a, b, c;
unsigned int tims = 0;
byte t;

void setup() 
{
    // 初始化串口与引脚
    Serial.begin(9600);
    pinMode(pin_bluetooth_stat, INPUT);
    pinMode(pin_led, OUTPUT);
    
    // 初始化 Blinker
    Blinker.begin(0, 1, 9600);
    Button1.attach(button1_callback);
    Button2.attach(button2_callback);

    digitalWrite(pin_led, HIGH); // 初始 LED 状态为高
}

void loop() 
{
    // 判断蓝牙是否连接(蓝牙连接时为高)
    while (!digitalRead(pin_bluetooth_stat)) 
    {
        t = 1;
        digitalWrite(pin_led, LOW); // 蓝牙未连接时关闭 LED
    }
    
    digitalWrite(pin_led, HIGH); // 蓝牙已连接时打开 LED
    Blinker.run();
    
    if (digitalRead(pin_bluetooth_stat) && t == 1) 
    {
        delay(1000);
        freshData(); // 更新数据
    }
    
    t = 0;
}

// 按下按键即会执行该函数(开门)
void button1_callback(const String & state) 
{
   BLINKER_LOG("get button state: ", state);
   Open();
}

// 更新数据函数(去掉了与舵机相关的逻辑)
void button2_callback(const String & state) 
{
   BLINKER_LOG("get button state: ", state);
   freshData();
}

// 模拟开门动作,仅打印信息,不再控制舵机。
void Open()
{
   Serial.println("Welcome!"); // 打印欢迎信息

   tims += 1;                  // 增加计数器以跟踪开门次数
   freshData();               // 更新数据显示
   
   delay(500);                // 添加延迟(可根据需要调整)
}

// 更新数据函数(计算运行时间,可以去掉)
void freshData()
{
   NUM3.print((a = millis() / 60000) % 60);      // 分钟数显示
   NUM2.print((b = a / 60) % 24);                 // 小时数显示
   NUM1.print(c = b / 24);                         // 天数显示
   NUM4.print(tims);                               // 显示开门次数
}

修改说明:

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

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


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

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

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

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

联系我们

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

微信号:3007537140

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

关注我们
x

注册

已经有帐号?