欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  网络运营

物联网——DHT11全套解析

程序员文章站 2022-03-16 13:48:15
一、DHT11工作原理1、获取数据DHT11包括一个电阻式感湿元件和一个NTC测温元件。这两个获取温湿度数据的方式都差不多,利用湿(温)敏元件的电气特性(如电阻值),随湿(温)度的变化而变化的原理进行湿(温)度测量。2、数据发送数据格式:8bit湿度整数数据+8bit湿度小数数据+8bi温度整数数据+8bit温度小数数据+8bit校验位总线空闲状态为高电平,主机把总线拉低等待DHT11响应,主机把总线拉低必须大于18毫秒,保证DHT11能检测到起始信号。DHT11接收到主机的开始信号后,等待主机...

一、DHT11工作原理

1、获取数据

DHT11包括一个电阻式感湿元件和一个NTC测温元件。这两个获取温湿度数据的方式都差不多,利用湿(温)敏元件的电气特性(如电阻值),随湿(温)度的变化而变化的原理进行湿(温)度测量。

2、数据发送

物联网——DHT11全套解析
数据格式:8bit湿度整数数据+8bit湿度小数数据+8bi温度整数数据+8bit温度小数数据+8bit校验位

总线空闲状态为高电平,主机把总线拉低等待DHT11响应,主机把总线拉低必须大于18毫秒,保证DHT11能检测到起始信号。DHT11接收到主机的开始信号后,等待主机开始信号结束,然后发送80us低电平响应信号。主机发送开始信号结束后,延时等待20-40us后,读取DHT11的响应信号,主机发送开始信号后,可以切换到输入模式,或者输出高电平均可,总线由上拉电阻拉高。

二、引脚说明

物联网——DHT11全套解析
物联网——DHT11全套解析
Arduino与DHT11连线:
VDD——3.3v
DATA——数字接口0~13
GND——GND

三、Arduino+DHT11

#include "DHT.h"
#define DHTPIN 10 	 	//定义引脚
#define DHTTYPE DHT11
DHT dht(DHTPIN, DHTTYPE);	

void setup() {
  Serial.begin(9600);		//波特率设置
  Serial.println("DHT11 test!");
  dht.begin();		//DHT初始化
}

void loop() {
  delay(2000);
  float h = dht.readHumidity();		//读取湿度
  float t = dht.readTemperature();			//读取温度
  float f = dht.readTemperature(true);		//判断是否读取到了温度
  if (isnan(h) || isnan(t) || isnan(f)) {
    Serial.println("Failed to read from DHT sensor!");
    return;
  }
  Serial.print("Humidity: ");
  Serial.print(h);
  Serial.print(" %\t");
  Serial.print("Temperature: ");
  Serial.print(t);
}

本文地址:https://blog.csdn.net/qq_42852559/article/details/107613619