• 介绍

    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. IDEA 2017破解 license server激活

    确保电脑在联网状态,在激活窗口选择license server 填入下面的license server: http://intellij.mandroid.cn/ http://idea.imsxm. ...

  2. AtCoder Regular Contest 070 D - No Need 想法:利用单调性二分+bitset优化

    /** 题目:D - No Need 链接:http://arc070.contest.atcoder.jp/tasks/arc070_b 题意:给出N个数,从中选出一个子集,若子集和大于等于K,则这 ...

  3. quantz入门和使用流程(转载)

    1.下载地址:http://quartz-scheduler.org/downloads/catalog http://quartz-scheduler.org/downloads/destinati ...

  4. Linux 比较重要且难掌握命令 集合

    1. find find path –option [-print] [-exec command] {} \; find . -maxdepth 1 -name aa find . -maxdept ...

  5. 在CPU上运行Tensorflow

    如果你是用的GPU版本的Tensorflow,你可以这样来使用CPU版本的Tensorlfow: config = tf.ConfigProto( device_count = {'GPU': 0} ...

  6. 继续聊WPF——动态数据模板

    我为啥称之为“动态数据模板”?先看看下面的截图,今天,我们就是要实现这种功能. 大概是这样的,我们定义的DataTemplate是通过触发器动态应用到 ComboBoxItem 上. 这个下拉列表控件 ...

  7. Marple表演电影字幕

    119501:15:59,702 --> 01:16:02,782我的幸运死了 而我很清楚是谁杀了她的 (格雷格)My Lucky is dead, and I know perfectly w ...

  8. Caffe模型读取

    caffe模型最终保存使用过的protobuf形式,将一个已经训练好的caffe模型读取出来,可以参考如下: 1,包含的头文件: #include <google/protobuf/io/cod ...

  9. ios -生成推广海报

    #import "ViewController.h" #import "Masonry.h" @interface ViewController () @end ...

  10. OpenCV学习笔记:opencv_core模块

    一,简介: opencv最基础的库.包含exception,point,rect,size,slice,vector,matrix,image等数据结构,和相应的操作函数,以及一些基础算法. 二,分析 ...