CubieBoard中文论坛

 找回密码
 立即注册
搜索
热搜: unable
查看: 6770|回复: 2

温湿度计DHT11+1602

[复制链接]
发表于 2013-8-21 16:15:30 | 显示全部楼层 |阅读模式
DHT11数字温湿度计,单线串行总线,直接返回温湿度,不需要转换。

温湿度

温湿度

2.png

弄完后发现单总线其实不适合带OS的复杂系统,
比方说:DHT11的1和0,依靠单总线上的高电平时间长短来确定,如果采用轮询,耗cpu还不准确,cpu负载一高,没准这个bit就过去了,更别说A10会自动升降频。同一条指令的执行时间都不确定。
如果采用中断,还要复杂,我开始想用中断来确定bit,但是怎么也触发不了,而且没示波器,不好调。

最后用轮询做的,cpu定在400M。

其中参考了raspberrypi的代码,替换了gpio的部分,基本就行了。调试过程中开始发现怎么也不对,后来知道是差2个bit。
把做视频播放器的raspberrypi拆下来,同样代码一试就是对的。两个板子一对比,发现就差了最开始两个bit,好在这两bit一般是0。自己补上了,没示波器,实在不知道为什么少这2bit。

再次吐槽cb的针非标。





评分

参与人数 1威望 +80 金钱 +20 贡献 +100 收起 理由
play4fun + 80 + 20 + 100

查看全部评分

回复

使用道具 举报

发表于 2013-12-10 20:42:22 | 显示全部楼层
楼上是如何做的?能否给个步骤?再一个,有电路图吗?我想在家里做个温湿度显示的东西。一边是自己弄着玩,另一方面也是练练手。希望能得到楼主的帮助。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-12-11 22:05:31 | 显示全部楼层
dht11是单线的,信号线接随便一个gpio就行,其他5v和gnd,相应接就行。

1602经过并转i2c了,所以不具典型性,1602如果直接接估计要多几根gpio,转了i2c吗自然接i2c那几根线。

步骤嘛,一个个调了,先驱动dht11,反正就是模拟单线,我是吧rpi上的代码改改用在这里了。
再驱动1602了,这里好像已经有现成的代码了。
然后两个揉一起,好了。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|粤ICP备13051116号|cubie.cc---深刻的嵌入式技术讨论社区

GMT+8, 2024-11-23 23:08 , Processed in 0.023325 second(s), 19 queries .

Powered by Discuz! X3.4

© 2001-2012 Comsenz Inc. | Style by Coxxs

返回顶部