是我用来控制继电器通过继电器打开电子门的一段代码,该继电器由树莓派GPIO上的引脚7控制。栅极仅需要瞬时电压(通过继电器触点)即可打开。
我的问题是,当引脚7变为高电平时,我需要添加哪些内容以使继电器仅打开0.5秒。这将使继电器返回到关闭状态,然后等待下一次GPIO引脚7变为高电平时,门在一定时间后不需要来自GPIO的任何命令即可关闭,它们在单独的门控制的控制下关闭系统。
if name=="gate":
GPIO.setmode(GPIO.BOARD) ## Use board pin numbering
GPIO.setup(int(7), GPIO.OUT) ## Setup GPIO Pin to OUTPUT
GPIO.output(int(7), state) ## State is true/false
非常感谢
彼得
答案 0 :(得分:0)
在此示例中,我将使用gpiozero
库而不是RPi.GPIO
,因为我喜欢该库处理事件的方式。
from gpiozero import Button, OutputDevice
from time import sleep
from signal import pause
buttonPin = 4
relayPin = 7
button = Button(buttonPin)
button.when_pressed = ButtonPressedCallback
relay = OutputDevice(relayPin)
def ButtonPressedCallback():
relay.on()
sleep(0.5)
relay.off()
pause()
我希望我很好地理解了你的问题。