dht11数字温湿度传感器 DHT11温湿度传感器介绍
DHT11温湿度传感器介绍
DHT11是一款有已校准数字信号输出的温湿度传感器。 其精度湿度+-5%RH, 温度+-2℃,量程湿度20-90%RH, 温度0~50℃。
DHT11数字温湿度传感器是一款含有已校准数字信号输出的温湿度复合传感器,它应用专用的数字模块采集技术和温湿度传感技术,确保产品具有极高的可靠性和卓越的长期稳定性。传感器包括一个电阻式感湿元件和一个NTC测温元件,并与一个高性能8位单片机相连接。因此该产品具有品质卓越、超快响应、抗干扰能力强、性价比极高等优点。每个DHT11传感器都在极为精确的湿度校验室中进行校准。校准系数以程序的形式存在OTP内存中,传感器内部在检测信号的处理过程中要调用这些校准系数。单线制串行接口,使系统集成变得简易快捷。超小的体积、极低的功耗,使其成为该类应用中,在苛刻应用场合的最佳选择。产品为4针单排引脚封装,连接方便。
一、折叠应用领域
暖通空调 测试及检测设备汽车 数据记录器消费品 自动控制气象站 家电湿度调节器 医疗除湿器二、折叠特性
相对湿度和温度测量全部校准,数字输出卓越的长期稳定性无需额外部件超长的信号传输距离超低能耗4引脚安装26dht11 温湿度传感器 openwrt入门经典教程
dht11 温湿度传感器
本实验目标掌握 dht11 的驱动程序原理
掌握使用 dht11 温湿度传感器
1. 硬件原理
下图是我们温度传感器的接入引脚, 3.3V 供电, io 口接 P13 的 GP0( GPIO0 的简称 )。
DHT11数字温湿度传感器是一款含有已校准数字信号输出的温湿度复合传感器,它应
用专用的数字模块采集技术和温湿度传感技术,确保产品具有极高的可靠性和卓越的长期稳 定性。传感器包括一个电阻式感湿元件和一个NTC测温元件,并与一个高性能 8 位单片机 相连接。因此该产品具有品质卓越、超快响应、抗干扰能力强、性价比极高等优点。每个 DHT11 传感器都在极为精确的湿度校验室中进行校准。校准系数以程序的形式存在OTP内 存中,传感器内部在检测型号的处理过程中要调用这些校准系数。单线制串行接口,使系统 集成变得简易快捷。超小的体积、极低的功耗,使其成为该类应用中,在苛刻应用场合的最 佳选择。
2. dht11 相关时序
初始化(复位)时序图:
1) 控制器首先至少拉低 18ms ,然后拉高 20-40us 后等待 DHT11 的应答
2) 当 DHT11 检测到信号后,首先将总线拉低约 80us 然后在拉高 80us 作为应答信号。
读取数据时序图:
其中,表示 0 的时序如下:
表示 1 的时序如下:
1) DHT11 以低电平应答主机,然后拉高总线准备输出。输出 0 信号和 1 信号都是以低电 平开始高电平结束。
2) DHT11 输出 0、 1 信号的低电平时间相同,而高电平的时间不同,输出 0 信号时高电平 约 26-28us,而当输出 1 信号时高电平约为 70us。
2. 驱动程序 (需要详细注释的话参考 cc2540/cc2530 的 dht11 程序)
关于字符设备驱动程序的使用,我们可以参照点亮 led 灯的那个实验,这里只给出跟 dht11 密切相关的驱动程序,详细的程序请查看我们的驱动文件!
//从 dht11 中读取一个字节
static unsigned char read_byte(void)
{
unsigned char r_val = 0;
unsigned char t_count = 0; //计时器,防止超时;
unsigned char i;
for(i = 0 ; i < 8 ; i++)
{
t_count = 0;
while(!DHT11_STA)
{
udelay(1);
t_count++; if(t_count>250)
{
printk("read_byte error1\n");
return 100;
}
}
t_count = 0;
udelay(32);
if(DHT11_STA == 1)
{
r_val <<= 1; r_val |= 1;
}
else
{
r_val <<= 1; continue;
}
while( DHT11_STA == 1 )
{
udelay(2);
t_count++; if(t_count>250)
{
printk("read_byte error2\n");
return 100;
}
}
}
return r_val;
}
//从 dht11 中读出数据
static unsigned int read_dht11(void)
{
unsigned char t_count = 0; //计时器;
unsigned int dht11 = 0;
unsigned char h_i = 0 , h_f = 0; unsigned char t_i = 0 , t_f = 0;
unsigned char check_sum = 0;
DHT11_OUT;
DHT11_L;
mdelay(30); //>18ms;
DHT11_H;
udelay(30);
DHT11_IN;
while(DHT11_STA == 1)
{
udelay(1); t_count++;
if(t_count > 50)
{
printk("device error: dht11!\n");
return 0;
}
}
t_count = 0;
while(!DHT11_STA)
{
udelay(1); t_count++;
if(t_count > 250)
{
printk("read_dht11 error1\n");
return 0;
}
}
t_count = 0;
udelay(50);
while(DHT11_STA)
{
udelay(1);
t_count++; if(t_count > 250)
{
printk("read_dht11 error2\n");
return 0;
}
}
h_i = read_byte();
h_f = read_byte();
t_i = read_byte();
t_f = read_byte(); check_sum = read_byte();
if(check_sum == (h_i+h_f+t_i+t_f) || (h_i!=100 && t_i != 100))
{
dht11 = t_i;
dht11 <<= 8; //高 8 位用来放温度值;
dht11 += h_i; //低 8 位存放湿度值;
}
else
{
dht11 = 0;
printk("read_dht11 error3\n");
}
return dht11;
}
3. 应用程序
int main(int argc, char **argv)
{
int fd;
unsigned int dht11 = 0; unsigned int humi,temp;
//打开温度传感器驱动模块
fd = open("/dev/dht11", O_RDWR | O_NONBLOCK);
if (fd < 0)
{
printf("can't open /dev/dht11\n");
return -1;
}
read(fd, &dht11, sizeof(dht11));
temp = dht11>>8; //取出温度值;
humi = dht11 &0x000000ff; //取出湿度值; printf("the current temperature is: %d\n",temp); printf("the current humidity is: %d\n",humi);
close(fd);
return 0;
}
4. 实验结果
相关问答
dht11温湿度传感器 电路原理是什么?_土巴兔装修问答声表面波湿敏元件等。湿敏元件的线性度及抗污染性差,在检测环境湿度时,湿敏元件要长期暴露在待测环境中,很容易被污染而影响其测量精度及长期稳定性...
dht11传感器 原理?DHT11数字温湿度传感器是一款含有已校准数字信号输出的温湿度复合传感器。它应用专用的数字模块采集技术和温湿度传感技术,确保产品具有极高的可靠性与卓越的...
dht11 可以测零下温度吗?DHT11是一款温湿度传感器,它通常用于测量环境中的温度和湿度。然而,DHT11的温度测量范围是0℃~50℃,这意味着它无法在低于0℃的环境中准确测量温度。因此,DHT...
sht20和 dht11 的区别SHT20和DHT11是两种温湿度传感器,它们的主要区别如下:1.准确性:SHT20具有更高的温湿度测量精度,通常精确到±0.3°C和±2%RH,而DHT11的测量精度相对较低,...
dht温湿度传感器 有什么作用- 一起装修网一起装修网问答平台为您提供dht温湿度传感器有什么作用的相关答案,并为您推荐了关于dht温湿度传感器有什么作用的相关问题,一起装修网问答平台:装修问题,因我而...
dht11温湿度传感器 价格多少?- 一起装修网dht11温湿度传感器价格多少?
af 传感器 电流是多少?20ma。传感器:是一种检测装置,能感受到被测量的信息,并能将感受到的信息,按一定规律变换成为电信号或其他所需形式的信息输出,以满足信息的传输、处理、存...
朋友们 谁了解:济宁中空玻璃 温湿度 控制设备生产周期, 温湿度 ...[回答]我用的STC89系列的单片机和DHT11温湿度传感器,也碰到这个问题。现在准备这样解决:首先,显示不用液晶什么的,一方面占用比较多的I/O,另一方面毕竟单...
进口 温湿度传感器 哪个品牌好?_土巴兔装修问答温湿度传感器主要有温湿度模块、温湿度变送器。温湿度模块,比如:日本神荣、北陆等。温湿度变送器瑞典、德国的比较好些。对温湿度的精度要求不高的...
帮个忙诸位好基友!麻烦回答一下!广州报警 温湿度 控制器, 温湿 ...[回答]东崎电气温控器主要应用于工业自动化各个领域,以及电力、通讯、轨道交通等智能监控领域东崎电气已涵盖电力仪表,工控仪表,智能电能表,变送器,传感器...