问题描述
我有一个朋友在他家设置灌溉系统。他告诉我,无论是否有水分,第一次运行后都不会检测到水分。用他自己的话说:
“我正在尝试找出如何使程序重新启动检测过程的方法。比如说我的传感器在土壤中并且检测到水,然后在一定时间后需要再次运行。我的问题是当我再次运行它,它坐在一杯水里,它无法检测到水,我读到一些有关检查传感器状态的信息,但我什么也没找到。 我也希望延迟功能能够按间隔连续运行。”
他今天给我发送了他的代码,尽管我是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 (将#修改为@)