1. <ul id="0c1fb"></ul>

      <noscript id="0c1fb"><video id="0c1fb"></video></noscript>
      <noscript id="0c1fb"><listing id="0c1fb"><thead id="0c1fb"></thead></listing></noscript>

      99热在线精品一区二区三区_国产伦精品一区二区三区女破破_亚洲一区二区三区无码_精品国产欧美日韩另类一区

      RELATEED CONSULTING
      相關(guān)咨詢(xún)
      選擇下列產(chǎn)品馬上在線(xiàn)溝通
      服務(wù)時(shí)間:8:30-17:00
      你可能遇到了下面的問(wèn)題
      關(guān)閉右側(cè)工具欄

      新聞中心

      這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷(xiāo)解決方案
      樹(shù)莓派如何控制溫濕度傳感器DHT11

      樹(shù)莓派如何控制溫濕度傳感器DHT11,針對(duì)這個(gè)問(wèn)題,這篇文章詳細(xì)介紹了相對(duì)應(yīng)的分析和解答,希望可以幫助更多想解決這個(gè)問(wèn)題的小伙伴找到更簡(jiǎn)單易行的方法。

      成都創(chuàng)新互聯(lián)公司主營(yíng)灌南網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營(yíng)網(wǎng)站建設(shè)方案,APP應(yīng)用開(kāi)發(fā),灌南h5微信小程序開(kāi)發(fā)搭建,灌南網(wǎng)站營(yíng)銷(xiāo)推廣歡迎灌南等地區(qū)企業(yè)咨詢(xún)

      小π因?yàn)楹脦状螖嚯娭皼](méi)有關(guān)掉系統(tǒng),導(dǎo)致系統(tǒng)老是起不來(lái)。無(wú)奈只好重寫(xiě)了SD卡。裝好后前天晚上把一個(gè)溫濕度傳感器(DHT11)接到了小π上,順利讀出數(shù)據(jù)來(lái)了。廢話(huà)不多說(shuō)了,進(jìn)入正題:

      • 首先,簡(jiǎn)單介紹下DHT11:

        DHT11是一個(gè)溫濕度傳感器,分為3個(gè)接口,分別為:VCCDATAGND

        引腳號(hào)名稱(chēng)類(lèi)型說(shuō)明
        1VCC電源+級(jí),輸入3V-5.5V
        2DATA數(shù)據(jù)輸出輸出引腳
        3GND接地接地引腳

        配一個(gè)DHT11的圖片:

        樹(shù)莓派如何控制溫濕度傳感器DHT11

        DHT11說(shuō)明書(shū)200808修訂版.pdf

        之前看網(wǎng)上說(shuō),需要在DHT11VCCDATA之間加一個(gè)電阻,經(jīng)試驗(yàn)完全不需要。

      • 引腳連接:

        關(guān)于樹(shù)莓派二代的引腳可以看下上篇Blog:樹(shù)莓派控制有源蜂鳴器

        1. VCC接上3V3,可以選擇1口或者17

        2. DATA接上GPIO口,我選的是GPIO4,第7

        3. GND接上接地口,我選的是第14

      • Python獲取溫濕度:

      1
      2
      3
      4
      5
      6
      7
      8
      9
      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
      42
      43
      44
      45
      46
      47
      48
      49
      50
      51
      52
      53
      54
      55
      56
      57
      58
      59
      60
      61
      62
      63
      64
      65
      66
      67
      68
      69
      #!/usr/bin/python
      import RPi.GPIO as GPIO
      import time
      
      channel =4 //GPIO4
      data = []
      j = 0
      
      GPIO.setmode(GPIO.BCM)
      
      time.sleep(1)
      
      GPIO.setup(channel, GPIO.OUT)
      GPIO.output(channel, GPIO.LOW)
      time.sleep(0.02)
      GPIO.output(channel, GPIO.HIGH)
      GPIO.setup(channel, GPIO.IN)
      
      while GPIO.input(channel) == GPIO.LOW:
        continue
      while GPIO.input(channel) == GPIO.HIGH:
        continue
      
      while j < 40:
        k = 0
        while GPIO.input(channel) == GPIO.LOW:
          continue
        while GPIO.input(channel) == GPIO.HIGH:
          k += 1
          if 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()
      • 展示結(jié)果:

      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 %

      為了測(cè)試結(jié)果是否準(zhǔn)確,我把手指放到傳感器上,測(cè)試的數(shù)據(jù)為:

      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 %

      確認(rèn)正確~

      備注: 如果你用的是DS18B20,需要做以下動(dòng)作:

      1
      2
      3
      4
      5
      6
      7
      root@raspberrypi:/# apt-get update
      root@raspberrypi:/# apt-get upgrade #更新內(nèi)核
      root@raspberrypi:/# reboot
      root@raspberrypi:/# vi /boot/config.txt #在最后一行手動(dòng)添加:dtoverlay=w1-gpio-pullup,gpiopin=4 來(lái)支持新系統(tǒng)讀取w1總線(xiàn)設(shè)備
      root@raspberrypi:/# modprobe w1-gpio #確認(rèn)設(shè)備是否生效
      root@raspberrypi:/# modprobe w1-therm
      root@raspberrypi:/# cd /sys/bus/w1/devices/

      關(guān)于樹(shù)莓派如何控制溫濕度傳感器DHT11問(wèn)題的解答就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,如果你還有很多疑惑沒(méi)有解開(kāi),可以關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道了解更多相關(guān)知識(shí)。


      分享文章:樹(shù)莓派如何控制溫濕度傳感器DHT11
      本文URL:http://www.ef60e0e.cn/article/jsjdie.html
      99热在线精品一区二区三区_国产伦精品一区二区三区女破破_亚洲一区二区三区无码_精品国产欧美日韩另类一区
      1. <ul id="0c1fb"></ul>

        <noscript id="0c1fb"><video id="0c1fb"></video></noscript>
        <noscript id="0c1fb"><listing id="0c1fb"><thead id="0c1fb"></thead></listing></noscript>

        井陉县| 抚顺县| 呼伦贝尔市| 阳江市| 奈曼旗| 铜梁县| 克山县| 小金县| 伊宁市| 蓝田县| 佛坪县| 繁昌县| 晋江市| 湖北省| 巴楚县| 正定县| 得荣县| 寻甸| 调兵山市| 黑河市| 闽侯县| 临洮县| 丹江口市| 井研县| 泽库县| 宝丰县| 绥棱县| 合作市| 鄂州市| 泰和县| 太仓市| 祥云县| 吴江市| 多伦县| 惠东县| 津南区| 滁州市| 庆阳市| 巴林左旗| 措勤县| 青龙|