0.jpg (30.47 KB, 下載次數: 65)
下載附件
2018-4-22 01:29 上傳
單片機源程序如下:
- #!/usr/bin/python
- import RPi.GPIO as GPIO
- import time
- channel = 17
- 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, ", humidity : " , humidity
- else:
- print "wrong"
- print "temperature : ", temperature, ", humidity : " , humidity, " check : ", check, " tmp : ", tmp
- GPIO.cleanup()
復制代碼
所有資料51hei提供下載:
DHT11測試程序.zip
(235.57 KB, 下載次數: 5)
2018-4-21 23:16 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
|