风筝
发表于: 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

跳转到指定楼层
koljs
发表于: 2020-6-30 09:24:26 | 显示全部楼层

增加设置温湿度上下限和控制部分就完美了
回复

使用道具 举报

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

本版积分规则

主题 700 | 回复: 1480



手机版|

GMT+8, 2024-4-27 10:25 , Processed in 0.037275 second(s), 6 queries , Gzip On, MemCache On. Powered by Discuz! X3.5

YiBoard一板网 © 2015-2022 地址:河北省石家庄市长安区高营大街 ( 冀ICP备18020117号 )

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