python-3.x - 使用 Raspberry Pi 和 Python3 进行继电器控制
问题描述
下面是我用来控制继电器打开电子门的一段代码,该继电器通过树莓派 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
非常感谢
彼得
解决方案
在这个例子中,我将使用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()
我希望,我很好地理解了你的问题。
推荐阅读
- php - 如何以 JSON 格式返回响应 - Codeigniter
- javascript - 箭头函数不应返回赋值 no-return-assign
- python - python tkinter optionmenu的问题:只选择最后一项
- bash - 迭代替换文件中的字符串
- android - “重复课程”是什么意思?
- excel - Excel:从日期转换为时间范围
- python - 如何在保持程序化行选择的同时防止用户点击行选择?
- javascript - 如何使用默认参数为井字游戏中的第一个玩家随机化“X”和“O”符号?
- python - python - 从文件中提取关联的图标
- php - 在php中测试给定字符的大写或小写类型的最佳方法是什么?