找回密码
 立即注册
查看: 169579|回复: 1

Arduino开发板使用DHT11温湿度传感器的方法

[复制链接]

864

主题

285

回帖

3695

积分

版主

积分
3695
QQ
发表于 2020-2-28 20:58:49 | 显示全部楼层 |阅读模式

在本篇文章中,我们将DHT11温湿度传感器与Arduino开发板和LCD显示屏连接,设计一种能够测量室温和环境湿度的设备。简单地说,我们将使用Arduino和DHT11传感器设计数字湿度和温度计,并将其值显示在LCD上。


所需的组件

●    Arduino UNO开发板

●    1602液晶屏

●    DHT11 / DHT22温湿度传感器

●    面包板

●    连接导线

dht11_dht22_pinout.png


将DHT11温湿度传感器与Arduino和LCD连接

现在,在管理完这些组件之后,请执行以下连接以将DHT11温湿度传感器与Arduino进行连接。

LCD引脚1、3、5、16 ——— GND

LCD引脚2、16 ————— VCC(+ 5V)

LCD引脚4 ——————– Arduino引脚D7

LCD引脚6 ——————– Arduino引脚D6

LCD引脚11 ——————- Arduino引脚D5

LCD Pin 12 ——————- Arduino引脚D4

LCD引脚13 ——————- Arduino引脚D3

LCD引脚14 ——————- Arduino引脚D2

湿度传感器引脚-ve  — GND

湿度传感器引脚+ve — VCC

湿度传感器引脚信号 — Arduino引脚D8


下面也给出了连接图:

DigitalThermometer.jpg


DHT11温湿度传感器

DHT11温湿度传感器具有校准的数字信号输出。其技术确保了高可靠性和出色的长期稳定性。该传感器包括一个电阻元件和一个NTC温度测量装置。它具有质量优良、响应速度快、抗干扰能力强和性价比高的优点。


每个DHT11传感器均具有极其精确的湿度校准功能。校准系数存储在OTP程序存储器中,内部传感器在检测信号的过程中,调用这些校准系数。集成了单线串行接口系统,使之变得快捷而简单。体积小、功耗低,信号传输距离可达20米,使其成为各种应用,甚至是最苛刻的应用选择。该产品为4引脚单排引脚封装。连接方便,可根据用户需要提供特殊包装。


DHT11温湿度传感器工作原理

该传感器由湿度传感组件、NTC温度传感器(或热敏电阻)和传感器背面的IC组成。

Untitled-1.png


另一方面,为了测量温度,这些传感器使用NTC温度传感器或热敏电阻。热敏电阻实际上是一个可变电阻器,其电阻随温度的变化而变化。这些传感器是通过烧结半导体材料(例如陶瓷或聚合物)制成的,以便在温度变化很小的情况下提供较大的电阻变化。术语“ NTC”表示“负温度系数”,这意味着电阻随着温度的升高而降低。


Arduino源代码

以下是DHT11温湿度传感器与Arduino连接的源代码。从此处下载dht11的arduino库:Dht11库


更新dht11库后,只需使用Arduino IDE从下面将以下代码上传到Arduino UNO开发板即可。

  1. #include <dht.h>      // Including library for dht
  2. #include <LiquidCrystal.h>
  3. LiquidCrystal lcd(7, 6, 5, 4, 3, );
  4. #define dht_dpin 8
  5. dht DHT;
  6. byte degree[8] =
  7.               {
  8.                 0b00011,
  9.                 0b00011,
  10.                 0b00000,
  11.                 0b00000,
  12.                 0b00000,
  13.                 0b00000,
  14.                 0b00000,
  15.                 0b00000
  16.               };
  17. void setup()
  18. {
  19. lcd.begin(16, 2);
  20. lcd.createChar(1, degree);
  21. lcd.clear();
  22. lcd.print("   Humidity   ");
  23. lcd.setCursor(0,1);
  24. lcd.print("  Measurement ");
  25. delay(2000);
  26. lcd.clear();
  27. }
  28. void loop()
  29. {
  30.   DHT.read11(dht_dpin);
  31.   lcd.setCursor(0,0);
  32.   lcd.print("Humidity:");
  33.   lcd.print(DHT.humidity);   // printing Humidity on LCD
  34.   lcd.print(" %");
  35.   lcd.setCursor(0,1);
  36.   lcd.print("Temp:");
  37.   lcd.print(DHT.temperature);   // Printing temperature on LCD
  38.   lcd.write(1);
  39.   lcd.print("C");
  40.   delay(500);
  41. }
复制代码

humidity-sensor.jpg

回复

使用道具 举报

0

主题

1

回帖

16

积分

新手上路

积分
16
发表于 2020-6-30 09:24:26 | 显示全部楼层
增加设置温湿度上下限和控制部分就完美了
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|YiBoard一板网 ( 冀ICP备18020117号 )

GMT+8, 2025-10-30 05:41 , Processed in 0.071191 second(s), 3 queries , Gzip On, Redis On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表