实现双向流水灯的代码
时间: 2024-11-06 19:36:18 浏览: 36
实现双向流水灯通常涉及到LED灯阵列的控制,常见的编程语言如Python有多种库可以辅助,比如GPIO模块(对于树莓派等硬件平台)。下面是一个简单的Python示例,假设我们有一个8个LED的环形灯,使用BCM模式:
```python
import RPi.GPIO as GPIO
import time
# 设置GPIO模式为BCM
GPIO.setmode(GPIO.BCM)
# 假设我们的LED灯从GPIO2开始到GPIO9
leds = [2, 3, 4, 5, 6, 7, 8, 9]
def setup_leds():
for led in leds:
GPIO.setup(led, GPIO.OUT) # 设置为输出模式
def toggle_led(index):
GPIO.output(leds[index], not GPIO.input(leds[index])) # 双向切换 LED 状态
def main():
setup_leds()
while True:
for i in range(len(leds)):
toggle_led(i)
time.sleep(0.5) # 每个LED亮0.5秒再切换下一个
# 为了形成循环,最后一个LED点亮后回到第一个
toggle_led(0)
if __name__ == "__main__":
try:
main()
except KeyboardInterrupt:
print("Ctrl+C detected, cleaning up...")
GPIO.cleanup() # 释放资源
```
这个代码会创建一个简单的双向流水灯效果,LED灯会轮流从头到尾和从尾到头循环闪烁。
阅读全文