按下S5 后打开蜂鸣器 继电器,再次按下关闭蜂鸣器和继电器的代码
时间: 2024-10-21 09:09:17 浏览: 13
在编写控制蜂鸣器和继电器的简单代码时,我们通常会使用硬件触发器配合程序逻辑。这里是一个基本的Python示例,假设我们使用的是单片机(如Arduino)和按键库:
```python
import RPi.GPIO as GPIO
# 设置GPIO模式
GPIO.setmode(GPIO.BCM)
# 定义蜂鸣器和继电器的引脚
beeper_pin = 17 # 这里假设蜂鸣器连接到BCM 17引脚
relay_pin = 22 # 继电器连接到BCM 22引脚
# 初始化GPIO
GPIO.setup(beeper_pin, GPIO.OUT) # 输出模式,用于蜂鸣器
GPIO.setup(relay_pin, GPIO.OUT) # 输出模式,用于继电器
def toggle_device(pin):
if GPIO.input(pin): # 如果按下的按钮状态为高(即按下)
GPIO.output(pin, False) # 关闭蜂鸣器或断开继电器
print("蜂鸣器和继电器已关闭")
else:
GPIO.output(pin, True) # 打开蜂鸣器或接通继电器
print("蜂鸣器和继电器已打开")
try:
while True:
button_state = GPIO.input(beeper_pin)
toggle_device(beeper_pin)
# 如果蜂鸣器或继电器已经操作过,检查另一个按钮
if not GPIO.input(relay_pin):
toggle_device(relay_pin)
except KeyboardInterrupt:
GPIO.cleanup() # 程序中断时清理GPIO
阅读全文