这应该很容易,但是,我就是想不通。我需要设置一个达到上限或下限的变量,但是,我想在设置变量之前添加一个增量。
我正在构建一个水族馆控制器与树莓派和编写的代码在python中。这个特殊的功能,我想在76.0度打开加热器,在78度关闭它。
但是,我不想让加热器在极限时跳动,因此,一旦我打开加热器,我希望它加热到78度,但在它达到下限之前不要再次打开。
反之亦然,当达到下限时,我想让它加热到更高的极限。
主要目标是不让gpio引脚在上限和下限的边缘反弹。
代码中的gpio引脚控制继电器打开/关闭加热器。
热开=1....-> 78度
热开=0 ................76度<
def heater(SW_TEMP):
if SW_TEMP < 76.0:
heatON = 1
print "heatON = ", heatON
GPIO.output(HTR_Ch2, GPIO.LOW)
elif (SW_TEMP > 78.00):
heatON = 0
print "heatON = ", heatON
GPIO.output(HTR_Ch2, GPIO.HIGH)
else:
GPIO.output(HTR_Ch2, GPIO.HIGH)
heatON = 0
print "heatON = ", heatON这是一个基本的功能和工作,但是,它仍然将反弹在极限,因为温度波动在极限。
任何想法都是值得感谢的。
发布于 2019-02-07 13:23:20
您需要考虑heatON的当前状态,例如:
def heater(SW_TEMP):
if SW_TEMP < 76.0 and not heatON:
heatON = 1
print "heatON = ", heatON
GPIO.output(HTR_Ch2, GPIO.LOW)
elif SW_TEMP > 78.00 and heatON:
heatON = 0
print "heatON = ", heatON
GPIO.output(HTR_Ch2, GPIO.HIGH)https://stackoverflow.com/questions/54566698
复制相似问题