DHT11实验
- 格式:docx
- 大小:643.62 KB
- 文档页数:6
温湿度测量实验报告引言温湿度是日常生活中非常重要的气象参数,对于环境舒适度、农业生产、工业生产等都有着重要的影响。
因此,准确测量温湿度成为了科研和工程领域的重要任务。
本实验旨在通过使用一种温湿度传感器来测量环境的温湿度,并分析其测量结果的准确性。
实验装置1.Arduino开发板2.DHT11温湿度传感器3.杜邦线若干4.计算机实验步骤1.连接电路:将DHT11传感器通过杜邦线连接到Arduino开发板上。
确保连接正确且稳固。
2.编写代码:使用Arduino开发环境编写代码,将DHT11传感器与Arduino开发板进行通信。
在代码中实现温湿度测量的功能。
3.上传代码:将编写好的代码上传到Arduino开发板上,确保代码能够正确运行。
4.测试测量:将Arduino开发板连接到计算机,并打开串口监视器。
通过串口监视器可以实时查看DHT11传感器测量得到的温湿度值。
5.对比验证:测量环境中的温湿度,并使用其他准确的温湿度测量仪器进行对比,验证DHT11传感器的测量准确性。
6.记录测量结果:将DHT11传感器测量得到的温湿度值以及其他准确测量仪器的测量结果记录下来,方便后续分析和比较。
7.数据分析:将DHT11传感器测量得到的温湿度值与其他准确测量仪器的测量结果进行比较和分析,探究DHT11传感器的测量误差范围和稳定性。
8.结果讨论:根据数据分析的结果,讨论DHT11传感器的测量准确性以及在实际应用中的可靠性。
9.结论总结:总结实验结果,提出改进传感器测量准确性的建议,并展望未来温湿度测量技术的发展方向。
结果与讨论通过对DHT11传感器的实际测量以及与其他准确测量仪器的对比验证,我们得到了以下结果和结论: 1. DHT11传感器在一定范围内的温湿度测量结果与其他准确测量仪器基本吻合,具有较高的测量准确性。
2. 随着测量温度和湿度的增加,DHT11传感器的测量误差会逐渐增大,尤其是在极端的高温高湿环境中。
湿度传感实验报告本实验旨在通过湿度传感器来测量环境中的湿度,并且了解湿度对于环境及人体的影响,以及不同湿度条件下传感器的工作特性。
实验材料:1. Arduino开发板2. DHT11湿度传感器3. 连接线4. 计算机实验步骤:1. 将Arduino开发板连接到计算机,并打开Arduino IDE软件。
2. 将DHT11传感器连接到Arduino开发板。
将传感器的VCC引脚连接到5V 接口,GND引脚连接到GND接口,SIG引脚连接到数字引脚2。
3. 在Arduino IDE软件中,选择正确的开发板和端口,并打开示例代码“DHT11库”中的"DHTtester"程序。
4. 上传程序到Arduino开发板中。
5. 观察串口监视器中的输出结果,获取环境湿度的数值。
实验结果:根据上述实验步骤,可以获得环境湿度的数值。
通过修改代码,可以实时获取湿度数值,并进行相应的处理和显示。
在不同时间段或环境条件下,湿度数值可能会有所变化。
讨论与分析:湿度是空气中水蒸汽含量的度量,它对于环境和人体健康都有一定的影响。
湿度过高时,容易导致空气潮湿,增加了霉菌和细菌滋生的机会,对人体呼吸系统和皮肤有不良影响。
湿度过低时,空气干燥,容易引发皮肤干燥、喉咙疼痛等问题。
因此,对于不同环境中的湿度进行监测十分重要。
DHT11湿度传感器采用数字信号输出,具有快速响应、稳定性好、价格低廉等特点,适用于大多数需要测量湿度的应用。
在实验中,我们可以通过读取传感器输出的数值来判断环境湿度的高低。
在实际应用中,湿度传感器可以广泛应用于温室监控、空调控制、智能家居等领域。
通过湿度传感器的数据,可以实时调节环境湿度,提高生活和工作的舒适度。
结论:通过本实验,我们成功使用DHT11湿度传感器对环境湿度进行了测量,并了解了湿度对于环境及人体的影响。
湿度传感器在实际应用中具有重要作用,可以帮助我们及时了解环境的湿度情况,并采取相应的措施进行调节。
实验名称:基于Arduino的智能温湿度控制器设计与实现实验目的:1. 理解并掌握Arduino编程和电子元件的使用。
2. 设计并实现一个能够自动调节室内温湿度的智能控制器。
3. 提高对传感器和执行器的应用能力,以及电路设计能力。
实验器材:1. Arduino UNO开发板2. DHT11温湿度传感器3. 12V直流电机4. 温湿度继电器5. 连接线6. 电源7. 实验台实验原理:本实验利用Arduino UNO作为主控单元,通过DHT11传感器实时监测室内温湿度,当温湿度超出设定范围时,通过继电器控制电机启动,从而调节室内温湿度。
实验步骤:1. 硬件连接:- 将DHT11传感器的数据线连接到Arduino的A0口。
- 将温湿度继电器的控制线连接到Arduino的数字输出端口(例如D2)。
- 将电机连接到继电器的输出端口,并连接电源。
2. 编程:- 编写Arduino程序,实现以下功能:- 初始化串口通信,用于调试。
- 初始化DHT11传感器。
- 定时读取温湿度数据。
- 根据设定的温湿度范围,控制继电器开关,从而控制电机启动或停止。
3. 测试与调试:- 上电运行程序,观察温湿度传感器的数据是否正常。
- 调整设定值,测试电机是否能够根据温湿度变化自动启动或停止。
实验结果与分析:1. 温湿度监测:- 通过DHT11传感器,能够实时监测室内温湿度,数据准确可靠。
2. 自动控制:- 当室内温湿度超出设定范围时,电机能够自动启动,调节室内温湿度;当达到设定值时,电机自动停止。
3. 稳定性:- 在连续运行一段时间后,系统依然能够稳定工作,温湿度波动范围在设定范围内。
创新点:1. 智能控制:通过Arduino编程,实现了温湿度的智能控制,提高了系统的自动化程度。
2. 模块化设计:将传感器、执行器和控制器模块化设计,便于扩展和升级。
3. 实时监测:通过DHT11传感器实时监测温湿度,提高了系统的响应速度。
结论:本次实验成功设计并实现了一个基于Arduino的智能温湿度控制器。
Arduino温湿度传感器DHT11模块实验网上有很多DHT11的测试,试了N个程序,总是不得要领,各种报错,最后终于找到一套可用的库。
首先是DHT11.h文件1.#ifndef__DHT11_H__2.#define__DHT11_H__3.#include<Arduino.h>4.//DHT11IO设置5.#define DHT11_DQ26.#define DHT11_DQ_0digitalWrite(DHT11_DQ,LOW)7.#define DHT11_DQ_1digitalWrite(DHT11_DQ,HIGH)8.9.//函数或者变量声明10.extern void DHT11_Init();11.extern unsigned char DHT11_Read_Byte();12.extern void DHT11_Read();13.14.extern unsigned char HUMI_Buffer_Int;15.extern unsigned char TEM_Buffer_Int;16.17.#endif其次是DHT11.cpp文件1.#include"DHT11.h"2.//定义变量3.unsigned char HUMI_Buffer_Int=0;4.unsigned char TEM_Buffer_Int=0;5.//****************************************************6.//初始化DHT117.//****************************************************8.void DHT11_Init()9.{10.pinMode(DHT11_DQ,OUTPUT);11.DHT11_DQ_0;//拉低总线,发开始信号;12.delay(30);//延时要大于18ms,以便DHT11能检测到开始信号;13.DHT11_DQ_1;14.delayMicroseconds(40);//等待DHT11响应;15.pinMode(DHT11_DQ,INPUT);16.while(digitalRead(DHT11_DQ)==HIGH);17.delayMicroseconds(80);//DHT11发出响应,拉低总线80us;18.if(digitalRead(DHT11_DQ)==LOW);19.delayMicroseconds(80);//DHT11拉高总线80us后开始发送数据;20.}21.22.//****************************************************23.//读一个字节DHT11数据24.//****************************************************25.unsigned char DHT11_Read_Byte()26.{27.unsigned char i,dat=0;28.unsigned int j;29.pinMode(DHT11_DQ,INPUT);30.for(i=0;i<8;i++)31.{32.if(digitalRead(DHT11_DQ)==LOW)33.{34.while(digitalRead(DHT11_DQ)==LOW);//等待50us;35.delayMicroseconds(30);//判断高电平的持续时间,以判定数据是‘0’还是‘1’;36.if(digitalRead(DHT11_DQ)==HIGH)37.dat|=(1<<(7-i));//高位在前,低位在后;38.while(digitalRead(DHT11_DQ)==HIGH);//数据‘1’,等待下一位的接收;39.}40.}41.return dat;42.}43.44.//****************************************************45.//读取温湿度值,存放在TEM_Buffer和HUMI_Buffer46.//****************************************************47.void DHT11_Read()48.{49.DHT11_Init();50.HUMI_Buffer_Int=DHT11_Read_Byte();//读取湿度的整数值51.DHT11_Read_Byte();//读取湿度的小数值52.TEM_Buffer_Int=DHT11_Read_Byte();//读取温度的整数值53.DHT11_Read_Byte();//读取温度的小数值54.DHT11_Read_Byte();//读取校验和55.delayMicroseconds(50);//DHT11拉低总线50us56.pinMode(DHT11_DQ,OUTPUT);57.DHT11_DQ_1;//释放总线58.}最后是主程序文件1.#include<Arduino.h>2.#include"DHT11.h"3.4.void setup()//Arduino程序初始化程序放在这里,只在开机时候运行一次5.{6.Serial.begin(9600);//设置通讯的波特率为96007.DHT11_Read();//读取温湿度值8.delay(200);//等待传感器稳定9.}10.11.void loop()//Arduino程序的主程序部分,循环运行内部程序12.{13.DHT11_Read();//读取温湿度值14.Serial.print("HUMI=");15.Serial.print(HUMI_Buffer_Int);16.Serial.println("%RH");17.Serial.print("TMEP=");18.Serial.print(TEM_Buffer_Int);19.Serial.println("C");20.delay(1000);//延时1s21.}三个文件保存在同一个文件夹即可。
一、引言随着科技的不断发展,温湿度传感器作为一种重要的环境监测设备,在农业、工业、气象、医疗等多个领域发挥着至关重要的作用。
本次实训旨在通过实际操作,深入了解温湿度传感器的工作原理、性能特点以及在实际应用中的调试和维护方法。
二、实训目的1. 理解温湿度传感器的工作原理和结构特点。
2. 掌握温湿度传感器的安装、调试和维护方法。
3. 学会使用温湿度传感器进行环境监测和数据采集。
4. 培养实际操作能力和分析问题、解决问题的能力。
三、实训设备与材料1. 温湿度传感器:SHT40、DHT11等。
2. 单片机:STM32、Arduino等。
3. 电源模块:直流电源、锂电池等。
4. 数据采集与显示设备:串口显示屏、计算机等。
5. 连接线、电路板等辅助材料。
四、实训内容(一)SHT40温湿度传感器实训1. 传感器介绍:SHT40是一款高性能的温湿度传感器,具有高精度、低功耗、快速响应等特点。
2. 硬件连接:将SHT40传感器与STM32单片机进行连接,包括电源、数据线等。
3. 软件编程:编写STM32单片机程序,读取SHT40传感器的温湿度数据。
4. 数据采集与显示:将采集到的温湿度数据通过串口显示屏或计算机显示出来。
5. 结果分析:分析SHT40传感器的测量结果,验证其性能特点。
(二)DHT11温湿度传感器实训1. 传感器介绍:DHT11是一款低成本的温湿度传感器,具有结构简单、易于使用等特点。
2. 硬件连接:将DHT11传感器与STM32单片机进行连接,包括电源、数据线等。
3. 软件编程:编写STM32单片机程序,读取DHT11传感器的温湿度数据。
4. 数据采集与显示:将采集到的温湿度数据通过串口显示屏或计算机显示出来。
5. 结果分析:分析DHT11传感器的测量结果,验证其性能特点。
五、实训结果与分析(一)SHT40传感器1. 测量结果:在实验室环境下,SHT40传感器测量得到的温度为25.2℃,湿度为50.1%。
在树莓派34上读取DHT11温湿度传感器-Python代码实现及常见问题梳理最近由于⾃⼰的课题需要,想要⽤在树莓派上使⽤DHT11温湿度传感器来读取空⽓中温湿度,遇到了⼏个问题,解决之后也对之前的知识进⾏了回顾,总结,特整理如下,希望能给也在学习树莓派的⼩伙伴们带来⼀些帮助。
总的来说操作很简单,但很容易出现细节⽅⾯的问题,我也把我遇到的问题进⾏了简单整理,如果有其他问题可以直接在评论区提出,我看到了就会回答。
本篇⽂章主要对DHT11进⾏了简单梳理,主要分为四⼤模块,分别为:⼀、DHT11温湿度传感器⼆、实验所需设备与连线⽅式三、Python代码实现四、常见问题(⼀)TypeError: unsupported format string passed to NoneType.__format__(⼆)SyntaxError: invalid syntax(三)ModuleNotFoundError: No module named 'Adafruit_DHT'(四)ImportError: cannot import name 'Beaglebone_Black_Driver' from 'Adafruit_DHT'(五)RuntimeError: Error accessing GPIO.对哪个模块感兴趣也直接翻到相应部分阅读即可。
⼀、DHT11温湿度传感器DHT11温湿度传感器是⼀个性能很棒的模块,它提供温度和湿度读数。
价格低廉,精准度⾼使⽤简单,并且有python库可以直接导⼊使⽤,应⽤也很⼴泛,在远程⽓象站、⼟壤监测器和家庭⾃动化系统都可以看见它的⾝影。
在⽇常⼯作学习中,我们接触到的DHT11主要有两种形式。
⼀种是三引脚的焊有PCB的模块,另⼀款是是四引脚的独⽴模块。
如下图所⽰:第⼀种传感器从左到右分别是信号引脚,VCC引脚(连接电源正极),ground接地引脚(连接电源负极)。
《传感器原理及应用》DHT11温湿度检测计实验报告基于DHT11温湿度传感器的温湿度计设计1.实验功能要求使用DHT11实现温湿度的测量2.实验所用传感器原理DHT11:单片机通过如下几个步骤完成读取DHT11的数据步骤一:DHT11上电后(DHT11上电后要等待1S以越过不稳定状态在此期间不能发送任何指令),测试环境温湿度数据,并记录数据,同时DHT11的DATA数据线由上拉电阻拉高一直保持高电平;此时DHT11的DATA引脚处于输入状态,时刻检测外部信号。
步骤二:微处理器的I/O设置为输出同时输出低电平,且低电平保持时间不能小于18ms(最大不得超过30ms),然后微处理器的I/O设置为输入状态,由于上拉电阻,微处理器的I/O即DHT11的DATA数据线也随之变高,等待DHT11作出回答信号。
步骤三:DHT11的DATA引脚检测到外部信号有低电平时,等待外部信号低电平结束,延迟后DHT11的DATA引脚处于输出状态,输出83微秒的低电平作为应答信号,紧接着输出87微秒的高电平通知外设准备接收数据,微处理器的I/O此时处于输入状态,检测到I/O有低电平(DHT11回应信号)后,等待87微秒的高电平后的数据接收。
步骤四:由DHT11的DATA引脚输出40位数据,微处理器根据I/O电平的变化接收40位数据,位数据“0”的格式为:54微秒的低电平和23-27微秒的高电平,位数据“1”的格式为:54微秒的低电平加68-74微秒的高电平。
低电平的时间一致,本质比较的是高电平的时间3.实验电路4.实验过程一.单片机上机后1s内不读取二. 主机(单片机)发送起始信号:1.主机先拉高data。
2.拉低data延迟18ms。
3.拉高data(通过此操作将单片机引脚设置为输入)。
三.DHT11收到起始信号后进行应答:拉低data,单片机读取到引脚被输出低电平持续80us后换为高电平,持续80us,直到高电平结束,意味着主机可以开始接受数据。
stm32驱动1.44⼨LCD屏显⽰温湿度实验-将dht11的温湿度数据在LCD屏幕上显⽰记录⼀下修改LCD例程显⽰DHT11温湿度实验的过程⽼规矩上链接IC:stm32f103vet6硬件:DHT11、1.44⼨LCD屏接线⽅法:DH11---stm32VCC --- 3.3VGND --- GNDDATA --- PC4LCD---stm32VCC --- 5VGND --- GNDSCL --- PB13SDA --- PB15RES --- PB12DC --- PB10CS浮空BL浮空因为卖家提供的代码函数部分有问题这⾥就不在下⾯贴出代码了需要的⾃⾏去百度⽹盘下载讲⼀下修改了什么地⽅就是在User下的gui.c⾥⾯的函数LCD_ShowChar1//******************************************************************2//函数名: LCD_ShowChar3//功能:显⽰单个英⽂字符4//输⼊参数:(x,y):字符显⽰位置起始坐标5// fc:前置画笔颜⾊6// bc:背景颜⾊7// num:数值(0-94)8// size:字体⼤⼩9// mode:模式 0,填充模式;1,叠加模式10//返回值:⽆11//修改记录:⽆12//******************************************************************13void LCD_ShowChar(u16 x,u16 y,u16 fc, u16 bc, u8 num,u8 size,u8 mode)14 {15 u8 temp;16 u8 pos,t;17 u16 colortemp=POINT_COLOR;1819 num=num-'';//得到偏移后的值20 LCD_SetWindows(x,y,x+size/2-1,y+size-1);//设置单个⽂字显⽰窗⼝21if(!mode) //⾮叠加⽅式22 {2324for(pos=0;pos<size;pos++)25 {26if(size==12)temp=asc2_1206[num][pos];//调⽤1206字体27else temp=asc2_1608[num][pos]; //调⽤1608字体28for(t=0;t<size/2;t++)29 {30if(temp&0x01)LCD_WR_DATA(fc);31else LCD_WR_DATA(bc);32 temp>>=1;3334 }3536 }37 }else//叠加⽅式38 {39for(pos=0;pos<size;pos++)40 {41if(size==12)temp=asc2_1206[num][pos];//调⽤1206字体42else temp=asc2_1608[num][pos]; //调⽤1608字体43for(t=0;t<size/2;t++)44 {45 POINT_COLOR=fc;46if(temp&0x01)LCD_DrawPoint(x+t,y+pos);//画⼀个点47 temp>>=1;48 }49 }50 }51 POINT_COLOR=colortemp;52 LCD_SetWindows(0,0,lcddev.width-1,lcddev.height-1);//恢复窗⼝为全屏53 }问题函数注意这⾥引⼊参数的最后⼀位是0是覆盖模式,1是叠加模式也就是选0的话在这个地⽅显⽰的东西是把之前显⽰的给覆盖掉问题就是显⽰温湿度选0的话不能正常显⽰数值,显⽰是⼀个⼤约4*4的⽅块,搞不懂是什么问题,没有时间去深究选0显⽰中⽂的话⼜可以正常使⽤,那好吧那就不管那么多选1叠加模式那么要如何在显⽰新内容前删除之前显⽰的内容呢于是我在LCD_Clear(BLACK)清除屏幕内容的基础上写了⼀个新函数rwLCD_Clear,放在lcd.c的最下⾯1//⾃定义的覆盖函数2020-2-82void rwLCD_Clear(u16 x, u16 y, u16 x1, u16 y1, u16 Color)3 {4 u16 i,j;5 LCD_SetWindows(x,y,x1,y1);6for(i=0;i<lcddev.width;i++)7 {8for(j=0;j<lcddev.height;j++)9 LCD_WR_DATA_16Bit(Color); //写⼊数据10 }11 }代码中修改的清除函数解释⼀下参数的含义rwLCD_Clear(u16 x, u16 y, u16 x1, u16 y1, u16 Color)x和y是组合选择出第⼀个点x1和y1是组合选择出第⼆点将(x,y)和(x1,y1)这两个点做⼀个长⽅形,也就是⾯积从x到x1,y到y1的区域然后将这个⾯积⾥⾯的颜⾊换成Color只要Color选择BLACK也就达到了清除屏幕显⽰内容的⽬的因为这个问题这个⼯程代码写的也不是挺好,之后有时间再来修改⼀下,最近在忙⼀个项⽬简单放两张测试的图⽚来这是接线没问题,成功从DHT11采集到数据的照⽚这个是将dht11的线断开,下⾯的采集成功会替换成采集失败,如果重新接上dht11就是显⽰采集成功今天也是充满希望的⼀天。
温湿度传感器实验报告
引言
温湿度传感器是一种常见的传感器,广泛应用于各种环境
监测与控制系统中。
本实验旨在通过使用温湿度传感器,了解其原理和工作特性,并通过实验验证其准确性和稳定性。
实验设备与材料
•Arduino开发板
•温湿度传感器模块
•连接线
•电脑
实验原理
温湿度传感器基于湿度对介质的电性质造成的变化而工作。
一般来说,温湿度传感器是由微控制器、温度传感器、湿度传感器和信号处理电路组成。
通过测量介质的电阻、电容或电导率等特性,将湿度转化为电信号。
在本实验中,我们使用的是DHT11温湿度传感器模块。
DHT11传感器由一个电容式湿度传感器和一个NTC测温元件组成。
当温湿度发生变化时,DHT11传感器会将感测到的温湿度以数字信号的形式输出,然后通过Arduino开发板读取和处理。
实验步骤
1.连接电路。
将DHT11传感器模块的VCC引脚连接
到Arduino的5V引脚,GND引脚连接到Arduino的GND 引脚,并将信号引脚连接到Arduino的数字引脚2。
2.编写代码。
打开Arduino开发环境,编写程序以读
取DHT11传感器模块的数据。
代码示例:
```cpp #include。
《嵌入式接口技术》实验报告
班级:机电实验班12(1)姓名:任梦杰学号:2012339930023
DHT11数字温湿度传感器实验
1.实验装置
ALIENTEK探索者STM32F407开发板
2.实验原理
DHT11是一款湿温度一体化的数字传感器。
该传感器包括一个电阻式测湿元件和一个NTC测温元件,并与一个高性能8位单片机相连接。
通过单片机等微处理器简单的电路连接就能够实时的采集本地湿度和温度。
DHT11与单片机之间能采用简单的单总线进行通信,仅仅需要一个I/O口。
传感器内部湿度和温度数据40Bit的数据一次性传给单片机,数据采用校验和方式进行校验,有效的保证数据传输的准确性。
DHT11功耗很低,5V电源电压下,工作平均最大电流0.5mA。
DHT11的技术参数如下:
● 工作电压范围:3.3V-5.5V
● 工作电流:平均0.5mA
● 输出:单总线数字信号
● 测量范围:湿度20~90%RH,温度0~50℃
● 精度:湿度±5%,温度±2℃
● 分辨率:湿度1%,温度1℃
DHT11的管脚排列如图36.1.1所示:
虽然DHT11与DS18B20类似,都是单总线访问,但是DHT11的访问,相对DS18B20来说要简单很多。
下面我们先来看看DHT11的数据结构。
DHT11数字湿温度传感器采用单总线数据格式。
即,单个数据引脚端口完成输入输出双向传输。
其数据包由5Byte(40Bit)组成。
数据分小数部分和整数部分,一次完整的数据传输为40bit,高位先出。
DHT11的数据格式为:8bit湿度整数数据+8bit 湿度小数数据+8bit温度整数数据+8bit温度小数数据+8bit校验和。
其中校验和数据为前四个字节相加。
传感器数据输出的是未编码的二进制数据。
数据(湿度、温度、整数、小数)之间应该分开处理。
例如,某次从DHT11读到的数据如图所示:
由以上数据就可得到湿度和温度的值,计算方法:
湿度= byte4 . byte3=45.0 (%RH)
温度= byte2 . byte1=28.0 ( ℃)
校验= byte4+ byte3+ byte2+ byte1=73(=湿度+温度)(校验正确)
可以看出,DHT11的数据格式是十分简单的,DHT11和MCU的一次通信最大为3ms左右,建议主机连续读取时间间隔不要小于100ms。
首先主机发送开始信号,即:拉低数据线,保持t1(至少18ms)时间,然后拉高数据线t2(20~40us)时间,然后读取DHT11的响应,正常的话,DHT11会拉低数据线,保持t3(40~50us)时间,作为响应信号,然后DHT11拉高数据线,保持t4(40~50us)时间后,开始输出数据。
DHT11输出数字‘0’的时序如图所示:
DHT11输出数字‘1’的时序如图所示:
3.实验要求
实现如下功能:
1、调试所给的示例程序;
2、使用STM32F4来实现DHT11的读取,显示温湿度。
3、实验步骤
1)硬件设计
本章实验功能简介:开机的时候先检测是否有DHT11存在,如果没有,则提示错误。
只有在检测到DHT11之后才开始读取温湿度值,并显示在LCD上,如果
发现了DHT11,则程序每隔100ms左右读取一次数据,并把温湿度显示在LCD上。
同样我们也是用DS0来指示程序正在运行。
所要用到的硬件资源如下:
1)指示灯DS0
2)TFTLCD模块
3)DHT11温湿度传感器
这些我们都已经介绍过了,DHT11和DS18B20的接口是共用一个的,不过DHT11有4条腿,需要把U12的4个接口都用上,将DHT11传感器插入到这个
上面就可以通过STM32F4来读取温湿度值了。
连接示意图如图所示:
2)软件设计(实验主程序见附页)
打开DHT11数字温湿度传感器实验工程可以发现,我们在工程中添加了
dht11.c文件和dht11.h文件,所有DHT11相关的驱动代码和定义都在这两个文件
中。
附页:。