7.31 5周一:基于stm32f103开发的智能加湿器(下)

我最近几天新添加了OLED显示的功能,将细节修修改改的,终于算处理好了,我将工程已经打包上传了:

(6条消息) 【免费】stm32智能加湿器源码资源-CSDN文库

演示视频:

(6条消息) stm32智能加湿器使用视频-CSDN直播

这是一些说明

/****************************************************************************************
雾化器触发条件转到  void JSQ_Work(void) 中设置

硬件:
stm32f103rct6

OLED屏幕1.3寸128*64(IIC协议,GND在前):
OLED_SDA       GPIO_Pin_15  //OLED屏IIC数据信号
OLED_SCL       GPIO_Pin_13  //OLED屏IIC时钟信号

DHT11(GND,VCC,DATA):
GND,VCC正常接,DATA接PA3(可以自己修改)  ---  DHT11_Init(GPIOA,GPIO_Pin_3);

继电器:
输入端:VCC,GND,接入3.3v,IN引脚连接PA6(可以自己修改)  --- JSQ_Init(GPIOA,GPIO_Pin_6);
输出端:COM 接开发板5v, NO 接雾化器正级 

雾化器:
正级 接 继电器 NO
负极 接 开发板 GND


按键:
key1:将temp目标值+1,到了目标值上限(tempload_UpLimit)后,再次按下,目标值就回到 tempload_DownLimit

key2:控制加湿器(J S Q) 允许开/关闭,JSQ有3种状态 :
CAN(表示允许开,但是未触发条件),
BAN(表示禁止,不管条件触没触发)
ING(表示正在开启中)

key3:控制DHT11 开/关,DHT11有2种状态 :
ING(表示正在开启中)
BAN(表示禁止,暂停检测温湿度,停止JSQ(加湿器)工作)

指示灯:
红灯(PC5) , 蓝灯(PB2)

红灯:代表DHT11的状态 
常亮:刚开机,未开始检测 
闪烁:DHT11正在检测温湿度
关闭:DHT11禁止检测温湿度

蓝灯:代表J S Q(加湿器)的状态 
常亮:允许开(条件未触发)
闪烁:正在开启
关闭:禁止JSQ(加湿器)工作,不管条件触发没有

****************************************************************************************/

我将详细的解释放在工程包里面了,这篇文章我只展示效果图

 这里将屏幕分成了6个区域 ,

1 ,2

3, 4

5, 6

等下就用这6个区域解释。

1区:DHT11: ING/BAN

 我靠,这个水印好烦啊,怎么去掉啊。。。

这里 “DHT11:”是不变的内容 ,后面的状态才是会变的。 ING代表正在检测温湿度,BAN代表禁止检测温湿度

可以用按键key3控制

 2区:JSQ: ING/CAN/BAN

 JSQ:ING 代表加湿器正在工作

 JSQ:CAN 代表加湿器允许工作,但是还未触发条件

 JSQ:BAN 代表加湿器被禁止工作

3区:24 + 1x4

这里24是代表设定目标温度的下限,可以在程序中修改

+ 1x 不变

4:代表在初始目标值上加了4次1℃

4区:TEMP->28.0

         27.6℃

TEMP->(可变) 代表现在的温度目标值

(可变)℃          代表实时温度值

5区:

文字描述,不可变

6区:

HUMI->00.0

  64.0RH%

HUMI->(不可变)

PS:本来应该代表现在的湿度目标值,但是因为我的开发板只有3个按键,没有办法再单独设置湿度的目标值了。

(可变)RH%          代表实时湿度值

小总结:

这个小项目我修修改改的弄了10天左右吧,整个工程中,除了OLED驱动的程序是直接CV的,其他的我都是自己敲的,不懂的就看了人家的再敲。

不足的地方:

我不知道为什么,有时候按键要是按快了程序就不继续运行了,卡在那一步了,很玄学。我想应该是由于按键中断的时间有时候很巧妙,比如说主程序在执行检测温湿度的任务中,按键触发了,可能就引发了堵车吧。希望等后面学到RTOS后我能把这个问题解决好。

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值