基于树莓派温度传感器控制

材料准备:
树莓派3b、温度传感器、继电器、风扇
具体的连接如下图:
在这里插入图片描述
代码如下:

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  
  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)  
|  |  |
|--|--|
|  |  |

电路连接比较简单,在这里不详细的叙述。
承接毕业设计:微信小程序、ssm和树莓派硬件
有开发好的毕业设计可直接购买,价格便宜。
扫描下面二维码加微信(非诚勿扰):
在这里插入图片描述

发布了33 篇原创文章 · 获赞 14 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/baidu_38978508/article/details/83904078