需要使用d设置上下变量的帮助吗

2024-06-25 22:46:11 发布

您现在位置:Python中文网/ 问答频道 /正文

这应该很容易,但我就是想不起来。我需要设置一个达到上限或下限的变量,但我想在设置变量之前添加一个增量

我正在用树莓pi构建一个水族馆控制器,并用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

这是一个基本功能,可以工作,但是,当温度在极限值波动时,它仍会在极限值反弹

欢迎提出任何意见


Tags: 代码outputgpioswtemp增量树莓print
1条回答
网友
1楼 · 发布于 2024-06-25 22:46:11

您需要考虑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)

相关问题 更多 >