esp8266怎么实现倒计时控制水量-Arduino中文社区 - Powered by Discuz!

Arduino中文社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 811|回复: 5

[未解决] esp8266怎么实现倒计时控制水量

[复制链接]
发表于 2022-1-13 13:32 | 显示全部楼层 |阅读模式
本人萌新,想问一下怎么实现按一下开关计时5秒后停止注水

发表于 2022-1-13 23:53 | 显示全部楼层
本帖最后由 topdog 于 2022-1-16 15:26 编辑

以WEMOS D1实验,D3为开关,D4为水泵,esp8266按下按钮测得低电平时水泵开启。系统开始计时5秒(1秒为1000毫秒,5秒为5000毫秒,为防止溢出故采用unsigned int),关闭水泵。

程序如下:


[pre]const int button = D3;
const int WaterPump = D4;
volatile unsigned int starttime;

void setup() {
  pinMode(button, INPUT_PULLUP);
  pinMode(WaterPump, OUTPUT);
   digitalWrite(WaterPump,LOW);      
}

void loop() {  
  bool state = digitalRead(button);
if (state == LOW) {
    starttime = millis();
    digitalWrite(WaterPump,HIGH);
  }
  if (millis() - starttime == 5000) {
    digitalWrite(WaterPump,LOW);
  }
}[/pre]
 楼主| 发表于 2022-1-14 08:20 | 显示全部楼层
topdog 发表于 2022-1-13 23:53
以WEMOS D1实验,D3为开关,D4为水泵,esp8266低电平时水泵开启。1秒为1000毫秒,5秒为5000,为防止溢出故 ...

多谢,我是想做一个可以远程控制的给猫喂水的,奈何不知道怎么实现控水,谢谢啦
发表于 2022-1-14 09:16 | 显示全部楼层
楼主,你这个是让喵星人自己按水么?还要考虑其连续按的情况,万一误操作就水漫金山了

给你个建议,做水位检测,如果满水就不出水 或停止,比直接用定时器好的多
 楼主| 发表于 2022-1-14 12:12 | 显示全部楼层
本帖最后由 PingGuoji 于 2022-1-14 12:14 编辑
zjzane 发表于 2022-1-14 09:16
楼主,你这个是让喵星人自己按水么?还要考虑其连续按的情况,万一误操作就水漫金山了

给你个建议,做水 ...

暂时用的esp01s加个继电器控制电机然后用点灯科技定个时实现自动加水,后面换个Micro再加个水位检测,主要是给猫加水太麻烦了,我又有点懒
发表于 2022-1-14 20:31 | 显示全部楼层
PingGuoji 发表于 2022-1-14 12:12
暂时用的esp01s加个继电器控制电机然后用点灯科技定个时实现自动加水,后面换个Micro再加个水位检测,主要 ...

你可以用NODEMCU,然后继续用点灯
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|Archiver|手机版|Arduino中文社区

GMT+8, 2024-11-28 15:51 , Processed in 0.069616 second(s), 16 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表