【.NET MF 学习笔记系列(五)】 DHT11温湿度传感器通信

      之前买了DHT11的温湿度传感器,想用在.NET MF开发板上的,但是一看说明书发现这个玩意儿对时序要求非常高,所以想要用C#来获取数据基本不可能,必须试用C,C++来底层完成托管代码封装,供上层的C#调用,鉴于本人没有任何嵌入式硬件编程经验,所以这个传感器一直没有利用起来,前阵子叶帆老大研究了一下把这个封装工作搞定了,高手出马果然不一样啊,先看看老大的博文吧

【STM32 .Net MF开发板学习-19】DHT11温湿度传感器通信(上)

【STM32 .Net MF开发板学习-23】DHT11温湿度传感器通信(下)

而我就是建立在老大这个巨人的肩膀上开始研究, 呵呵

看看貌似很简单,完全按照老大的接法,但是接上温湿度传感器,连上3.3V,接地,信号线发现输出始终为

  

       开始排查问题,首先怀疑是传感器坏了,幸好之前买的时候一气买了四个,换上其他的三个发现还是没有输出。我再思考,看看接线是否有问题,一查说明书,果然正面背面搞反了,封装信息如下

 DHT11引脚说明

Pin

名称

注释

1

VDD

供电 35.5VDC

2

DATA

串行数据,单总线

3

NC

空脚,请悬空

4

GND

接地,电源负极

 

换好正确的位置,继续测试发现还是没有输出,这下急了,不会是接错烧了吧

 

看到老大博文中有这么一段

T2T3T4T5四个时钟的四个通道都可以连接DHT11模块,进行数据采集,其和Pin脚的对应关系如下:     

 

通道1

通道2

通道3

通道4

Timer2

PA0

PA1

PA2

PA3

Timer3

PA6

PA7

PB0

PB1

Timer4

PB6

PB7*

PB8*

PB9

Timer5

PA0

PA1

PA2

PA3

注:以上信息,可以通过查原理图获知,其中带“*”的管脚实际测试未能成功获取数据。

继续思考,有些未能成功获取数据,那我板子上是不是也会出现这个问题?于是换Timer3的通道2,没有数据。。。换Timer2的通道1,果然有数据了,兴奋啊,上个图吧

 

我使用的是面包板接线,方便,呵呵

通过试验发现了三个问题:

   1、这个温湿度传感器个体差异比较大,我来回换个四个发现差异还是挺大的,就算单个也不是很稳定,变化比较大的

   2、把传感器拆了,输出还是维持最后一次读到的数据,这个应该是底层代码哪里的bug咯

   3、老大那边有些通道能取到数据的在我这取不到,不知道是不是啥干扰造成的

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值