arduino室温检测仪

室温检测仪 2
一、学习目标 2
知识目标 2
技能目标 2
二、背景知识 2
三、知识储备 3
DHT11温湿度传感器 3
DHT11温湿度传感器结构 3
DHT11温湿度传感器的引脚说明 3
DHT11温湿度传感器组件说明 4
Arduino serial(串行通信)函数 4
说明 4
Serial.begin() 4
print() 5
println() 5
float 浮点型 5
四、案例实现 5
案例描述 5
电路设计 6
器件清单 7
电路接线 8
程序编写 9
电路仿真 10
单元调试 11
五、 反思总结 11

室温检测仪
一、学习目标
知识目标
1、明白温湿度传感器的原理;
2、学会使用Arduino测试程序编写。
技能目标

  1. 学会温湿度传感器的使用方法;
  2. 学会setup和loop函数的使用;
  3. 学会使用串口显示的函数。

二、背景知识
温湿度传感器是一种装有湿敏和热敏元件,能够用来测量温度和湿度的传感器装置,有的带有现场显示,有的不带有现场显示。温湿度传感器由于体积小,性能稳定等特点,被广泛应用在生产生活的各个领域。
本次实验我们学习通过温湿度传感器收集室内温湿度的程序。
在这里插入图片描述

在这里插入图片描述

三、知识储备
DHT11温湿度传感器
DHT11温湿度传感器结构
DHT11数字温湿度传感器是一款含有已校准数字信号输出的温湿度复合传感器,它应用专用的数字模块采集技术和温湿度传感技术,确保产品具有极高的可靠性和卓越的长期稳定性。传感器包括一个电阻式感湿元件和一个NTC测温元件,并与一个高性能8位单片机相连接。因此该产品具有品质卓越、超快响应、抗干扰能力强、性价比极高等优点。每个DHT11传感器都在极为精确的湿度校验室中进行校准。校准系数以程序的形式存在OTP内存中,传感器内部在检测信号的处理过程中要调用这些校准系数。单线制串行接口,使系统集成变得简易快捷。超小的体积、极低的功耗,使其成为该类应用中,在苛刻应用场合的最佳选择。产品为4针单排引脚封装,连接方便。
在这里插入图片描述

DHT11温湿度传感器的引脚说明
在这里插入图片描述

DHT11温湿度传感器组件说明
DHT11湿度和温度传感器由3个主要组件组成。电阻型湿度传感器,NTC(负温度系数)热敏电阻(用于测量温度)和8位微控制器,可转换来自两个传感器的模拟信号并发送单个数字信号。
DHT11湿度传感器由4个引脚组成:VCC,数据输出,未连接(NC)和GND。VCC引脚的电压范围为3.5V至5.5V。5V电源会很好。来自数据输出引脚的数据是串行数字数据。
下图显示了DHT11湿度和温度传感器的典型应用电路。DHT11传感器可以测量相对湿度(RH)的20–90%范围内的湿度值,以及0–500C范围内的温度。传感器的采样周期为1秒,即所有DHT11传感器均准确经过实验室校准,结果存储在存储器中。可以在Arduino和DHT11传感器等任何微控制器之间建立单线通信。
在这里插入图片描述

Arduino serial(串行通信)函数
说明
串行端口用于Arduino和个人电脑或其他设备进行通信。所有Arduino控制器都有至少一个串行端口(也称为UART或者USART)。个人电脑可以通过USB端口与Arduino的引脚0(RX)和引脚1(TX) 进行通信。所以当Arduino的引脚0和引脚1用于串行通信功能时,Arduino的引脚0和引脚1是不能做其他用的。你也可以通过Arduino开发环境软件中的串口监视器来与Arduino 控制器进行串口通信,你只需要点击Arduino IDE软件中的“串口监视器”按钮(如下图所示)就可以打开串口监视器。
Serial.begin()
设置电脑与Arduino进行串口通讯时的数据传输速率(每秒传输字节数)。可使用以下速率:300, 600, 1200, 2400, 4800, 9600, 14400, 19200, 28800, 38400, 57600, or 115200。
print()
以人类可读的ASCII码形式向串口发送数据,该函数有多种格式。整数的每一数位将以ASCII码形式发送。浮点数同样以ASCII码形式发送,默认保留小数点后两位。字节型数据将以单个字符形式发送。字符和字符串会以其相应的形式发送。此指令也可以通过附加参数来指定数据的格式。这个允许的值为:BIN (binary二进制), OCT (octal八进制), DEC (decimal十进制), HEX (hexadecimal十六进制)。对于浮点数,该参数可以指定小数点的位数。要发送单个字节数据,可以使用Serial.write()。
println()
以人类可读的ASCII码形式向串口发送数据,类似print()指令,但是有换行。
float,浮点型数据,就是有小数点的数字。浮点数经常被用来模拟连续值,因为他们比整数具有更大的精确度。浮点数的取值范围在3.4028235 E+38 ~ -3.4028235 E+38。
float 浮点型
float,浮点型数据,就是有小数点的数字。浮点数经常被用来模拟连续值,因为他们比整数具有更大的精确度。浮点数的取值范围在3.4028235 E+38 ~ -3.4028235 E+38。浮点型数据可存储4个字节的数据。

四、案例实现
案例描述
制作一个用温湿度传感器收集室内温湿度的程序。

在这里插入图片描述
在这里插入图片描述

电路设计
本实验在进行设计时,将DHT11传感器的数据引脚连接到Arduino的引脚2。串口监视器用于显示结果。传感器上的VCC、GND分别连接到Arduino开发板的3.3V或5V、GND。
方案设计:
在这里插入图片描述

电路原理图:

在这里插入图片描述

实物图连接图:

在这里插入图片描述

器件清单
名称 数量
Arduino板 1个
DHT11温湿度传感器 1个
杜邦线 1扎

1)Arduino板1个
在这里插入图片描述

2)DHT11温湿度传感器
在这里插入图片描述

3)面包板跳线*1 扎

在这里插入图片描述

电路接线
按照原理图、连接图进行硬件拼装。DHT11的单总线连接非常简单,模块VCC、GND分别连接到开发板的3.3V或5V、GND,模块的DATA引脚连接开发板的任意数字引脚,下图连接的是数字引脚2。拼接完成硬件后编写程序。

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

程序编写

第一步
在arduino软件中选择工具中的“管理库”,在库管理器中搜索DHT11温湿度传感器的库文件并导入。
#include “DHT.h” //表示引入的库文件名
#define DHTPIN 2 //表示定义引脚2的名字为DHTPIN
#define DHTTYPE DHT11 //定义传感器类型
DHT dht(DHTPIN, DHTTYPE);//初始化变量
第二步
在setup函数中输入Serial.begin函数设置串口波特率和 Serial.println函数向串口发送数据,具体程序如下:
void setup() {
Serial.begin(9600); //设置串口波特率为9600
Serial.println(“DHT11 test”);
dht.begin(); //开始读取
}
第三步
在loop函数中输入两个float浮点型数据,分别定义为湿度和温度,并写上向串口发送数据的函数Serial.print,写上一个延时函数,具体程序如下:
void loop() {
delay(2000); //延时2S
float h = dht.readHumidity(); //读取DHT11温湿度传感器的湿度
float t = dht.readTemperature(); //读取DHT11温湿度传感器的温度,默认为摄氏度
Serial.print(“Humidity: “); //串口显示湿度
Serial.print(h);
Serial.print(” % Temperature:”); //串口显示温度
Serial.print(t);
Serial.print(" *C ");
}
第四步
写完程序,运行调试。

电路仿真
在这里插入图片描述

程序编写完成后,点击上传,任务框出现上传成功的字样时,说明程序是正确的。
单元调试
在这里插入图片描述

程序编译完成后选择Arduino控制板,串口为连接电脑的COM口,然后在点击上传按键,当提示上传成功时,就能观察到室内温湿度的程序了。

五、反思总结

  1. 通过了这节课的学习,明白了温湿度传感器如何与arduino开发板连接?
  2. 学会如何使用Arduino serial()函数?
  3. 学会如何使用float 浮点型数据类型?
  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

RouDragon

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

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

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

打赏作者

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

抵扣说明:

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

余额充值