【问题标题】:Need help setting upper and lower variables with a delta需要帮助使用增量设置上限和下限变量
【发布时间】:2019-07-01 04:16:08
【问题描述】:

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

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

这是一个基本功能,但它仍然会随着温度在限制范围内波动而在限制范围内反弹。

感谢任何想法。

【问题讨论】:

    标签: python python-2.7 raspberry-pi3


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-05-19
      • 2018-12-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多