树莓派如何控制温湿度传感器DHT11

技术树莓派如何控制温湿度传感器DHT11树莓派如何控制温湿度传感器DHT11,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。小π因为好几次断电之前没有关掉

树莓Pi如何控制温湿度传感器DHT11?针对这个问题,本文详细介绍了相应的分析和解决方法,希望能帮助更多想要解决这个问题的朋友找到更简单易行的方法。

小在几次断电前都没有关闭系统,导致系统总是起不来。我不得不重写SD卡。安装后,前天晚上,一个温湿度传感器(DHT11)连接到小上,数据顺利读出。废话少说,言归正传:

首先简单介绍一下DHT11:

DHT11是一款温湿度传感器,分为三个接口:VCC、数据、GND。

引脚编号名称类型描述1VCC电源电平,输入3V-5.5V2DATA数据输出引脚3GND接地引脚带图片的DHT11:

树莓派如何控制温湿度传感器DHT11

DHT11手册200808修订版。可移植文档格式文件的扩展名(portable document format的缩写)

根据在线读数,需要在DHT11VCC和DATA之间增加一个电阻,测试后完全没有必要。

引脚连接:

关于第二代树莓派的图钉,请阅读之前的Blog:树莓派控制主动蜂鸣器。

将VCC连接到3V3,您可以选择1个端口或17个端口。

DATA连接到GPIO端口,我选择了GPIO4,端口7。

GND连接到接地端口。我选择了第14个港口。

用Python获取温度和湿度:

一个

2

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

四十二

43

四十四

45

46

47

48

四十九

50

51

五十二

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

六十八

69 #!/usr/bin/python

importRPi。GPIOasGPIO

进口时间

通道=4//GPIO4

数据=[]

j=0

GPIO.setmode(GPIO。BCM)

睡眠时间(1)

GPIO.setup(通道,GPIO。输出)

GPIO.output(通道,GPIO。低)

睡眠时间(0.02)

GPIO.output(通道,GPIO。高)

GPIO.setup(通道,GPIO。输入)

whileGPIO.input(通道)=GPIO。LOW:

继续

whileGPIO.input(通道)=GPIO。HIGH:

继续

whilej40:

k=0

whileGPIO.input(通道)=GPIO。LOW:

继续

whileGPIO.input(通道)=GPIO。HIGH:

k=1

ifnb

sp;k > 100:
      break
  if k < 8:
    data.append(0)
  else:
    data.append(1)
  j += 1
print "sensor is working."
print data
humidity_bit = data[0:8]
humidity_point_bit = data[8:16]
temperature_bit = data[16:24]
temperature_point_bit = data[24:32]
check_bit = data[32:40]
humidity = 0
humidity_point = 0
temperature = 0
temperature_point = 0
check = 0
for i in range(8):
  humidity += humidity_bit[i] * 2 ** (7-i)
  humidity_point += humidity_point_bit[i] * 2 ** (7-i)
  temperature += temperature_bit[i] * 2 ** (7-i)
  temperature_point += temperature_point_bit[i] * 2 ** (7-i)
  check += check_bit[i] * 2 ** (7-i)
tmp = humidity + humidity_point + temperature + temperature_point
if check == tmp:
  print "temperature :", temperature, "*C, humidity :", humidity, "%"
else:
  print "wrong"
  print "temperature :", temperature, "*C, humidity :", humidity, "% check :", check, ", tmp :", tmp
GPIO.cleanup()

  • 展示结果:

1
2
3
4
root@raspberrypi:/data/basedata# python/dht11.py
sensor is working.
[0, 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0]
temperature : 20 *C, humidity : 38 %

为了测试结果是否准确,我把手指放到传感器上,测试的数据为:

1
2
3
4
5
root@raspberrypi:/data/basedata/python# python dht11.py
sensor is working.
[0, 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1]
wrong
temperature : 36 *C, humidity : 38 %

确认正确~

备注: 如果你用的是DS18B20,需要做以下动作:

1
2
3
4
5
6
7
root@raspberrypi:/# apt-get update
root@raspberrypi:/# apt-get upgrade #更新内核
root@raspberrypi:/# reboot
root@raspberrypi:/# vi /boot/config.txt #在最后一行手动添加:dtoverlay=w1-gpio-pullup,gpiopin=4 来支持新系统读取w1总线设备
root@raspberrypi:/# modprobe w1-gpio #确认设备是否生效
root@raspberrypi:/# modprobe w1-therm
root@raspberrypi:/# cd /sys/bus/w1/devices/

关于树莓派如何控制温湿度传感器DHT11问题的解答就分享到这里了,希望

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/105880.html

(0)

相关推荐

  • 2021 10.26 模拟测试

    技术2021 10.26 模拟测试 2021 10.26 模拟测试\(\mathrm{T1}\)
    \(\mathrm{Solution}\)
    我们可以记录一个\(cnt[x]\)表示到第\(i\)个操作

    礼包 2021年10月27日
  • Centos8 下部署 ASP.net Core 程序

    技术Centos8 下部署 ASP.net Core 程序 Centos8 下部署 ASP.net Core 程序1、安装需要的SDK包,如果程序包含3.1版本,需要安装3.1的SDK。
    sudo dn

    礼包 2021年12月1日
  • 如何解决ubuntu apache2无法打开php问题

    技术如何解决ubuntu apache2无法打开php问题这篇文章将为大家详细讲解有关如何解决ubuntu apache2无法打开php问题,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获

    攻略 2021年12月9日
  • 如何全面解析Perl命令行应用

    技术如何全面解析Perl命令行应用本篇文章给大家分享的是有关如何全面解析Perl命令行应用,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。和大家重点讨论一下P

    攻略 2021年11月12日
  • 名人对傅雷家书的评价,傅雷家书内容摘要及评价

    技术名人对傅雷家书的评价,傅雷家书内容摘要及评价《傅雷家书》里主要收集了傅聪在国外学审察期间,傅雷给儿子的书信,其中有一部分是给傅敏的,还有一部分是给傅聪的老婆弥拉的,部分信件还有傅聪母亲的信名人对傅雷家书的评价。傅雷对

    生活 2021年10月22日
  • js事件委托的优点有哪些

    技术js事件委托的优点有哪些这篇文章主要介绍“js事件委托的优点有哪些”,在日常操作中,相信很多人在js事件委托的优点有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”js事件委托的优点

    攻略 2021年10月20日