这是我借用的一点python。它用树莓皮监控门上的三个带簧片开关的引脚。如果门开了,上面写着“门开着”。在
问题是它总是重复开放。我要它说一次,停下来,等门关上再继续监视。在import time
import RPi.GPIO as io
import subprocess
io.setmode(io.BCM)
#pir_pin = 18
door_pin = 24
door_pin2 = 4
door_pin3 = 22
#io.setup(pir_pin, io.IN) # activate input
io.setup(door_pin, io.IN, pull_up_down=io.PUD_UP) # activate i$
io.setup(door_pin2, io.IN, pull_up_down=io.PUD_UP) # activate $
io.setup(door_pin3, io.IN, pull_up_down=io.PUD_UP) # activate $
while True:
# if io.input(pir_pin):
# print("PIR ALARM!")
if io.input(door_pin):
print("DOOR Open!")
if io.input(door_pin2):
print("DOOR Open2!")
if io.input(door_pin3):
print("DOOR open3!")
subprocess.call(['/usr/sipcmd-master/doording.sh'])
time.sleep(1.9)
我试过底线,但显然我不能在真实的条件下使用真实的条件?在
编辑:也许是我问题的一个简化版本,我如何让一个循环在继续之前等待更改。i、 e.在pin=0时等待,当pin=1时执行X