基於樹莓派 溫度感測器dh11簡單的風扇控制

2021-08-31 11:43:47 字數 2503 閱讀 3032

# -*- coding: utf-8 -*-

#!/usr/bin/python

import rpi.gpio as gpio

import time

while true:

print("shuchu")

channel = 21 #引腳號16

channel1 = 19

data = #溫濕度值

j = 0 #計數器

gpio.setmode(gpio.bcm) #以bcm編碼格式

time.sleep(1) #時延一秒

gpio.setup(channel, gpio.out)

gpio.setup(channel1,gpio.out)

gpio.output(channel, gpio.low)

time.sleep(0.02) #給訊號提示感測器開始工作

gpio.output(channel, gpio.high)

gpio.setup(channel, gpio.in)

print("11112222")

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

if temperature>=24:

print("開啟風扇")

gpio.output(channel1,gpio.high)

else:

print("關閉風扇")

gpio.output(channel1,gpio.low)

else: #錯誤輸出錯誤資訊,和校驗資料

print "wrong"

print "temperature : ", temperature, ", humidity : " , humidity, " check : ", check, " tmp : ", tmp

time.sleep(1)

#gpio.cleanup()

7執行結果如下

樹莓派 溫濕度 DH11

最近在學習python,最近也買了塊樹莓派 raspberry 3 b 講不清是為了學習python而買的pi,還是為了鼓搗pi而去學習python。昨天晚上按照教程自己搭建了乙個溫濕度測試平台,主要也是在網上找的,我沒有仔細去看dh11的原理,大概和ds18b20是乙個套路吧。先能把 跑起來,再返...

DTH111 溫度感測器 獲取溫度 驅動 樹莓派

前言 由於我給我弟弟 小學生 買了乙個樹莓派,so,需要乙個例子激發他的興趣 正文開始 dth111.h 2018 02 13 1.0 ifndef dth111 h define dth111 h include include include typedef struct dth111 dth1...

樹莓派連線光敏感測器

光敏電阻是一種對光線特別敏感的模組,可以輸出高低電平或者是模擬值。利用該模組可以實現類似光控燈泡這樣的功能。下面的模組中有四個介面,分別是 vcc 5v gnd 負極 d0 數字輸出,高低電平 a0 模擬輸出,可以通過ad模組得到精確的變化值 注意 下圖中藍色轉盤是用來條件輸出高低電平的閾值的。ca...