系列文章目录
(仿真模拟)51单片机+DHT22+LCD1602温湿度检测计+温湿度达阈值控制用电器
文章目录
制作要求
1、可测量环境的空气温湿度等基本数据,并将其显示在屏幕。
2、完成室内环境下温度与湿度的测量与显示。
3、温度测量的误差应小于1.5摄氏度。
4、湿度测量的误差应小于3%(相对湿度)。
5、可以启动风扇,喷雾器等器件调节温度与湿度。(可达到调节效果)
一、整体说明
涉及硬件:①STC89C51芯片 ②DHT22测温模块 ③继电器模块 ④LCD1602显示屏
采用STC89C51作为主控芯片,结合DHT22测温模块、LCD1602液晶显示、继电器等电路模块实现温湿度测量,显示,达到设定阈值控制风扇和喷雾器的功能,设计一款简易环境空气质量检测仪。
二、电路仿真
三、使用介绍
1、连接。将所有模块按顺序连接已定义单片机的对应引脚。
/*******************************************************************************
管脚定义
*******************************************************************************/
sbit RS=P2^0; //寄存器选择位,将RS位定义为P2.0引脚
sbit RW=P2^1; //读写选择位,将RW位定义为P2.1引脚
sbit E=P2^2; //使能信号位,将E位定义为P2.2引脚
sbit BF=P0^7; //忙碌标志位,,将BF位定义为P0.7引脚
sbit DA=P1^0; //DHT22模块引脚
sbit jdq=P2^5; //继电器1
sbit jdq2=P2^6; //继电器2
2.显示。温湿度计自动启动完毕后,将自动获取和显示当前温度。
3.判断。实时对温度进行判读,当温度大于26度时,自动打开继电器模块1(控制风扇);当湿度小于30%时,自动打开继电器模块2(控制加湿器)。
(*此处以绿色和蓝色的LED灯,模拟被控制的用电器)
四、部件说明
STC89C51主控芯片。由电源、晶振、复位构成单片机最小系统,实现整体编程与控制。
LCD1602显示模块。在单片机应用系统中,常用的显示设备有单个发光二极管、八段LED显示器、液晶显示器(LCD)、屏幕显示器(CRT)等。本次设计中,基于设计功能和节约成本等实际情况,采用LCD1602作为本次设计的显示器。
DHT22测温模块。DHT22数字温湿度传感器是一款含有已校准数字信号输出的温湿度复合传感器。湿度综合误差±2%,温度综合误差<±0.5,满足本次实验设计要求。
继电器控制模块。题目要求达到温度湿度阈值时,可对风扇或加湿器进行控制,本实验采用继电器进行实验控制。当温度或湿度达到阈值时,触发高电平,控制继电器为通路,从而点亮LED灯;当温度或湿度离开数值范围时,触发低电平,控制继电器为断路,从而关闭LED灯。
五、原理说明
整体实现思路:初始化显示屏→启动DHT22模块→显示系统启动状态→显示温湿度
温湿度读取。自定义DHT22.c与DHT22.h作为头文件,通过教程文档可知,读取相关位置的数据,经过转换得到温度数值。
控制电器。通过Switch命令判断是否在控制值范围内,真则返回case 1,控制为低电平,触发点亮小灯;假则返回case 0,控制为高电平,触发关闭小灯。
信息显示。自定义lcd.h的头文件内置初始化,写数据,读数据函数,在主函数(main.c)中调用,实现对LCD显示屏的控制。
总结
相关代码仿真资源:通过实验制作,学习通过C语言编程实现对51单片机的控制,实现相应效果。