delay函数流水灯代码
时间: 2024-09-19 12:16:04 浏览: 32
`delay`函数在控制流水灯电路中通常用于延时操作,它可以让LED灯按照一定的频率依次亮起、熄灭。这是一个简单的Python代码示例,使用Raspberry Pi上的`RPi.GPIO`库来控制GPIO引脚并加上延迟:
```python
import RPi.GPIO as GPIO
import time
# 设置GPIO模式为BCM
GPIO.setmode(GPIO.BCM)
# 定义LED灯的GPIO编号
led_pins = [4, 17, 18, 27] # 这里假设使用了GPIO 4, 17, 18 和 27
for pin in led_pins:
# 将GPIO设置为输出模式
GPIO.setup(pin, GPIO.OUT)
try:
while True:
for i in range(4):
# 点亮LED
GPIO.output(pin, GPIO.HIGH)
print(f"LED {i+1} is on.")
# 添加5秒的延迟
time.sleep(5) # 使用time模块的sleep函数
# 或者使用GPIO库的`GPIO.wait_for_edge(pin, GPIO.FALLING)`等待下降沿,这可以精确到毫秒级别
# 关闭LED
GPIO.output(pin, GPIO.LOW)
print(f"LED {i+1} is off.")
except KeyboardInterrupt:
print("Program interrupted by user. Cleaning up...")
finally:
# 无论程序是否正常结束,都要清理GPIO资源
GPIO.cleanup()
```
这个代码会使得四个LED灯按顺序循环点亮5秒再熄灭,如果想要改变灯光切换的速度,只需要调整`time.sleep(5)`部分的时间。
阅读全文