水分检测未复位

问题描述

我有一个朋友在他家设置灌溉系统。他告诉我,无论是否有水分,第一次运行后都不会检测到水分。用他自己的话说:

“我正在尝试找出如何使程序重新启动检测过程的方法。比如说我的传感器在土壤中并且检测到水,然后在一定时间后需要再次运行。我的问题是当我再次运行它,它坐在一杯水里,它无法检测到水,我读到一些有关检查传感器状态的信息,但我什么也没找到。 我也希望延迟功能能够按间隔连续运行。”

他今天给我发送了他的代码,尽管我是Python的新手,但我想为他提供帮助。这是代码

#!/usr/bin/python
import RPi.GPIO as GPIO
import time

#GPIO SETUP
channel = 20
GPIO.setmode(GPIO.BCM)
GPIO.setup(channel,GPIO.IN)

def callback(channel):
    if GPIO.input(channel)==0:
        print (" Water Detected!")
    else:
        print ( 'NO Water Detected!')

GPIO.add_event_detect(channel,GPIO.FALLING,bouncetime=300)  # let us kNow when the pin goes HIGH or LOW
GPIO.add_event_callback(channel,callback)  # assign function to GPIO PIN,Run function on change

# infinite loop
while True:
    time.sleep(1)


import RPi.GPIO as GPIO    # Import RaspBerry Pi GPIO library
from time import sleep     # Import the sleep function from the time module
GPIO.setwarnings(False)    # Ignore warning for Now
GPIO.setmode(GPIO.BOARD)   # Use physical pin numbering
GPIO.setup(3,GPIO.OUT,initial=GPIO.LOW)   # Set pin 8 to be an outputpin and set initial value to low (off)

while True: # Run forever
    GPIO.output(3,GPIO.HIGH) # Turn on
    sleep(1)                  # Sleep for 1 second
    GPIO.output(3,GPIO.LOW)  # Turn off
    sleep(1)                  # Sleep for 1 second

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)