繁体   English   中英

python脚本中的反向事件触发器

[英]reverse event trigger in python script

我有一个throw开关,该开关在打开时会触发下面脚本的相关输出,但是在关闭时什么都不做。 我希望它做相反的事情,即它在关闭时触发相关的输出,但在打开时不触发,但是经过各种参数的尝试后,它无法执行我想要的操作。

import RPi.GPIO as GPIO
import smtplib
import time
import datetime

GPIO.setmode(GPIO.BCM)
GPIO.setup(21, GPIO.IN, pull_up_down=GPIO.PUD_UP)

# function for the door opening
def door_open():
    print datetime.datetime.now().strftime("%Y-%m-%d %H:%M")

#initialise a previous input variable to 0 (assume button not pressed last)
prev_input = 0
while True:
  #take a reading
  input = GPIO.input(21)
  #if the last reading was low and this one high, print
  if ((not prev_input) and input):
    door_open()
  #update previous input
  prev_input = input
  #slight pause to debounce
  time.sleep(0.1)

您是否尝试过在检查door_open()之后放入类似内容:

if (prev_input and (not input)):
    door_closed()

当然,您需要实现door_closed()

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM