STM32-Keil5固件库——DHT11温湿度传感器
(注意:源文件下载请查看文末链接。)
一、DHT11介绍
1.产品概述
DHT11数字温湿度传感器是一款含有已校准数字信号输出的温湿度复合传感器,它应用专用的数字模块采集技术和温湿度传感技术,确保产品具有极高的可靠性和卓越的长期稳定性。传感器包括一个电阻式感湿元件和一个NTC测温元件,并与一个高性能8位单片机相连接。因此该产品具有品质卓越、超快响应、抗干扰能力强、性价比极高等优点。每个DHT11传感器都在极为精确的湿度校验室中进行校准。校准系数以程序的形式存在OTP内存中,传感器内部在检测信号的处理过程中要调用这些校准系数。单线制串行接口,使系统集成变得简易快捷。超小的体积、极低的功耗,使其成为该类应用中,在苛刻应用场合的最佳选择。产品为4针单排引脚封装,连接方便。
2.参数
测量范围:湿度5 ~ 95%RH;温度-20 ~ 60℃。
测量精度:湿度±5%RH;温度±2℃。
供电电压:3.3~5.5V DC(单片机一般3.3V或者5V)
分辨率:湿度1%RH;温度0.1℃。
输出:单总线数字信号。
互换性:可完全互换。
3.特性
相对湿度和温度测量
全部校准,数字输出
卓越的长期稳定性
无需额外部件
超长的信号传输距离
超低能耗
4引脚安装(1个空脚)
二、主要代码
温湿度传感器(DHT11)。单根数据线,单次完成的数据输出是40位。8湿度整数数据+8湿度小数数据+温度整数数据+温度小数数据+8校验和。根据自己的需求和获取相应数据,本例中只显示整数部分。
本例以STM32F103C8T6为例,用到的器件有蓝牙、DHT11温湿度传感器。蓝牙的TX接PA10,RX接PA9;DHT11的data端口接PA0。
DHT11.c文件:
/***************STM32F103C8T6**********************
* 文件名 :DHT11.c
* 描述 :DHT11传感器
* 备注 : DHT11温度湿度传感器
* 接口 :PA0-DATA
* 作者 :北辰远_code
* 时间 :2024.5.4
// ----------------------------------------------------------------
// GND 电源地
// VCC 接5V或3.3v电源
// data 接PA0(data)
// ----------------------------------------------------------------
********************LIGEN*************************/
#include "dht11.h"
#include "delay.h"
#define DT GPIO_Pin_0
//复位DHT11
void DHT11_Rst(void)
{
DHT11_IO_OUT(); //SET OUTPUT
DHT11_DQ_OUT(0); //拉低DQ
//DHT11_DQ_OUT(RESET); //拉低DQ
DelayXms(20); //拉低至少18ms
DHT11_DQ_OUT(1); //DQ=1
// DHT11_DQ_OUT(SET); //DQ=1
DelayUs(30); //主机拉高20~40us
}
//等待DHT11的回应
//返回1:未检测到DHT11的存在
//返回0:存在
uint8_t DHT11_Check(void)
{
uint8_t retry=0;
DHT11_IO_IN();//SET INPUT
while (DHT11_DQ_IN&&retry<100)//DHT11会拉低40~80us
{
retry++;
DelayUs(1);
};
if(retry>=100)<