DHT11温湿度传感器 - Arduino开发ESP8266(NodeMcu)学习记录

 2021-1-18      esp8266 

所需硬件

ESP8266 开发板(NodeMcu) x1

DHT11温湿度传感器 x1

面包板 x1

杜邦线 若干

第三方库

DHT

可以直接安装

项目–>加载库–>管理库–> 搜索"DHT"安装

或者手动下载

下载地址:https://github.com/adafruit/DHT-sensor-library

线路图

实物图

代码

/**
  作者: Raikay (raikay.com)
  时间: 2021/01/18
  说明: ESP8266接收DHT11温湿度传感器数据
  NodeMcu       DHT11
  3V3       -    正极
  D5        -    out
  GND       -    负极

**/
#include <DHT.h>
#define DHTPIN     14     //GPIO14 即NodeMcu D5
#define DHTTYPE   DHT11     // 定义你DHT11
DHT dht(DHTPIN, DHTTYPE);
//读取DHT的温度值
String readDHTTemperature() {
  float t = dht.readTemperature();
  if (isnan(t)) {
    Serial.println("Failed to read from DHT sensor!");
    return "--";
  }
  else {
    return String(t);
  }
}
//读取DHT的湿度值
String readDHTHumidity() {
  float h = dht.readHumidity();
  if (isnan(h)) {
    Serial.println("Failed to read from DHT sensor!");
    return "--";
  }
  else {
    return String(h);
  }
}
void setup() {
  pinMode(DHTPIN, OUTPUT);
  digitalWrite(DHTPIN, HIGH);
  Serial.begin(9600);
  dht.begin();
}
void loop() {
  //温度  temperature
  Serial.print("温度:");
  Serial.println(readDHTTemperature().c_str());
  //湿度  Humidity
  Serial.print("湿度:");
  Serial.println(readDHTHumidity().c_str());
  delay(1000);
  Serial.println("---------------");
}

串口显示

IMG