Python实现一个按键控制5个Led灯熄灭
时间: 2024-12-09 15:18:15 浏览: 10
在Python中,我们可以使用`RPi.GPIO`库来控制GPIO(General Purpose Input Output,通用输入输出)接口上的LED灯。假设我们有五个LED连接到BCM模式下的GPIO针脚,可以使用如下的代码示例来实现按键控制它们依次熄灭:
```python
import RPi.GPIO as GPIO
import time
# 设置GPIO模式为BCM
GPIO.setmode(GPIO.BCM)
# 定义LED灯的pin编号
led_pins = [4, 17, 27, 22, 24] # 这里仅作演示,实际应根据硬件连接更改
# 将GPIO设置为输出模式
for pin in led_pins:
GPIO.setup(pin, GPIO.OUT)
# 按键的pin编号,这里同样需要替换为你使用的实际按键pin
button_pin = 18
# 初始化按键状态为False
button_pressed = False
def button_callback(channel):
global button_pressed
if not GPIO.input(button_pin): # 如果按键按下
print("Button pressed, LED lights will turn off one by one.")
button_pressed = True
# 绑定按键事件处理函数
GPIO.add_event_detect(button_pin, GPIO.RISING, callback=button_callback)
while True:
for i, pin in enumerate(led_pins):
if button_pressed:
GPIO.output(pin, GPIO.LOW) # 熄灭LED灯
print(f"LED {i+1} turned off")
button_pressed = False # 防止连续触发
time.sleep(0.5) # 间隔时间,让灯光逐个熄灭
```
在这个例子中,每当按键被按下时,程序会循环遍历每个LED灯并将其关闭,然后等待0.5秒再继续下一轮。注意在实际应用中,你需要先检查GPIO配置和物理连接是否正确。
阅读全文