编写一个简单的报警灯程序
时间: 2024-09-19 19:03:28 浏览: 5
编写一个简单的报警灯程序,我们可以以Python为例,因为它的语法简洁易懂。假设我们有一个单个的LED作为报警灯,可以通过GPIO模块来控制。这里是一个基础的示例,展示了如何在一个按键触发下开关灯:
```python
import RPi.GPIO as GPIO
import time
# 设置GPIO模式为BCM
GPIO.setmode(GPIO.BCM)
# 定义LED灯的GPIO编号
led_pin = 18
GPIO.setup(led_pin, GPIO.OUT) # 将GPIO设置为输出模式
def toggle_light():
if GPIO.input(led_pin): # 如果当前灯亮,则关闭
GPIO.output(led_pin, GPIO.LOW)
print("灯已关闭")
else: # 如果灯灭,则打开
GPIO.output(led_pin, GPIO.HIGH)
print("灯已开启")
# 添加一个按钮触发事件
button_pin = 20
GPIO.setup(button_pin, GPIO.IN, pull_up_down=GPIO.PUD_UP) # 高电平有效
GPIO.add_event_detect(button_pin, GPIO.RISING, callback=toggle_light)
try:
while True:
time.sleep(0.5) # 每隔半秒检测一次按钮状态
except KeyboardInterrupt:
# 程序结束时,确保清理GPIO资源
GPIO.cleanup()
```
在这个程序中,当按下按钮时,灯的状态会被切换,模拟了报警灯的开关操作。注意,这个例子是在Raspberry Pi上使用的,其他平台可能需要调整GPIO库和设置。