Arduino UNO使用DHT11温湿度传感器通过串口向PC发送温湿度信息

手把手带你Arduino UNO使用DHT11温湿度传感器通过串口向PC发送温湿度信息

  • 硬件介绍

笔者使用的开发板为Arduino UNO国产兼容板,淘宝上大约卖20rmb左右。如下图

DHT11传感器为四脚封装样式,从正面看引脚从左往右依次为1、2、3、4引脚,其中1引脚为VCC 3~5V,2引脚为通信引脚要与单片机引脚相连,3引脚是个NC,4引脚GND接地。

此外,还有面包板、直插面包版的USB供电模块和若干必要的杜邦线。

  • 适用于Arduino开发环境的DHT传感器的库文件下载

请从GITHUB下载:

https://github.com/markruys/arduino-DHT

下载库文件,如图:

或者也可以从本文置顶的绑定资源处下载,笔者已经上传。

下载到本地后,将此zip包,复制到项目存储位置下的libraries文件夹(注意不是Aruduino IDE的安装位置),然后加压即可,为了方便管理库目录,请将DHT库放在一个单独的文件夹,比如我就在libraries目录下新建一个DHT目录。

  • 硬件连接

DHT11的1脚和4脚分别连接VCC和GND(我连接的是面板包上的USB供电板供电,也可以使用UNO主板上的3.3v、5V和GND接口,为传感器通电即可),2脚连接开发板CPU针脚通信,本例中我连接的CPU引脚也是2号脚,记住你连接的针脚,在后面的编程中需要用到。如下图:

  • 编写读取DHT11温湿度的程序

我们就用DHT库的例程来读取温湿度,代码如下:


#include "DHT.h"  //引入库文件头



DHT dht;  // 定义传感器对象



void setup() {

  Serial.begin(9600);

  Serial.println();

  Serial.println("Status\tHumidity (%)\tTemperature (C)\t(F)"); // 输出头



  dht.setup(2); // 数据针脚为2号

 

}



void loop() {

  delay(dht.getMinimumSamplingPeriod());  // 获取最小取样时间,用此时间进行延时。DHT11是1秒,其他支持传感器是2秒



  float humidity = dht.getHumidity();   // 读取湿度

  float temperature = dht.getTemperature();   // 读取温度



  Serial.print(dht.getStatusString());    // 获取状态字符串

  Serial.print("\t");

  Serial.print(humidity, 1);  // 串口传输湿度

  Serial.print("\t\t");

  Serial.print(temperature, 1);   // 串口传输温度,摄氏度

  Serial.print("\t\t");

  Serial.println(dht.toFahrenheit(temperature), 1); // 串口传输温度,华氏度

}

点击上传至UNO开发板后,已经可以正常读取温湿度了,如下图:

  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

唐骁虎

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值