• 介绍

    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. plsql programming 09 数字

    number 类型, 十进制数据类型(平台无关的) pls_integer 和 binary_integer 这两种数据类型和你底层硬件表示整数的方法完全一致, 这两种类型的运算是利用硬件原生, 机器 ...

  2. python3----字符串中的字符倒转

    方法一,使用[::-1]: s = 'python' print(s[::-1]) 方法二,使用reverse()方法: n = list(s) n.reverse() print(''.join(n ...

  3. linux安装consul集群

    一.集群规划 consul借助agent来运行,类似elk的logstash agent 或 zabbix监控系统的agent , 每个需要被发现的服务上,通过consul agent client ...

  4. 关于 js 动态生成html 绑定事件失效的问题

    在实际问题中,也只到使用新版jq 的on 事件 进行动态元素的绑定: 是这样 (但是依然没有效果——): $('dom节点').on('click',function(){}) 之后经过查阅发现:正确 ...

  5. jmeter通过json extrcator或者正则表达式获取json返回信息

    1.下载地址,及插件文档资料 https://jmeter-plugins.org/wiki/JSONPathExtractor/ json信息如下 { "error_code": ...

  6. Python2.6升级Python2.7

    Python2.6升级2.7 由于Centos6系列自带的python版本为2.6.6,然而有很多应用需要依赖于python2.7来实现,所以有了这个升级的需求.升级原理很简单,无非就是下载.编译.安 ...

  7. SharePoint 离线安装

    SharePoint 离线安装,主要是AppFrabic服务出错,可以使用下来命令: "X:\WindowsServerAppFabricSetup_x64.exe" /i Cac ...

  8. vip视频网站爬虫

    vip视频网站爬虫 电影网站:http://www.08ge.com/play/?make=dianying&id=fqvlYhH5QHb3Sh.html 找到<iframe>的i ...

  9. EasyNVR内网摄像机接入网关+EasyNVS云端管理平台,组件起一套轻量级类似于企业级萤石云的解决方案

    背景分析 对于EasyNVR我们应该都了解,主要应用于互联安防直播,对于EasyNVR,我们可以清楚的发现,EasyNVR的工作机制是EasyNVR拉取摄像机的RTSP/Onvif视频流,然后客户端可 ...

  10. android菜鸟学习笔记25----与服务器端交互(二)解析服务端返回的json数据及使用一个开源组件请求服务端数据

    补充:关于PHP服务端可能出现的问题: 如果你刚好也像我一样,用php实现的服务端程序,采用的是apache服务器,那么虚拟主机的配置可能会影响到android应用的调试!! 在android应用中访 ...