标题: [DIY]DHT11温湿度传感器应用及感受 [打印本页]

作者: hutians    时间: 2015-2-10 17:23
标题: [DIY]DHT11温湿度传感器应用及感受
         朋友送的DHT11传感器,用于湿度和温度测量,网上找了资料看,相对的控制较为简单,花了点时间把程序写了出来,用1602做显示,单总线控制的器件,基本上没什么指令,只有一个启动信号,然后是连续读出40bit的数据,程序没难度,一次成功,随后加上了防死循环的检测,元器件的精度是温度正负2度,湿度正负5%,相对来说精度不怎么高,但是应用于日常生活还是足够的,元件测出温度值与18B20相比大约差1度,考虑到18B20的误差,基本上精度在其所标示的正负2度内。湿度与家里用的电子湿度计比较,基本上一致,还是不错的器件。
       优点:接口简单,单总线,占用1个IO口,控制指令简单,精度可以接受,一次数据读取仅需要22ms。价格低,淘宝售价约6元。是业余制作民用级产品的优选对象。
       缺点:体积略大,控制指令过于简单,在某些场合不利于分时控制。
       程序思路:与红外解码基本相似,需要主机发送一个启动信号,然后等待器件响应后,连续读出40位数据,每位数据以低电平50us开头,然后维持高电平26-28us或70us以区分数据0或1,以读取高电平发生后第38us电平高低来判断。数据以高位在前低位在后分别读取,最后一个为校验数据。做相应的校验后显示数值。







       使用感受:元器件整个读取操作需要一次完成,时间约需要4ms,加上启动指令最少18ms,则一次操作需要约22ms,虽然不长,但在一些场合应用中,需要分时分步执行一些固定程序时,比如数码管动态扫描显示,则在读取过程中要么造成数据丢失,要么显示屏闪动,据资料显示该元器件内部集成8位MCU处理数据,如果增加指令,除启动指令外还增加一个读数据指令,并调整指令长度,比如以主机拉低500us则视为启动指令,以300us视为读数据指令,这样在发起启动指令后,元件内部完成数据转换,然后等待外部读数据指令,每一个读指令则输出一个8位数据,这样处理后,有利于在程序中分步读取数据,每次读取1字节数据最多不超过500us。则在动态显示中采用分步读取,不会影响动态扫描。




作者: tclgx    时间: 2015-6-14 17:12
来学习,正想求一个
作者: shifanghui    时间: 2015-7-9 21:29
楼主有没有原理图和程序供学习?
作者: 尚天的我为你    时间: 2015-7-24 09:06
能发你的笔记一份学习吗
作者: 尚天的我为你    时间: 2015-7-24 09:07
楼主上资料
作者: gemxie    时间: 2015-10-18 15:43
楼主有没有原理图和程序供学习?
作者: gemxie    时间: 2015-10-18 15:43
因为我现在也在做这个的,但是都不懂的呢,希望楼主可以把程序及原理图发一份给我可好呢???
作者: gemxie    时间: 2015-10-18 15:44
因为我现在也在做这个的,但是都不懂的呢,希望楼主可以把程序及原理图发一份给我可好呢???
作者: 苦逼程序员    时间: 2015-11-23 16:18
我测得的湿度数据直接处理显示,发现显示有错,请问是什么原因?
作者: TMonkey    时间: 2015-11-23 16:38
怎么都是要资料的~~
作者: borwell    时间: 2016-3-27 23:22
不错 学习了
作者: EndTank    时间: 2016-7-13 17:15
求程序和原理图参考下~524075514@qq.com
作者: 962543988    时间: 2018-9-22 15:01
求程序和原理图参考下~92543988@qq.com
作者: 170cmyao    时间: 2018-10-3 12:41
2455979716@qq.com,楼楼方便的话求分享一下,以作学习。




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1