python温度传感器,基于python经过树莓派获取温度传感器的温湿度

基于python经过树莓派获取温度传感器的温湿度

前面作过一个智能风扇,主要功能是经过温度来控制风扇的自动开关以及经过软件来进行控制风扇开关,功能都能实现可是python

软件并无作完,因此就不了了之。app

我使用的树莓派,以下图附上引脚的注释:spa

树莓派链接温度传感器

VCC接5V或者3.3Vinput

DATA接GPIO口(我接的是BCM的17 针脚,物理针脚是11 )it

GND接GNDclass

根据上面引脚分布图,就能够轻松链接成功。import

获取温度和湿度(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()

注:代码的位置有些错乱,须要本身调一下,可是代码自己是没有问题的。软件

文章知识点与官方知识档案匹配,可进一步学习相关知识Python入门技能树首页概览208561 人正在系统学习中 相关资源:iZotope Ozone VST (臭氧) V4.0.3.274 绿色汉化版.zip-制造工具类…

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2021年2月23日
下一篇 2021年2月23日

相关推荐