LOADING

加载过慢请开启缓存 浏览器默认开启

arduino的DHT11

arduino的DHT11

芯片手册:

芯系列DHT11温湿度传感器

芯片库下载:
https://github.com/adafruit/DHT-sensor-library
https://github.com/adafruit/Adafruit_Sensor
(以上两个文件都要下载)

头文件加宏定义:

//这个为DHT11头文件
#include <DHT.h>
#include <DHT_U.h>
//

创建DHT对象

#define DHTPIN 4           // 设置获取数据的引脚
#define DHTTYPE DHT11      // 选择DHT11

DHT dht(DHTPIN, DHTTYPE);  // 创建一个DHT对象

传感器初始化

dht.begin();           // 初始化DHT11
参数 数据类型 作用 选项
返回值

读取湿度

dht.readHumidity();       // 读取湿度
参数 数据类型 作用 选项
返回值 float 读取湿度

读取温度

dht.readTemperature();    // 读取温度
参数 数据类型 作用 选项
返回值 float 读取温度

判断是否启动正常

if (isnan(h) || isnan(t)) { 
    Serial.println("DHT11数据读取失败");         
    return;
}

参考代码:

#include <DHT.h>
#include <DHT_U.h>

#define DHTPIN  PB1
#define DHTTYPE DHT11

DHT dht(DHTPIN, DHTTYPE);

void setup() {
Serial.begin(115200);
dht.begin(); // 初始化DHT11
}

void loop() {
// 暂停2秒,读取数据官方说明需要250毫秒
delay(2000); 

// 读取传感器数据
float h = dht.readHumidity();       // 读取湿度
float t = dht.readTemperature();    // 读取温度

// 判断数据是否成功读取
if (isnan(h) || isnan(t)) { 
    Serial.println("DHT11数据读取失败");         
    return;
}

// 串口打印
Serial.print ("湿度: ");
Serial.print (h);
Serial.print ("% | ");
Serial.print ("温度度: ");
Serial.print (t);
Serial.println ("℃");
}