首页
NodeMcu
NodeMcu_ESP8266开发板--TCP Server
NodeMcu_ESP8266简介
NodeMcu_温湿度传感器(DHT11)的使用
esp8266+DHT11温湿传感器 制作web室内温度计
ESP8266NodeMcu网页控制四个LED灯
NodeMcu用网页上传图片来驱动1.44寸TFT屏幕
esp8266使用1.44寸tft屏Arduino模块示例程序
1.44寸TFT屏ST7735使用方法
NodeMcu_ESP8266编程
NodeMcu环境监控+远程控制
NodeMcu实现网页远程控制+温湿度显示
NodeMcu网页控制+温湿度显示+TFT
NodeMcu、ESP8266、ESP32区别
本文档由 内网文摘 发布,转载请注明出处
-
+
首页
NodeMcu_温湿度传感器(DHT11)的使用
温湿度传感器(DHT11) DHT11仅在连接到它的微控制器请求时执行测量。因此,传感器保持低功率模式,直到接收到启动信号,以测量温度和湿度。完成测量后,它将返回低功耗模式,直到收到新的启动信号。 可能你买的DHT11有两种不同的版本: - 一种类型有四个引脚。另一种类型有三个引脚,并安装在小PCB上。 - PCB安装版本是最好的,所以大家购买时最好选择这种,因为这种包括用于信号线的表面安装的10KΩ上拉电阻。 连接方式如下: - DHT11上标有(+或VCC)引脚的连接nodemcu的+ 3V引脚。 - DHT11上标有(S或OUT)引脚的连接nodemcu的D4V引脚。 - DHT11上标有(-或GND)引脚的连接nodemcu的GND引脚。 在编程之前,需要安装温湿度传感器的库。它具有从传感器获取湿度和温度读数所需的全部功能。 安装使用方式如下: 1.(验证可用) 安装库文件: 打开Arduino IDE,然后转到项目> 管理库 > 搜索 SimpleDHT,然后安装就好了。 使用: 例如:打开Arduino IDE,然后转到文件 > 示例 > SimpleDHT > DHT11Default 代码如下: ```cpp #include <SimpleDHT.h> // for DHT11, // VCC: 5V or 3V // GND: GND // DATA: 2 //电路板的引脚编号4(“D4”)是与ESP8266的GPIO2相对应的编号 int pinDHT11 = 2; SimpleDHT11 dht11(pinDHT11); void setup() { Serial.begin(9600); } void loop() { // start working... Serial.println("================================="); Serial.println("Sample DHT11..."); //声明两个字节变量,一个用于温度,另一个用于湿度 byte temperature = 0; byte humidity = 0; int err = SimpleDHTErrSuccess; if ((err = dht11.read(&temperature, &humidity, NULL)) != SimpleDHTErrSuccess) { Serial.print("Read DHT11 failed, err="); Serial.print(SimpleDHTErrCode(err)); Serial.print(","); Serial.println(SimpleDHTErrDuration(err)); delay(1000); return; } Serial.print("Sample OK: "); Serial.print((int)temperature); Serial.print(" *C, "); Serial.print((int)humidity); Serial.println(" H"); // DHT11 sampling rate is 1HZ. delay(1500); } ``` 2.(未验证) 安装库文件: 打开Arduino IDE,然后转到项目> 管理库 > 搜索 DHT sensor library,然后安装就好了。 使用: 代码示例: ```cpp #include "DHT.h" #define DHTPIN 2 // Digital pin connected to the DHT sensor // Feather HUZZAH ESP8266 note: use pins 3, 4, 5, 12, 13 or 14 -- // Pin 15 can work but DHT must be disconnected during program upload. // Uncomment whatever type you're using! //#define DHTTYPE DHT11 // DHT 11 #define DHTTYPE DHT22 // DHT 22 (AM2302), AM2321 //#define DHTTYPE DHT21 // DHT 21 (AM2301) // Connect pin 1 (on the left) of the sensor to +5V // NOTE: If using a board with 3.3V logic like an Arduino Due connect pin 1 // to 3.3V instead of 5V! // Connect pin 2 of the sensor to whatever your DHTPIN is // Connect pin 4 (on the right) of the sensor to GROUND // Connect a 10K resistor from pin 2 (data) to pin 1 (power) of the sensor // Initialize DHT sensor. // Note that older versions of this library took an optional third parameter to // tweak the timings for faster processors. This parameter is no longer needed // as the current DHT reading algorithm adjusts itself to work on faster procs. DHT dht(DHTPIN, DHTTYPE); void setup() { Serial.begin(9600); Serial.println(F("DHTxx test!")); dht.begin(); } void loop() { // Wait a few seconds between measurements. delay(2000); // Reading temperature or humidity takes about 250 milliseconds! // Sensor readings may also be up to 2 seconds 'old' (its a very slow sensor) float h = dht.readHumidity(); // Read temperature as Celsius (the default) float t = dht.readTemperature(); // Read temperature as Fahrenheit (isFahrenheit = true) float f = dht.readTemperature(true); // Check if any reads failed and exit early (to try again). if (isnan(h) || isnan(t) || isnan(f)) { Serial.println(F("Failed to read from DHT sensor!")); return; } // Compute heat index in Fahrenheit (the default) float hif = dht.computeHeatIndex(f, h); // Compute heat index in Celsius (isFahreheit = false) float hic = dht.computeHeatIndex(t, h, false); Serial.print(F("Humidity: ")); Serial.print(h); Serial.print(F("% Temperature: ")); Serial.print(t); Serial.print(F("°C ")); Serial.print(f); Serial.print(F("°F Heat index: ")); Serial.print(hic); Serial.print(F("°C ")); Serial.print(hif); Serial.println(F("°F")); } ``` 打开串口监视器就可以看到湿度和温度读数以一秒为间隔显示啦。 转发:https://www.qutaojiao.com/233.html
local
2021年10月26日 10:40
分享文档
收藏文档
上一篇
下一篇
微信扫一扫
复制链接
手机扫一扫进行分享
复制链接
关于 LocalNetwork
LocalNetwork
是由mrdoc开源
LocalNetwork.cn
修改的在线文档系统,作为个人和小型团队的云笔记、文档和知识库管理工具。
如果此文档给你或你的团队带来了帮助,欢迎支持作者持续投入精力更新和维护!内网文摘 & LocalNetwork
>>>主页
logo
logo
下载Markdown文件
分享
链接
类型
密码
更新密码