基于单片机的智能加湿器设计与实现

前言

本文将从实现功能、整体设计方案、硬件电路设计、云平台使用、代码修改、元件清单以及致谢这七部分详细讲述制作过程中的细节。


一、实现功能

(1)加湿器设置了两种工作模式,自动模式和手动模式。在加湿器水量充足情况下,若设置为自动模式,则在加湿器加湿前判断当前环境湿度是否低于设置的湿度阈值,若低于则开启加湿,反之则关闭;若设置为手动模式,则不进行判断,按下就开启加湿,再次按下就关闭加湿。

(2)增加了加湿器的交互性,将加湿器的数据通过MQTT协议上传到OneNET云平台,手机APP订阅云平台将加湿器相关信息进行显示。同时可在APP上设置加湿器湿度阈值、工作模式以及加湿开关,通过云平台传回到单片机,实现远程控制。加湿器的相关信息也可通过OLED显示屏直接显示,便于用户查看。

(3)增加报警提示功能,当加湿器中水位过低时,不响应加湿请求并通过蜂鸣器鸣叫和APP端跳出提示框来提醒用户。

(4)增加按键控制功能,设有3个按键,实现界面切换、湿度阈值设置、模式选择以及加湿开关控制功能,设置的湿度阈值数据存储在FLASH内存中,实现掉电不丢失。
整体效果图

二、整体设计方案

整体设计方案
基于单片机的智能加湿器设计采用STM32系列单片机作为主控芯片,系统所需模块包括温湿度检测模块、Wi-Fi通信模块、OLED显示模块、水位检测模块、雾化模块。STM32主控制器通过Wi-Fi通信模块完成单片机、云平台和手机APP之间的数据交互。
数据传输
单片机将采集到的温湿度数据、水量数据、设置的湿度阈值数据、选择的加湿器模式、加湿开关状态上传到云平台。云平台作为中介,将信息转发给手机APP进行显示。从手机APP上下发湿度阈值调整、模式选择以及加湿开关指令也需借助云平台转发给单片机执行。通过云平台实现了手机APP控制单片机的效果。

三、硬件电路设计

3.1 电压转换电路

电压转换
因为水位传感器模块和雾化模块需要5V供电,其他设备需要3.3V供电,因此本设计采用输入5V电压,并用AMS1117-3.3芯片将5V电压转换为3.3V电压,满足供电要求。采用Type-C实现外部供电,CC1、CC2接5.1K电阻接地,充电器关闭快充变为普通供电。按键按下时,充电器的5V电压进入转换芯片进行电压转换。

3.2 蜂鸣器报警电路

蜂鸣器报警电路
报警电路采用有源蜂鸣器,内部含有振荡源,上电即可鸣叫。但由于单片机I/O口输出电流较小,几乎驱动不了蜂鸣器,因此添加一个NPN型三极管构成电流放大电路驱动蜂鸣器。当水位过低时,单片机输出高电平,三极管导通,蜂鸣器鸣叫;正常情况下,单片机输出低电平,三极管处于截止状态。
此处使用的是5V有源蜂鸣器,但电路图中给它接的是3.3V,实测蜂鸣器可以鸣叫无影响。

3.3 按键电路

按键电路
本设计使用到3个按键,实现界面切换、湿度阈值设置、加湿器模式切换、手动模式下控制加湿开关功能。在不同情况下,按键按下的作用不同。上电后默认是主界面,显示环境温湿度、水量、加湿器模式信息。按下按键K1则进入到湿度阈值设置界面,显示设置的湿度阈值,此时再按下K2或者K3可以实现湿度阈值加减操作。再按下K1则回到主界面,在主界面按下K2则加湿器切换到手动模式,加湿模块打开,再按下K2加湿模块关闭。通过程序编写,在不同界面赋予按键不同的含义,提高了按键的利用率。
主界面
阈值设置界面

3.4 继电器控制电路

继电器控制电路
本设计采用继电器来控制加湿模块,当单片机接收到加湿请求时,单片机引脚输出高电平,继电器闭合,加湿模块上电工作。未接收到加湿请求时,单片机输出低电平,继电器断开,加湿模块不通电。线圈两端(1、4两端)的电压不宜过大,根据数据手册可以得知最大电压需小于等于3.75V,此处选用3.3V。
继电器详细接线图如下
继电器接线图

3.5 其他成品模块电路连接

3.5.1 OLED显示模块

OLED显示模块
使用的是IIC通信的0.96英寸的OLED模块

3.5.2 Wi-Fi模块

Wi-Fi模块
==使用的是ESP8266-01SWi-Fi模块进行通信

3.5.3 温湿度传感器模块

温湿度传感器模块
使用的是DHT11温湿度传感器进行温度和湿度测量,输出为数字量

3.5.4 水位传感器模块

水位传感器模块
使用的是WaterSensor水位传感器模块进行水位测量,输出为模拟量。此处使用此模块只是作为大致的水位测量,并不显示精确的水位数值。见3.按键电路效果图可知

3.6 完整电路

完整电路设计
原理图和嘉立创打板文件在文章后面以网盘链接给出

四、云平台使用

本设计使用的是OneNet云平台

4.1 云平台注册和登录

云平台注册和登录

4.2 创建产品

内部界面
点击开发者中心
创建产品
选择产品类别
此处随便选取都可
详细步骤1
详细步骤2
详细步骤3
可以看到此处已有创建的产品

4.3 添加设备

详细步骤1点击设备管理添加设备
详细步骤2
详细步骤3
设置设备名称,注意此处设备名称要与代码中对应
详细步骤4
可以看到此处已有创建的设备

4.4 设置物模型

详细步骤1
点击左侧产品开发
详细步骤2
点击右侧产品开发
详细步骤3
点击设置物模型
详细步骤4

点击添加自定义功能点
详细步骤5
按上图填写需要的功能点,注意:标识符要与代码中对应
详细步骤6
可以看到此处已有添加的功能点
详细步骤7
本设计所需功能点如上
详细步骤8
查看产品的相关信息,记住产品ID
详细步骤9
可以看到设备名称/ID为Humidifier,点击设备管理->详情
详细步骤10
可以看到设备密钥,将其复制下来

致此,云平台创建结束

4.5 云平台测试

详细步骤1
由上图可以看到当前创建的设备还未激活,若当前还未把板子制作完成,我们可以利用软件将其激活。

激活软件

详细步骤1
点击设置按钮
详细步骤2红色框内前两行不变,第三行填入创建的设备名称。
详细步骤3
token生成软件
token生成软件如上
详细步骤4
将产品ID、设备名称和设备密钥替换为自己的,其余无需改变
详细步骤5
点击Generate生成token,复制生成的token到MQTT软件中的password
详细步骤6
详细步骤7
点击connect发现右侧绿灯点亮说明连接成功
详细步骤8
在云平台界面也可以看到设备被激活,处于在线状态
上述激活过程参考的是B站up主壹知半解的教程,后续APP设计也是参考此up主
致此软件激活设备到此结束

五、代码修改

代码最后放在一个网盘链接中给出,此处只介绍将代码移植到自己的工程中需要修改的地方

5.1 单片机代码修改

单片机代码编写软件
使用的是Keil uVision5软件进行单片机代码编写
详细步骤1
在esp8266.c文件中修改wifi名称和密码,注意手机开的热点要为2.4GHZ
详细步骤2
在onenet.c文件中修改产品ID、设备密钥、设备名称
详细步骤3
在onenet.c文件中增加或删除要上传的变量
详细步骤4
在onenet.c文件中,处理从云平台下发的数据,如继电器开关、湿度阈值和工作模式,可根据自己的项目进行修改。

5.2 小程序代码修改

小程序开发软件

使用的是HBuilder X软件进行小程序代码编写
详细步骤1
在此处查看用户ID和用户Accesskey,记录下来
详细步骤2

详细步骤3
修改小程序代码中的author_key、user_id以及产品ID
详细步骤4
详细步骤5
点击发行可以看到,程序既可以打包成APP也可以制作成小程序和快应用。这里选择原生APP云打包,之后如可对打包进行自定义配置也可直接打包。这里选择直接打包,等待几分钟即可得到APK文件,将其发送到手机上进行安装即可。
详细步骤6

详细步骤7
最终效果如上图所示,此界面为本设计APP的UI,能将加湿器相关的参数信息进行显示。显示信息包括环境温湿度数据、加湿器水量、湿度阈值、工作模式、加湿开关以及设备是否在线。
当从手机上下发控制指令时,如在手机上设置湿度阈值时,可能会回弹到原先值,过四、五秒钟后回弹到设置值,这属于正常现象,也可在小程序代码中进行修改,当从手机APP上设置相关参数时,显示一个转圈的图标,等从云平台重新接收到修改的数据再在手机APP上进行显示。
代码修改部分致此结束,也可参考B站up主壹知半解的项目视频

六、元件清单

本部分介绍该设计所用的元器件及型号
详细步骤1
使用的主控是stm32f103c8t6的最小系统板,如果使用的是stmf103c6t6就没有串口3,需要修改一下代码,选择串口2
详细步骤2
温湿度检测模块使用的是DHT11模块
详细步骤3
Wi-Fi通信模块使用的是esp8266-01s模块

详细步骤4
显示屏使用的是0.96英寸的OLED屏幕(IIC通信)
详细步骤5
水位传感器使用的是WaterSensor水位传感器模块
详细步骤6
雾化模块通过高频振动将水雾化,最好搭配一个吸水棉棒
详细步骤7
部分元件清单如上,有些模块是用母座连接,方便插拔
详细步骤8
详细步骤9
详细步骤10
详细步骤11
详细步骤12
详细步骤13
详细步骤14
详细步骤15
详细步骤16
详细步骤17

七、致谢

本设计参考了B站壹知半解、江协科技、彼岸有光我们有船、Libyee等up主的教程,在此感谢。

总结

由于本人水平有限,没有设计外壳,看起来十分简陋。在此给出一些修改意见:从板子中间挖个孔,让加湿器的棉棒可以穿过板子,外部再加装外壳,外壳可以镂个矩形框便于OLED屏显示,DHT11温湿度传感器应该是不能全部覆盖,如果覆盖的话湿度值就不易改变。欢迎各位复刻,如有疑问可到评论区发表。
通过百度网盘分享的文件:智能加湿器教程.rar
链接:https://pan.baidu.com/s/1fQPravoWX3w35gPp_3F_Dw?pwd=1234
提取码:1234

### 回答1: 5V加湿器原理图PCB图表示了加湿器的电路连接方式和组成部分。加湿器通常包括以下几个主要部分: 1. 电源电路:一般是使用5V的直流电源供电,可以通过插座或USB口连接。 2. 控制电路:主要是一个微控制器或芯片,用于控制加湿器的运行。它接收来自传感器的湿度信号并根据设定的湿度值控制加湿器的运行状态。 3. 湿度传感器:用于检测环境中的湿度水平。常见的湿度传感器有电容式湿度传感器和电阻式湿度传感器。 4. 水箱和水泵:水箱用于存储水源,水泵用于将水源送到加湿器的加热器或超声波雾化器。 5. 加热器或超声波雾化器:用于将水源转化为蒸汽或雾化,并将其释放到空气中。 6. 风扇:用于将蒸汽或雾化的水分均匀地分布到空气中。 在PCB图中,这些组成部分将通过连接线路连接起来。例如,电源连接线将连接电源电路和其他部分,控制信号线将连接微控制器和其他传感器部分。 除了这些主要部分外,还可能存在其他电子元件,例如电容器、电阻器和连接线等。这些元件在PCB图中标明了它们的位置和连接方式。 总之,5V加湿器原理图PCB图提供了加湿器的电路连接方式和关键组成部分的布局,使得我们可以更好地理解加湿器的工作原理和实现方式。 ### 回答2: 5V加湿器的原理图和PCB图如下: 原理图: 原理图是用符号和线条表示电气和电子元件之间的连接关系的图纸。5V加湿器的原理图主要包括以下关键元件: 1. 供电电源:原理图中会标明5V的直流电源,用来供给整个加湿器的工作。 2. 湿度传感器:用来感知环境中的湿度,根据湿度的变化来控制加湿器的启停。 3. 控制器:负责加湿器的整体控制,接收湿度传感器的信号,判断是否需要加湿,控制电路的工作。 4. 加湿器模块:包括水箱、喷嘴等部件,接收来自控制器的指令,根据指令将水转化为水蒸气,并将水蒸气释放到环境中。 PCB图: PCB图是指印制电路板的布局图,用来展示电子元件在电路板上的位置和连接方式。5V加湿器的PCB图上会显示以下主要元件的位置: 1. 控制器:通常位于PCB的中央位置,用来方便与其他元件的连接。 2. 湿度传感器:通常紧邻加湿器的外壳,方便感知环境湿度。 3. 电源接口:用来连接供电电源的插槽,位于PCB边缘的一个位置。 4. 加湿器模块接口:用来连接加湿器模块的插座,通常位于PCB上方或下方,便于连接喷嘴、水箱等部件。 以上是5V加湿器的原理图和PCB图简要说明,具体的原理图和PCB图设计可能会根据不同厂商和产品而有所差异。 ### 回答3: 5V加湿器的原理图主要包括以下几个部分: 1. 电源模块:负责将外界输入的交流电转换成所需的5V直流电源供给整个加湿器电路使用。此模块通常包括整流桥、滤波电容和稳压电路。 2. 控制模块:主要由微处理器或控制芯片组成,用于控制加湿器的各项功能。控制模块通常包括温湿度传感器、按钮开关和显示屏等,通过读取温湿度传感器的数据来判断当前环境湿度,并根据设定值控制加湿器的工作。 3. 驱动模块:负责驱动加湿器中的加热元件和风扇。加热元件通过加热器接收电能将水加热,使其转化为蒸汽,从而增加室内湿度。风扇则通过旋转产生气流,将湿润的空气均匀分布到室内。 4. 保护模块:用于保护加湿器及其电路免受过电流、过压、过温等异常情况的损害。保护模块通常包括过流保护器、过压保护器和过温保护器等,一旦检测到异常情况,会自动断开电路以保护整个系统。 5V加湿器的PCB图即为以上各个模块在电路板上的布局图,通过布线和连接元件将各个模块连接起来,形成一个完整的电路。 总之,5V加湿器的原理图PCB图是一个包含电源模块、控制模块、驱动模块和保护模块等部分的电路图,通过合理组合和布局这些模块,实现加湿器的正常工作。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值