def main(switch=18, green=8, red=7):
GPIO.setmode(GPIO.BCM)
#GPIO.setup(switch, GPIO.IN, pull_up_down=GPIO.PUD_UP)
GPIO.setup(switch, GPIO.IN)
GPIO.setup(green, GPIO.OUT)
GPIO.setup(red, GPIO.OUT)
queue = Queue()
GPIO.add_event_detect(switch, GPIO.BOTH, callback=partial(interrupt_Event, queue), bouncetime=150)
running=True
start=datetime.now()
end=datetime.now()
try:
while running:
sleep(0.1)
if not queue.empty():
pin, state = queue.get()
if state == GPIO.LOW:
start = datetime.now()
GPIO.output(green, False)
GPIO.output(red, True)
elif state == GPIO.HIGH:
print_duration(start, datetime.now())
GPIO.output(green, True)
GPIO.output(red, False)
except (KeyboardInterrupt, SystemExit):
running=False
GPIO.cleanup()
print("\nQuit\n")
评论列表
文章目录