|
楼主 |
发表于 2022-1-29 00:56
|
显示全部楼层
反馈开关状态,你在下面三行代码上面加Button2.print("off"); 反馈开关按钮状态的代码试下,
Blinker.println("土壤潮湿,不需要浇水");
Blinker.println("温度过高,不适宜浇水");
Blinker.println("空气湿度高,可能会下雨!");
浇水次数的话确实没有算手动浇水次数,你可以这样修改一下试试
int ci = 0, zhi = 40; 改为int ci = 0, ci1=0,zhi = 40;
void button2_callback(const String & state)//手动浇水
{
BLINKER_LOG("get button state: ", state);
if (state == "on")
{
digitalWrite(JDQ, HIGH);
// 反馈开关状态
Button2.print("on");
B = "开始手动浇水";
} if (state == "off") //按照例程else if无法关闭
{
digitalWrite(JDQ, LOW);
// 反馈开关状态
Button2.print("off");
B = "停止手动浇水";
}
Blinker.delay(300);
}改为
void button2_callback(const String & state)//手动浇水
{
BLINKER_LOG("get button state: ", state);
if (state == "on")
{
digitalWrite(JDQ, HIGH);
// 反馈开关状态
Button2.print("on");
ci1++;
B = "开始手动浇水";
} if (state == "off") //按照例程else if无法关闭
{
digitalWrite(JDQ, LOW);
// 反馈开关状态
Button2.print("off");
B = "停止手动浇水";
}
Blinker.delay(300);
}
ci_read = ci;//浇水次数 改为ci_read = ci+ci1;//浇水次数
具体你只有试,我不是很懂C语言。编程我更加不懂。只会如果则,开发版和电脑不在身边我测试不了。错了别笑话。我只试觉得这样应该是可以的
|
|