首页 > 其他分享 >Arduino UNO使用DHT11温湿度传感器通过串口向PC发送温湿度信息​

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

时间:2023-11-11 13:33:29浏览次数:47  
标签:DHT 引脚 温湿度 Arduino 串口 print Serial dht

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

硬件介绍

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

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


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

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

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

请从GITHUB下载:

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

下载库文件,如图:

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


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

硬件连接

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

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


编写读取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开发板后,已经可以正常读取温湿度了,如下图:

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




标签:DHT,引脚,温湿度,Arduino,串口,print,Serial,dht
From: https://blog.51cto.com/u_16353031/8316988

相关文章

  • Electron学习3 使用serialport操作串口
    Electron学习3使用serialport操作串口一、准备工作二、SerialPort介绍1.核心软件包(1)serialport(2)@serialport/stream(3)@serialport/bindings-cpp(4)@serialport/binding-mock(5)@serialport/bindings-interface2.解析器包3.命令行工具三、创建一个demo程序1.创建......
  • 最详细STM32,cubeMX串口发送,接收数据
    这篇文章将详细介绍串口发送数据,接受数据。@TOC前言实验开发板:STM32F103C8T6。所需软件:keil5,cubeMX。实验目的:了解串口的基础知识,掌握串口如何发送,接收数据。实验:串口发送数据点亮led。一、串口的基础知识如果想了解串口的基础知识可以参考我之前的文章:STM32Cube串口USART......
  • USB转串口CH343驱动
    背景在网上用9.9淘的一块ESP32-C3(RISC-V)的小开发板上,用的CH343的USB转串口。最近打算学习用Rust开发ESP32-C3,在Ubuntu上搭建开发环境的时候发现,Ubuntu20.04上默认使用的是CDC-ACM驱动,即生成的节点为/dev/ttyACM0,但是用Rust开发ESP32-C3,需要使用VCP驱动,于是在网上找到了官方(......
  • STM32F407 LUA 串口代码传输进行功能热更新
    STM32F407LUA串口代码传输进行功能热更新1.首先放上LUA资源LUA2.整体思路创建keil工程--->移植lua--->补充相应功能3.移植LuaStep1正常解压即可只有这个文件有用Step2在这个文件夹里搜索,删掉这两个文件(这两个文件在stm32中不使用)剩余的文件按照添加BSP的流......
  • RS485串口介绍和演示
    RS485是一种常见的串行通信协议,广泛用于工业自动化、仪表和远程监控等领域。本文将介绍RS485串口的基本原理,并通过代码演示如何在嵌入式系统中使用RS485进行通信。RS485串口概述RS485是一种差分信号的串行通信协议,它使用两个信号线进行数据传输:一个是非常态(非反相)信号A,另一个是反相......
  • Arduino UNO 测试SD卡
    SD卡模块测试方法ArduinoIDE的LibraryManager中搜索‘SD’,安装最新版资料库;依次打开File-Examples-SD-CardInfo示例程序,Upload至开发板;打开串口监视器SerialMonitor,即可看到串口信息输出,如下Cardtype:SD2Clusters:15352BlocksxClu......
  • CAST电子部单片机方向授课——串口通信 预习文档
    CAST电子部单片机方向授课——串口通信预习文档课前小准备安装串口调试助手第一步:进入MicrosoftStore第二步:在MicrosoftStore中搜索“串口调试助手”第三步:点击获取,按要求安装即可下载完成后,桌面上可能没有快捷方式,需要在win里搜索一下,然后拖到桌面上。注:其他安装方......
  • licheepi 4a串口通信
    licheepi4a串口通信(usb串口)博主使用usb串口原因是博主的是内测版本,虽然购买了1.8转3v3的usb转ttl模块,但是板载的UART1还是1.8V电平。所以本博客记录博主使用usb转串口进行串口通信。博主环境:debian20231023镜像licheepi4a8+8G(1)安装pyserial库并查看usb串口模块端口......
  • USB转串口芯片对比选秀---推荐CP2102和CH340C
    参考应用文章:《USB转串口芯片你看好哪个(USB转串口芯片介绍)》简短不看版:建议选择这2款芯片:CP2102/CP2104和CH340C。稳定性较好。 1.FT232优势:最常用缺点:假货多,并不是不能用,而是稳定性差。串口容易丢。规格书:https://atta.szlcsc.com/upload/public/pdf/source/20130221/14......
  • esp32s3使用多串口
    esp32s3使用多串口我按照别人博客中设置串口2,串口打印有问题,因为没有看到esp32s3多串口,就总结了一下自己的经验下图为esp32的引脚图下图为esp32s3的引脚图ESP32-S3有三个UART(通用异步收发器)控制器,即UART0、UART1、UART2,支持异步通信(RS232和RS485)和IrDA,通信速率可达......