📜  带温度传感器的 nodemcu (1)

📅  最后修改于: 2023-12-03 14:54:06.949000             🧑  作者: Mango

带温度传感器的 NodeMCU

简介

NodeMCU是一种基于ESP8266芯片的开源物联网平台。它具有运行Lua脚本的能力,适用于物联网应用程序和基于WiFi的网络应用程序。它有多个I/O接口,支持多种硬件扩展,因此非常适合物联网项目开发。这里介绍如何使用带温度传感器的NodeMCU。

环境准备

在开始编写代码之前,我们需要为NodeMCU配置环境。我们需要安装如下软件:

  • Arduino IDE
  • ESP8266库
硬件准备

硬件清单:

  • NodeMCU
  • DHT11温湿度传感器
  • 杜邦线

将DHT11传感器的VCC引脚连接到NodeMCU的5V引脚,将GND引脚连接到NodeMCU的GND引脚。将传感器的数据引脚连接到NodeMCU的D5引脚。

代码
#include <DHT.h>
#define DHTPIN D5
#define DHTTYPE DHT11
DHT dht(DHTPIN, DHTTYPE);
void setup() {
  Serial.begin(9600);
  Serial.println("DHT11 test start");
  dht.begin();
}
void loop() {
  delay(2000);
  float h = dht.readHumidity();
  float t = dht.readTemperature();
  if (isnan(h) || isnan(t)) {
    Serial.println("Failed to read from DHT sensor!");
    return;
  }
  Serial.print("Humidity: ");
  Serial.print(h);
  Serial.print("%");
  Serial.print(" Temperature: ");
  Serial.print(t);
  Serial.println("C");
}
代码说明
  • 引入DHT头文件:#include <DHT.h>
  • 定义DHT引脚和类型:#define DHTPIN D5#define DHTTYPE DHT11
  • 初始化DHT传感器:DHT dht(DHTPIN, DHTTYPE);
  • 打开串口:Serial.begin(9600);
  • 读取温湿度:float h = dht.readHumidity();float t = dht.readTemperature();
  • 检查读取是否成功:if (isnan(h) || isnan(t))
  • 输出读取的温湿度:Serial.print("Humidity: ");,Serial.print(h);,Serial.print("%");,Serial.print(" Temperature: ");,Serial.print(t);Serial.println("C");

代码中使用了DHT库来读取温湿度数据。在setup()函数中初始化传感器,在loop()函数中读取并输出数据。

结论

本文介绍了如何使用带温度传感器的NodeMCU,使用DHT库读取温湿度数据,并将其通过串口输出。这可以用于控制温湿度的自动化系统,例如智能家居。