美文网首页技术类文章收集大杂烩程序员工具癖
0021 树莓派电脑控制温湿度传感器

0021 树莓派电脑控制温湿度传感器

作者: 学哥量化交易学习 | 来源:发表于2017-02-17 10:48 被阅读482次

    这节课,讲一个新的传感器,温湿度传感器。

    温湿度传感器

    我们选用的型号是DHT11,下面是这个型号的一些参数:

    外文名:DHT11

    供电电压:3.3~5.5V DC

    输 出:单总线数字信号

    测量范围:湿度20-90%RH,温度0~50℃

    测量精度:湿度+-5%RH,温度+-2℃

    分 辨 率:湿度1%RH, 温度1℃

    互 换 性:可完全互换

    长期稳定性: <±1%RH/年

    这些信息丛哪里可以获取呢,一般通过以下方式获得:

    1.通过搜索引擎,搜索“温湿度传感器”,通过百科知识获得基础信息。

    2.通过在电商平台上面检索“温湿度传感器”,查看商品详细介绍信息,可能包含厂家的商品参数信息。

    3.通过查询厂家的产品白皮书获得更详细的产品介绍以及接口说明。

    来看一下实物照片,以及相应的接口说明:

    将温湿度传感器有孔洞的一面朝上,引脚朝下方摆放,从左到右依次为1到4号引脚,分别对应的接口说明如图所示。

    要了解详细的传感器原理,一般需要去搜索厂家的商品白皮书,关于DHT11,推荐下载下面pdf文件:

    查看下载文件,可以了解接口信息以及输出数据格式:

    硬件的时序图,文档中有详细说明,根据时序图可以用程序来发送读取温度信号命令以及读取返回值。

    硬件连接

    通过上面的说明,以及根据厂家的电路图,这样连接硬件:

    第一步,树莓派GPIO口接到面包板上。

    树莓派GPIO的2号口,用杜邦线母对公连接到面包板上。

    树莓派GPIO的18号口,用杜邦线母对公连接到面包板上。

    树莓派GPIO的20号口,用杜邦线母对公连接到面包板上。

    如下图所示:

    第二步,DHT11接到面包板上。

    DHT11的1号口,用杜邦线母对公连接到面包板上,和GPIO的2号口的杜邦线同一排。

    DHT11的2号口,用杜邦线母对公连接到面包板上,和GPIO的18号口的杜邦线同一排。

    DHT11的4号口,用杜邦线母对公连接到面包板上,和GPIO的20号口的杜邦线同一排。

    注意,由于DHT11的引脚比较细,插入杜邦线母头不太容易插紧,可以用透明胶粘贴固定。

    如下图所示:

    第三步,在面包板上面,插入一个10k欧的电阻。

    插在DHT的1号口和2号口这2排线当中。

    如下图所示:

    前面0018这节课里面还少买了一个电阻包,请到那个店铺里面搜索“电阻包”,如图:

    找到标签上写有10K的电阻,如下图,然后插入到面包板上。

    全部电路连接如下图:

    编写程序

    启动树莓派电源,打开文本编辑器,编写代码如下:

    运行结果如下:

    可以看到运行多次的结果可能不一致,这是正常情况,因为这个型号的温湿度传感器本身就不是非常精确的传感器,再加上环境温度一直在变化。

    如果希望看到温度测量结果剧烈变化,可以通过以下方式调节:

    1.用手掌握住传感器,可以利用人体体温加热,让传感器测量的温度上升。

    2.用一个塑料袋包住一个冰块,贴在传感器上,让传感器测量的温度下降。

    大家可以试试看,不停测量的温度的变化情况。

    这段代码有一个很大的问题,那就是当杜邦线和温度传感器的引脚接触不是很好的情况下,可能会卡住,大家可以尝试看看如何修改代码可以达到不会卡住。

    具体代码的说明,我已经写在代码的注释当中了,大家自行学习。

    当中关于温度的数据如何解析出来的,大家大概了解明白就可以了。如果想弄清楚,需要仔细研究前面下载文件里面的电子电路时序图。

    这里,用到的一个新的知识点,是使用GPIO.input(channel)函数来读取GPIO口传递过来的电平信号。

    下节课,讲解说明将温湿度传感器和蜂鸣器结合在一起组成温度报警器,当温度大于某个温度或者小于某个温度时发出蜂鸣声音。

    往期教程

    因为教程是系列教程,前后关联性非常强,请大家按照微信公众号【零基础学编程】的历史消息发布时间先后次序进行阅读。

    相关文章

      网友评论

        本文标题:0021 树莓派电脑控制温湿度传感器

        本文链接:https://www.haomeiwen.com/subject/hjpkwttx.html