当前位置: 首页 > news >正文

丹东网站制作google关键词挖掘工具

丹东网站制作,google关键词挖掘工具,优设网的吉祥物,惠州附近公司做网站建设多少钱加热系统加入达温即停和保温功能 引言 ​ 我们前一节, 是通过控制io口, 直接控制加热的开关, 但是这太简单粗暴了, 如果只是那样, 和普通的家居电器,是没区别的, 我们想要更智能一点, 就是像咱们自己家的热水壶那样, 水烧滚了(水温达到100摄氏度), 就自动停止了. 加热功能&a…

加热系统加入达温即停和保温功能

引言

​ 我们前一节, 是通过控制io口, 直接控制加热的开关, 但是这太简单粗暴了, 如果只是那样, 和普通的家居电器,是没区别的, 我们想要更智能一点, 就是像咱们自己家的热水壶那样, 水烧滚了(水温达到100摄氏度), 就自动停止了.

加热功能:

我们拓展一下, 我们可以为用户提供一个水温阈值, 让用户设置, 然后当我们开启加热的时候, 饮水机就会一直检测水温, 如果温度达到用户设置温度, 就会停止加热。那么这个就是我们所说的加热功能。只开启一次加热功能, 下次开启加热,需用户手动确认。

保温功能呢?

和加热功能类似, 但是保温功能, 因为毕竟保温是需要把水保温到能喝的程度, 比如 有一个笑话就是, 你喜欢和岩浆还是烫水? 回答:我喜欢和42度热水。

所以保温温度, 最好是 室温的26-50度以内。

所谓保温, 一方面是, 保温壶,另一方面,就是使用水温检测器, 检测水温, 然后如果水温没达到, 就开启加热。可以重复开启加热.

本博客,修改完的代码工程:
跳转下载
https://wwyz.lanzoul.com/iGafK27o7b1i

功能实现步骤:

上述我们也描述了, 加热和保温的功能。

加热功能:

具体实现流程, 就是 检测水温, 判断水温与用户设置的加热阈值是否符合, 小于阈值, 则继续加热. 达到温度, 则停止加热, 然后关闭自动加热(达到温度后, 就不在开启加热)

image-20240817115740281

保温功能:

检测用户设置的水温阈值, 是否符合, 小于阈值, 则开启加热,达到温度则停止加热, 如果等一段时间, 再次低于阈值, 则重复开启加热。为了安全性,保温温阈值, 保持在 26 - 50 度之间(我们需要设置合法性判断)。

image-20240817120531413

达温度即停模式实操:

我们检测水温, 就可以知道当前加热到的温度, 从而可以及时的进行, 关闭加热, 同时我们用户需要设置一个加热的水温阈值

int water_temp;		//水温
int heat_temp_th;	//加热阈值

我们通过传入水温阈值和水温, 通过对比判断, 如果水温没达到阈值, 就开启加热, 如果水温达到阈值, 就关闭加热(注意,我们底层写的有判断开关加热的状态, 所以不会重复开关器件)

Stop_On_Temp(water_temp, heat_temp_th);
/**************************************************
函数名: Stop_On_Temp
功  能: 达温即停
参  数: (1)int now_water_temp:(2)int set_heat_temp_th:
返回值: int set_mode: 要设置的模式, 达到阈值, 则返回设置关闭模式没达到阈值, 仍然设置加热模式
**************************************************/
int Stop_On_Temp(int now_water_temp, int set_heat_temp_th)
{int set_mode;if(now_water_temp < set_heat_temp_th){HEAT_water_Set(heat_water_ON);//开启加热set_mode = HEATING_ON;	//继续加热}else{HEAT_water_Set(heat_water_OFF);//关闭加热set_mode = MAINTAIN_TEMP;	//停止加热}return set_mode;
}

通过传回的结果,切换模式:

image-20240817200332880

我们这里返回判断结果, 是因为我们达温即停, 第一次加热到所需温度后, 我们就返回温度达到的信号, 然后就要切换模式了。 就是为了避免, 当水冷却后 , 再次检测判断而进入加热状态。所以我们要传回达温即停的信号。

保温功能模式实操:

通过达温即停功能, 我们就可以明白, 保温功能, 实现的方法和达温即停差不多, 只是保温功能, 不用切换模式, 保温功能, 在用户没有主动关闭或切换保温模式, 就会一直检测, 所以不用回传判断结果.

我们传入水温和保温阈值

KeepWarm(water_temp, KeepWarm_th);	

image-20240817200900795

保温函数:

/**************************************************
函数名: KeepWarm
功  能: 保温函数
参  数: (1)int now_water_temp:传入的当前水温(2)int set_KeepWarm_th:传入的当前设置的保温阈值
返回值: 无
**************************************************/
void KeepWarm(int now_water_temp, int set_KeepWarm_th)
{if(now_water_temp < set_KeepWarm_th){HEAT_water_Set(heat_water_ON);//继续加热}else{HEAT_water_Set(heat_water_OFF);//停止加热}	
}	

模式切换

所以我们分为三种情况:

加热系统关闭模式、达温即停模式和保温模式。

#define  STOP_HEATING	0		//停止加热
#define  HEATING_ON		1		//加热
#define  MAINTAIN_TEMP  2		//保温

我们使用heat_mode定义当前模式

int heat_mode;		//加热模式

使用switch来根据每次判断调控的heat_mode , 来挑选, 应该处于哪种模式。

switch(heat_mode)
{//关闭加热case STOP_HEATING:HEAT_water_Set(heat_water_OFF);break;//加热case HEATING_ON:water_temp = 26;	//读取水温//如果没达到温度, 模式还是 1, 如果达到温度, 则改变模式为 0heat_mode = Stop_On_Temp(water_temp, heat_temp_th);	//达温度计停break;//保温case MAINTAIN_TEMP:water_temp = 42;	//读取水温		KeepWarm(water_temp, KeepWarm_th);	break;default: HEAT_water_Set(heat_water_OFF);break;
}

代码复制黏贴实操:

(1)我们在加热和开水解耦工程的基础上进行开发

饮水机功能构建指导思想以及最小试验

点击下载工程代码

(2)我们只需要加入一个控制加热的文件, 我们把达温即停和保温功能, 加入到其中, 然后其包含加热底层文件, 就可以控制加热了.

image-20240817204524573

(3)复制黏贴代码

heat_stop.c

#include "heat_stop.h"/**************************************************
函数名: Stop_On_Temp
功  能: 达温即停
参  数: (1)int now_water_temp:(2)int set_heat_temp_th:
返回值: int set_mode: 要设置的模式, 达到阈值, 则返回设置关闭模式没达到阈值, 仍然设置加热模式
**************************************************/
int Stop_On_Temp(int now_water_temp, int set_heat_temp_th)
{int set_mode;if(now_water_temp < set_heat_temp_th){HEAT_water_Set(heat_water_ON);set_mode = HEATING_ON;	//继续加热}else{HEAT_water_Set(heat_water_OFF);set_mode = MAINTAIN_TEMP;	//停止加热}return set_mode;
}/**************************************************
函数名: KeepWarm
功  能: 保温函数
参  数: (1)int now_water_temp:传入的当前水温(2)int set_KeepWarm_th:传入的当前设置的保温阈值
返回值: 无
**************************************************/
void KeepWarm(int now_water_temp, int set_KeepWarm_th)
{if(now_water_temp < set_KeepWarm_th){HEAT_water_Set(heat_water_ON);//继续加热}else{HEAT_water_Set(heat_water_OFF);//停止加热}	
}	

heat_stop.h

#ifndef _HEAT_STOP_H_
#define _HEAT_STOP_H_//单片机头文件
#include "stm32f10x.h"
#include "heat.h"#define  STOP_HEATING	0		//停止加热
#define  HEATING_ON		1		//加热
#define  MAINTAIN_TEMP  2		//保温int Stop_On_Temp(int now_water_temp, int set_heat_temp_th);
void KeepWarm(int now_water_temp, int set_KeepWarm_th);#endif

main.c

#include "stm32f10x.h"                  // Device header
#include "heat.h"
#include "out_water.h"
#include "heat_stop.h"int water_temp;		//水温int heat_temp_th;	//加热阈值
int KeepWarm_th;	//保温阈值
int heat_mode;		//加热模式int main(void)
{//加热初始化HEAT_water_Init();//开水初始化OUT_water_Init();water_temp = 26;		//水温heat_temp_th = 100;	//加热阈值KeepWarm_th = 42;	//保温阈值heat_mode = 2;		//加热模式	while(1){switch(heat_mode){//关闭加热case STOP_HEATING:HEAT_water_Set(heat_water_OFF);break;//加热case HEATING_ON:water_temp = 26;	//读取水温//如果没达到温度, 模式还是 1, 如果达到温度, 则改变模式为 0heat_mode = Stop_On_Temp(water_temp, heat_temp_th);	//达温度计停break;//保温case MAINTAIN_TEMP:water_temp = 42;	//读取水温		KeepWarm(water_temp, KeepWarm_th);	break;default: HEAT_water_Set(heat_water_OFF);break;}}
}	

测试现象:

手动调试加热模式

通过手动修改水温阈值和水温, 来观察加热模式开关

温度达到, 就会自动切换为关闭加热模式

image-20240817205200305

手动调试保温模式

通过修改水温与保温阈值, 来观察保温模式的加热开关

image-20240817214659799

水温达到, 关闭加热, 水温不到,加热保温

image-20240817205307203

测试视频

加热和保温功能调试现象_单机游戏热门视频 (bilibili.com)

http://www.hkea.cn/news/974780/

相关文章:

  • 政府网站建设经验典型材料河源今日头条新闻最新
  • 为什么要进行网站备案佛山市人民政府门户网站
  • 摄影网站开发背景百度app交易平台
  • 吉林网站建设石家庄百度快照优化排名
  • 大学生网站开发总结报告app推广接单发布平台
  • 自己做的网站怎么推广seo顾问培训
  • 怎么做业务网站百度搜索提交入口
  • 网页设计网站图片西安百度推广运营公司
  • 济南网站开发推广网络服务包括
  • 五星级酒店网站建设关键词歌词表达的意思
  • 浙江高端建设网站网站关键词如何优化
  • 2017网站开发工程师五合一网站建设
  • 学编程的孩子有什么好处seo网站诊断文档案例
  • 广州中新知识城开发建设网站无锡百姓网推广
  • 宝鸡做网站费用关键词你们懂的
  • wordpress 仿站 教程百度竞价点击一次多少钱
  • 做h的游戏 迅雷下载网站百度推广管家
  • 营销型网站建设的目的外贸网站平台都有哪些 免费的
  • 广东做网站公司广州从化发布
  • 能发外链的网站国际新闻今天最新消息
  • 做软件的网站关键词优化快速排名
  • 网站建设与管理简介网站链接交易
  • 英文网站建设教程网盘资源搜索神器
  • 做旅游网站的引言最新网络推广平台
  • 服务器上给网站做301跳转企业网站注册
  • 网站建设好做吗乐事薯片软文推广
  • wordpress 年月归档如何优化培训体系
  • 威海高区建设局网站长春做网络优化的公司
  • 安平做网站百度一下首页百度一下知道
  • 苏州建设网站市政中标项目如何做推广引流赚钱