• 介绍

    DHT11作为一个廉价配件,同时包含了温度、湿度传感器,而且,编码使用也非常简单。 本文介绍如果在树莓派中使用 DHT11,代码是Python。如果有任何疑问,欢迎在下面留言。

    • 接线
  • VCC接5V或者3.3V
  • DATA接GPIO(我接的是BCM的16号针脚,物理针脚是36)
  • GND接GND
    • 代码

    [codesyntax lang="python"]

    1. #!/usr/bin/python
    2. import RPi.GPIO as GPIO
    3. import time
    4. channel = 16            #引脚号16
    5. data = []           #温湿度值
    6. j = 0               #计数器
    7. GPIO.setmode(GPIO.BCM)      #以BCM编码格式
    8. time.sleep(1)           #时延一秒
    9. GPIO.setup(channel, GPIO.OUT)
    10. GPIO.output(channel, GPIO.LOW)
    11. time.sleep(0.02)        #给信号提示传感器开始工作
    12. GPIO.output(channel, GPIO.HIGH)
    13. GPIO.setup(channel, GPIO.IN)
    14. while GPIO.input(channel) == GPIO.LOW:
    15. continue
    16. while GPIO.input(channel) == GPIO.HIGH:
    17. continue
    18. while j < 40:
    19. k = 0
    20. while GPIO.input(channel) == GPIO.LOW:
    21. continue
    22. while GPIO.input(channel) == GPIO.HIGH:
    23. k += 1
    24. if k > 100:
    25. break
    26. if k < 8:
    27. data.append(0)
    28. else:
    29. data.append(1)
    30. j += 1
    31. print "sensor is working."
    32. print data              #输出初始数据高低电平
    33. humidity_bit = data[0:8]        #分组
    34. humidity_point_bit = data[8:16]
    35. temperature_bit = data[16:24]
    36. temperature_point_bit = data[24:32]
    37. check_bit = data[32:40]
    38. humidity = 0
    39. humidity_point = 0
    40. temperature = 0
    41. temperature_point = 0
    42. check = 0
    43. for i in range(8):
    44. humidity += humidity_bit[i] * 2 ** (7 - i)              #转换成十进制数据
    45. humidity_point += humidity_point_bit[i] * 2 ** (7 - i)
    46. temperature += temperature_bit[i] * 2 ** (7 - i)
    47. temperature_point += temperature_point_bit[i] * 2 ** (7 - i)
    48. check += check_bit[i] * 2 ** (7 - i)
    49. tmp = humidity + humidity_point + temperature + temperature_point       #十进制的数据相加
    50. if check == tmp:                                #数据校验,相等则输出
    51. print "temperature : ", temperature, ", humidity : " , humidity
    52. else:                                       #错误输出错误信息,和校验数据
    53. print "wrong"
    54. print "temperature : ", temperature, ", humidity : " , humidity, " check : ", check, " tmp : ", tmp
    55. GPIO.cleanup()                                  #重置针脚
    • 测试
    执行:sudo chmod 777 程序名.py
python 程序名.py

树莓派连接DHT11温湿度传感器(python)的更多相关文章

  1. 在树莓派上读取DHT11温湿度传感器-python代码实现及常见问题(全面简单易懂)

    最近由于自己的课题需要,想要用在树莓派上使用DHT11温湿度传感器来读取空气中温湿度,遇到了几个问题,解决之后也对之前的知识进行了回顾,总结,特整理如下,希望能给也在学习树莓派的小伙伴们带来一些帮助. ...

  2. 树莓派使用DHT11温湿度传感器

    一.相关介绍 DHT11介绍: DHT11是一款比较便宜的温湿度传感器模块.读取数据只需要占用一个IO口.能够同时测量温度和相对湿度. DHT11的数据手册可以看这里:http://wenku.bai ...

  3. 树莓派使用DHT11温湿度传感器(C语言程序)

    pi4j是基于wiringpi开发的通过java来控制树莓派GPIO口的库文件.在java程序中引入相关类就可以使用已经封装好的方法控制树莓派GPIO口. pi4j官网:http://pi4j.com ...

  4. 树莓派使用DHT11温湿度传感器(C语言)

    硬件: 树莓派 2.0 DHT模块  接树莓派5V GND GPIO1 功能:读取传感器数据并打印出来 // //mydht11.c // #include <wiringPi.h> #i ...

  5. Arduino和C51开发DHT11温湿度传感器

    技术:51单片机.Arduino.DHT11.温湿度传感器.传感器   概述 学习单片机离不开对传感器的学习,本文主要介绍DHT11温湿度传感器的使用方法,同学也可以了解更多的传感器,这对你以后开发产 ...

  6. DHT11温湿度传感器编程思路以及代码的实现(转载)

    源自:https://blog.csdn.net/qq_34952376/article/details/81193938 在我们刚开始进入单片机的学习中,练习写传感器的时序是必不可少的,其实我比较推 ...

  7. STC15系列通用-STC15F2K60S2/STCW4K32S4读取DHT11温湿度传感器数据串口输出代码实例工程免费下载

    //为了方便大家调试,另附程序工程共大家下载,下载地址:https://www.90pan.com/b1908750 ​ //************************** //程序说明:stc ...

  8. 玩转X-CTR100 l STM32F4 l DHT11温湿度传感器

    我造轮子,你造车,创客一起造起来!塔克创新资讯[塔克社区 www.xtark.cn ][塔克博客 www.cnblogs.com/xtark/ ] DHT11数字温湿度传感器是一款含有已校准数字信号输 ...

  9. DHT11温湿度传感器模块使用方法和驱动代码实现

    DHT11模块简介 DHT11是一款价格便宜,易于使用的温度湿度测量二合一传感器.它具有超小体积.极低功耗的特点.它使用单根总线与单片机进行双向的串行数据传输,信号传输距离可达20米以上.非常适用于对 ...

随机推荐

  1. 如何修改SESSION的生存时间

    php中session过期时间设置网上很多人给出了解答:修改php配置文件中的session.gc_maxlifetime.如果想了解更多session回收机制,继续阅读.(本文环境php5.2) 概 ...

  2. C# WEB 不显示目录结构

    <system.webServer> <directoryBrowse enabled="false" /> </system.webServer&g ...

  3. C语言 结构体(嵌套结构体--结构体数组)

    //结构体--嵌套结构体和结构体数组 #define _CRT_SECURE_NO_WARNINGS #include <stdio.h> #include <stdlib.h> ...

  4. Spring MVC复选框(多项)

    以下示例显示如何在使用Spring Web MVC框架的表单中使用多个复选框(Checkbox).首先使用Eclipse IDE来创建一个WEB工程,并按照以下步骤使用Spring Web Frame ...

  5. 嵌入式开发之davinci--- 8148/8168/8127 中的音频alsa 采集

    1.snd_pcm_open,打开句柄. 2.配置参数,可能用到的接口:snd_pcm_hw_params_alloca.snd_pcm_hw_params_any.snd_pcm_hw_params ...

  6. poj 3189(枚举+多重匹配)

    题目链接:http://poj.org/problem?id=3189 思路:由于题目要求最小的差值,而Range最多也才20,因此我们可以枚举上下限,多重匹配验证即可. http://paste.u ...

  7. node.js cmd常用命令

    cmd1.c:如果我们想访问c盘,那么我们需要在命令行中输入c:就行了 2.cd..cd..就可以返回上层目录 3.cd mmcd mm即可访问mm文件夹 4.dir如果想查看该文件夹下有哪些文件,则 ...

  8. A Universally Unique IDentifier (UUID) URN Namespace

    w Network Working Group P. Leach Request for Comments: 4122 Microsoft Category: Standards Track M. M ...

  9. ztree的异步加载

    js中代码为: //参数设置: var setting = { async: { enable: true,    url:"<%=path%>/role/getTreeData ...

  10. 常用代码页与BOM

    常用代码页:CP437 IBM437 OEM United StatesCP1252表示West European LatinCP932 日本CP949 韩国CP936表示GBK中文编码CP54936 ...