樹莓派連線DHT11溫濕度感測器(python)

2021-07-26 09:17:42 字數 2030 閱讀 9590

vcc接5v或者3.3v

data接gpio(我接的是bcm的16號針腳,物理針腳是36)

gnd接gnd

[codesyntax lang="python"]

#!/usr/bin/python

import rpi.gpio as gpio

import time

channel = 16 #引腳號16

data = #溫濕度值

j = 0 #計數器

gpio.setmode(gpio.bcm) #以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:

else:

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() #重置針腳

執行:sudo chmod 777 程式名.py

python 程式名.py

樹莓派連線DHT11溫濕度感測器(python)

vcc接5v或者3.3v data接gpio 我接的是bcm的16號針腳,物理針腳是36 gnd接gnd codesyntax lang python python view plain copy usr bin python import rpi.gpio as gpio import time ...

DHT11溫濕度感測器

原理圖 資料傳輸 使用序列介面 單線雙向 data 用於微處理器與 dht11之間的通訊和同步,採用單匯流排資料格式,一次 通訊時間4ms左右,資料分小數部分和整數部分,具體格式在下面說明,當前小數 部分用於以後擴充套件,現讀出為零.操作流程如下 一次完整的資料傳輸為40bit,高位先出。資料格式 ...

DHT11溫濕度感測器

dht11數字溫濕度感測器是一款含有已校準數碼訊號輸出的溫濕度復合感測器。它應用專用的數字模組採集技術和溫濕度感測技術,確保產品具有極高的可靠性與長期的穩定性。感測器包括乙個電阻式感溼元件和乙個ntc測溫元件,並與乙個8位微控制器相連線。因此該產品具有抗干擾能力強 價效比高等優點。dht11使用1 ...