1 系统功能介绍

本设计实现了一种 基于 51 单片机的智能加湿器控制系统。随着现代生活水平的提高,人们对居住和办公环境的舒适度要求越来越高,空气湿度和温度的调节逐渐成为家庭和办公自动化的重要组成部分。传统加湿器仅能实现简单的加湿功能,缺乏对环境参数的实时监测和安全防护。本系统在传统加湿器的基础上,加入了 温湿度检测、水位检测、防干烧保护、声光报警、手动和自动模式切换 等功能,提升了设备的智能化和安全性。

系统的主要功能如下:

  1. 实时监测与显示

    • 通过 DHT11 温湿度传感器实时检测环境温度和湿度;
    • 通过水位检测电路获取当前水位高度;
    • LCD1602 液晶屏显示温度、湿度、水位及工作模式(手动/自动)。
  2. 手动与自动模式切换

    • 手动模式下用户可以通过按键直接控制加湿器工作;
    • 自动模式下系统根据阈值自动控制加湿器启停,并进行报警提示。
  3. 阈值设定功能

    • 用户可通过按键设定温度上下限、湿度上下限、水位报警值;
    • 设置完成后,系统根据这些阈值进行逻辑判断。
  4. 报警与安全保护功能

    • 当检测到温度超出安全范围时,蜂鸣器和指示灯发出声光报警;
    • 当湿度低于下限时,系统报警并自动启动加湿器;
    • 当湿度超过上限时,加湿器停止工作,避免空气过湿;
    • 当检测到缺水时,立即停止加湿器工作,防止干烧损坏。
  5. 按键功能

    • S1:设置键,进入设置界面;
    • S2:加键,数值+1;
    • S3:减键,数值-1。

2 系统电路设计

2.1 单片机最小系统

核心控制单元采用 STC89C52RC 单片机,其具备丰富的 I/O 接口资源,能够满足温湿度采集、LCD 显示、继电器控制和按键检测等多任务需求。最小系统包括:

  • 单片机 STC89C52RC;
  • 晶振电路,采用 11.0592MHz 晶振及两只 30pF 电容;
  • 电源电路,提供 +5V 稳定电源;
  • 复位电路,确保单片机上电初始化正常。

2.2 温湿度检测模块(DHT11)

DHT11 传感器是一种常见的数字温湿度检测模块:

  • 工作电压:3.3V–5V;
  • 通信方式:单总线;
  • 输出数据:8 位湿度整数+8 位湿度小数+8 位温度整数+8 位温度小数+8 位校验和。

DHT11 与单片机 P3.7 端口相连,通过时序采集协议获取温湿度数据,再进行数据解析。


2.3 水位检测模块

水位检测部分采用简单的水位电极传感器或浮球开关:

  • 当水位足够时,传感器输出高电平;
  • 当水位不足时,输出低电平。
    单片机通过 GPIO 读取该电平状态,结合逻辑控制继电器,从而防止加湿器在缺水状态下工作。

2.4 显示模块(LCD1602)

LCD1602 用于显示环境参数和工作状态,主要显示内容包括:

  • 实时温度值;
  • 实时湿度值;
  • 当前水位状态(正常/缺水);
  • 工作模式(手动/自动);
  • 当前报警状态。

LCD1602 通过 4 位数据接口模式与单片机相连,节省了 I/O 资源。


2.5 报警模块(蜂鸣器+LED 指示灯)

系统设计了一个有源蜂鸣器和一个红色 LED 灯作为报警输出装置:

  • 当系统检测到温度或湿度异常时,蜂鸣器发出声响,LED 灯闪烁,形成声光报警;
  • 当故障解除或用户处理完毕后,报警自动停止。

2.6 继电器驱动与加湿器电路

继电器用于控制加湿器电源:

  • 单片机输出低电平驱动三极管导通,继电器线圈得电吸合,接通加湿器电源;
  • 单片机输出高电平时,继电器断开,加湿器停止工作。

这种方式确保了加湿器工作时的隔离性与安全性。


2.7 按键输入电路

系统设计三个独立按键:

  • S1(设置键):进入阈值设定模式;
  • S2(加键):数值增加;
  • S3(减键):数值减少。

按键采用下拉电阻方式与 GPIO 相连,单片机通过轮询方式或中断方式进行检测。


3 程序设计

3.1 主程序框架

#include <reg52.h>
#include "lcd1602.h"
#include "dht11.h"
#include "relay.h"
#include "key.h"
#include "beep.h"unsigned char mode = 0;  // 0=自动模式 1=手动模式
unsigned int temp, humi, water;
unsigned int T_min=15, T_max=35;
unsigned int H_min=40, H_max=70;void main()
{LCD_Init();DHT11_Init();Relay_Init();Beep_Init();Key_Init();while(1){DHT11_Read(&temp,&humi);water = Read_WaterLevel();Display_Info(temp,humi,water,mode);Key_Scan();        // 按键检测Auto_Control();    // 自动控制逻辑}
}

3.2 温湿度采集程序

bit DHT11_Read(unsigned int *t, unsigned int *h)
{unsigned char temp_h, temp_l, humi_h, humi_l, check;// 发送起始信号并接收数据,略*t = temp_h;*h = humi_h;return 1;
}

3.3 水位检测程序

unsigned int Read_WaterLevel(void)
{if(P3 & 0x01)   // P3.0 接水位传感器return 1;   // 正常elsereturn 0;   // 缺水
}

3.4 自动控制逻辑

void Auto_Control(void)
{if(mode == 0) // 自动模式{if(temp < T_min || temp > T_max){Beep_On();LED_On();}else{Beep_Off();LED_Off();}if(humi < H_min && water == 1){Relay_On();Beep_On();}else if(humi >= H_min && humi <= H_max){Relay_On();Beep_Off();}else if(humi > H_max){Relay_Off();}if(water == 0){Relay_Off();Beep_On();}}
}

3.5 按键设置程序

void Key_Scan(void)
{if(S1 == 0)  // 设置键{Delay(10);if(S1 == 0){mode = !mode;   // 手动/自动切换}}if(S2 == 0)  // 加键{Delay(10);if(S2 == 0) { H_min++; }}if(S3 == 0)  // 减键{Delay(10);if(S3 == 0) { H_min--; }}
}

3.6 LCD 显示程序

void Display_Info(unsigned int t, unsigned int h, unsigned int w, unsigned char m)
{LCD_ShowString(0,0,"T:");LCD_ShowNum(2,0,t,2);LCD_ShowString(6,0,"H:");LCD_ShowNum(8,0,h,2);LCD_ShowString(0,1,"W:");if(w) LCD_ShowString(2,1,"OK");else  LCD_ShowString(2,1,"LOW");if(m==0) LCD_ShowString(8,1,"AUTO");else     LCD_ShowString(8,1,"MANU");
}

4 总结

本设计基于 51 单片机,构建了一个具有 温湿度检测、水位检测、防干烧保护、手动/自动模式切换、声光报警、LCD 显示 等多功能的智能加湿器系统。其优点主要体现在以下几个方面:

  1. 安全性高:通过水位检测与自动停机机制,有效防止干烧;
  2. 智能化强:支持阈值设定和自动模式,使设备能根据环境变化自动调节;
  3. 交互性好:LCD1602 实时显示参数,按键方便用户设置,报警提示直观;
  4. 扩展性强:可进一步增加 WiFi 模块,实现远程监控与控制。

该设计不仅能满足家庭生活中的空气湿度调节需求,还可应用于实验室、仓储等场合,具有较高的实用价值和推广意义。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/pingmian/93979.shtml
繁体地址,请注明出处:http://hk.pswp.cn/pingmian/93979.shtml
英文地址,请注明出处:http://en.pswp.cn/pingmian/93979.shtml

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

开发避坑指南(31):Oracle 11g LISTAGG函数使用陷阱,缺失WITHIN子句解决方案

错误信息 Error querying database. Cause: java.sql.SQLSyntaxErrorException: ORA-02000: 缺失 WITHIN 关键字查询语句 使用LISTAGG函数将多行数据合并为单行字符串&#xff0c;如下&#xff1a; selectt.order_no as orderNo,t.account_no,(select listagg(a.bank_name,,) …

【虚拟化】磁盘置备方式的性能损耗对比

【虚拟化】磁盘置备方式的性能损耗对比摘要1、定义1.1厚置备&#xff08;Thick Provisioning&#xff09;1.2厚置备延迟置零&#xff08;Thick Provisioned Lazy Zeroed&#xff09;1.3厚置备置零&#xff08;Thick Provisioned Eager Zeroed&#xff09;2、对比摘要 探索三种…

计算机网络:TCP、UDP

一、TCP粘包问题&#xff08;一&#xff09;什么是粘包&#xff1f;TCP粘包是指发送方发送的多个数据包在接收方接收时被合并成一个大的数据包的现象。这种现象是由于TCP协议本身的特性导致的&#xff0c;TCP是面向流的协议&#xff0c;数据在传输过程中没有明确的边界。&#…

使用 Google 开源 AI 工具 LangExtract 进行结构化信息抽取

导读&#xff1a;本文介绍科技大厂 Google 2025年 7 月最新开源的 Python 库&#xff1a;LangExtract&#xff0c;用于从非结构文本提取结构化数据&#xff0c;以及非官方的 Javascript、Rust 语言实现版本。 文章目录一、关于 LangExtract1.1 需求痛点1.2 LangExtract1.3 参考…

把 AI 变成「会说话的盲道」——基于骨传导的地砖级语音导盲砖

标签&#xff1a;城市无障碍、骨传导、TinyML、语音导航、太阳能、离线推理、ESP32-C3、边缘 AI ---- 1. 背景&#xff1a;为什么盲道要开口说话&#xff1f; 全国 1700 万视障者&#xff0c;城市道路却常出现&#xff1a; • 盲道被违停车、广告牌截断&#xff1b; • 传统导…

解析三品汽车零部件PLM系统解决方案:如何助力行业解决研发管理难题

2024年&#xff0c;全球汽车零部件市场规模超1.5万亿美元&#xff0c;中国市场规模达4.6万亿元人民币。产业繁荣高度依赖汽车产业的发展&#xff0c;2024年中国汽车产销量均突破3100万辆&#xff0c;新能源汽车销量约1286万辆&#xff0c;2019-2024年复合增长率达76.59%。当前行…

【RA-Eco-RA4E2-64PIN-V1.0 开发板】步进电机驱动

【RA-Eco-RA4E2-64PIN-V1.0 开发板】步进电机驱动 本文介绍了 RA-Eco-RA4E2-64PIN-V1.0 开发板驱动 28BYJ-48 步进电机的设计。 项目介绍 硬件连接&#xff1a;28BYJ-48 步进电机、ULN2003 驱动板、Jlink 调试器等&#xff1b;工程创建&#xff1a;GPIO 和 UART 的配置&#xf…

机器人爆发、汽车换代,速腾聚创开始讲新故事

文&#xff5c;刘俊宏编&#xff5c;王一粟2025年智能汽车出货量激增&#xff0c;堪称“智驾安全带”的激光雷达&#xff0c;迎来了自己的iPhone时刻。8月21日&#xff0c;速腾聚创发布了2025年第二季度及中期业绩报告&#xff0c;激光雷达的中场战事得以一并揭开。速腾聚创二季…

在Excel和WPS表格中如何隐藏单元格的公式

Excel和WPS表格中有数据、公式、图表等以后&#xff0c;要发给他人查阅&#xff0c;如果不希望表格中的公式被查阅和修改&#xff0c;我们可以通过两个步骤把公式隐藏起来。先设置有公式的单元格格式为隐藏&#xff0c;然后保护工作表即可。第一步&#xff1a;设置单元格格式为…

Eino 开源框架全景解析 - 以“大模型应用的搭积木指南”方式理解(一)

Eino 开源框架全景解析 - 大模型应用的搭积木指南 &#x1f3af; 什么是 Eino&#xff1f;一句话概括 Eino 是字节跳动开源的大语言模型应用开发框架&#xff0c;就像是一个专门为 AI 应用设计的"搭积木工具箱"&#xff0c;让开发者能够像搭乐高一样轻松构建复杂的 A…

大语言模型原理(Transformer架构)

一、概览1.1 定义大语言模型&#xff08;LLM&#xff09;是基于深度学习和神经网络的自然语言处理技术&#xff0c;目前主要通过Transformer架构和大规模数据训练来理解和生成语言。GPT不同架构的训练参数&#xff1a;GPT-1(2018)&#xff1a;1.17亿参数GPT-2(2018)&#xff1a…

Nginx npm + Node.js 简单实践

一、基本概念介绍 Nginx 是一款高性能的 Web 服务器和反向代理服务器&#xff0c;而 Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境&#xff0c;可以让JavaScript 在服务器端运行。npm 则是 Node.js 的默认包管理工具&#xff0c;类似手机的应用市场。主要功能事故…

Python 中 SQLAlchemy 和 MySQLdb 的关系

目录1. 角色和定位2. 工作原理和交互方式使用纯 MySQLdb使用 SQLAlchemy&#xff08;核心或 ORM&#xff09;3. 依赖关系总结与选择 简单来说&#xff0c;它们的关系是&#xff1a;SQLAlchemy 是一个高层抽象的对象关系映射器&#xff08;ORM&#xff09;和 SQL 工具包&#xf…

【CV】OpenCV①——图形处理简介

一、OpenCV简介 1. 图像处理 1.1. 图像起源 1.1.1. 图像是什么1.1.2. 模拟图像和数字图像1.2. 数字图像的表示 1.2.1. 位数1.2.2. 图像分类 二值图像灰度图彩色图

JAVA后端开发——API状态字段设计规范与实践

1. 引言在现代Web应用与API设计中&#xff0c;状态&#xff08;Status&#xff09;字段的管理是一个普遍存在且至关重要的议题。状态字段&#xff0c;如订单状态、任务执行状态、模型运行状态等&#xff0c;直接关系到系统的核心业务逻辑。不恰当的设计会导致API可读性差、系统…

【MySQL的卸载】

MySQL的卸载卸载MySQL步骤1&#xff1a;停止MySQL服务步骤2&#xff1a;软件的卸载卸载方式一&#xff1a;通过控制面板卸载软件卸载方式二&#xff1a;通过360或电脑管家等软件卸载卸载方式三&#xff1a;通过安装包提供的卸载功能卸载步骤3&#xff1a;残余文件的清理步骤4&a…

高效实时数据同步方案:秒级响应多字段搜索

目录 1、其他 2、业务背景和目标 2.1 业务目标 2.2 核心痛点 3、技术选型 3.1 实时工具同步选型 3.2 OLAP数据库选型 3.3 候选技术路线对比 3.4 技术难点 3.5 技术选型推荐 3.5.1、推荐的技术路线 3.5.2 架构示意图 4 、可行性验证方案​​ ​​4.1 测试用例设计​ …

面试问题详解七:Qt 信号与槽 + QML 的结合详解

在现代 Qt 开发中&#xff0c;QML&#xff08;Qt Quick&#xff09;负责 UI 层&#xff0c;C 负责逻辑层或后端服务层 是一种非常流行的架构方式。 这一模式下&#xff0c;信号与槽机制在 QML 与 C 间的前后端通信中扮演桥梁角色&#xff0c;是实现数据驱动界面更新、事件响应、…

孔夫子旧书网 API 实战:古籍与二手书数据获取及接口调用方案

孔夫子旧书网作为国内知名的古籍、二手书交易平台&#xff0c;其商品数据对于图书收藏、学术研究及二手书电商系统具有重要价值。本文将详细介绍孔夫子平台接口的调用方法&#xff0c;涵盖认证机制、搜索参数配置、数据解析及反爬策略&#xff0c;并提供可直接使用的 Python 代…

文件包含的学习笔记

面试问题 1&#xff0c;任意文件读取&#xff0c;到底读什么文件&#xff0c;有什么危害 权限是www 只能读第一个&#xff0c;读这个没用&#xff0c;密码在/etc/shadow中 其它没有权限 my.cnf mysql密码看不了 但是可以看见日志文件的目录 sql注入时&#xff0c;你有注…