Python测试传感器,然后再次运行它们直到按键

时间:2013-02-14 19:22:52

标签: python loops time sensor

我正在为我的小温室制作一个python程序来测试不同的情况。 我需要它做的是:当程序结束时,等待5分钟,然后再次运行所有测试。 这是我的第一个完整的python程序,所以如果你能在低杠杆曲线区域保持答案,那么它将会非常受欢迎。

示例:

temp=probe1  
humidity=probe2  
CO2=probe3  

if temp==25:  
      print ("25)"  
if humidity==90:  
      print ("90")  
if CO2==1000  
      print ("1000")  

import time  
time.sleep (300) 
start again from top until keypress

1 个答案:

答案 0 :(得分:2)

您可以将现有内容放在while True loop中,以达到预期效果。这将永远运行,每5分钟进行一次测量,直到您按Ctrl-C中断程序。

import time
while True:
    temp=probe1  
    humidity=probe2  
    CO2=probe3  

    if temp==25:  
          print ("25") 
    if humidity==90:  
          print ("90")  
    if CO2==1000  
          print ("1000")    
    time.sleep (300) 

但是,我想知道您的传感器准确提供您检查的值的可能性有多大。根据传感器值的精度,您可能会在几个小时甚至更长时间内没有任何输出。您可能想要检查舍入的传感器值,例如if round(temp) == 25

或者您可能想知道temp何时为25或更高,您可以使用if temp >= 25查看。

另一种可能性是始终打印传感器数据,并在值高于某个阈值时打印额外警告,例如:

import time
while True:
    temp=probe1  
    humidity=probe2  
    CO2=probe3  

    print("Temp:", temp, "degrees")
    if temp>=25:  
          print ("  Too hot!")  

    print("Humidity:", humidity, "%")
    if humidity>=90:  
          print ("  Too humid!")  

    print("CO2:", CO2, "units")
    if CO2>=1000  
          print ("  Too much CO2!")    
    time.sleep (300)