只用gpio输入输出实现跑马灯的代码
时间: 2024-11-23 21:22:21 浏览: 5
实验1 跑马灯实验_跑马灯实验_gpio跑马灯hex_
跑马灯通常使用GPIO(General-Purpose Input Output,通用输入输出)来控制LED灯的亮灭。这里以Python和Raspberry Pi为例,假设我们有三个LED灯连接到GPIO的不同脚,可以使用`RPi.GPIO`库来编写简单的跑马灯代码。
首先,确保安装了`RPi.GPIO`库,如果尚未安装,可以使用命令:
```bash
pip install RPi.GPIO
```
然后,你可以尝试下面这个基础的示例,它会交替点亮每个LED灯:
```python
import RPi.GPIO as GPIO
import time
# 设置GPIO模式为BCM
GPIO.setmode(GPIO.BCM)
# 定义LED灯的GPIO编号
led_pins = [18, 23, 24] # 这些是常见的GPIO脚,实际可能因硬件配置不同而变化
# 配置LED灯为输出
for pin in led_pins:
GPIO.setup(pin, GPIO.OUT)
try:
while True:
for i, pin in enumerate(led_pins):
GPIO.output(pin, GPIO.HIGH) # 点亮LED
time.sleep(0.5) # 等待一段时间
GPIO.output(pin, GPIO.LOW) # 关闭LED
if i < len(led_pins) - 1: # 如果不是最后一个灯
GPIO.output(led_pins[i + 1], GPIO.HIGH) # 开启下一个LED
# 每轮循环结束后回到第一个LED
GPIO.output(led_pins[0], GPIO.HIGH)
except KeyboardInterrupt:
print("中断程序,关闭所有LED")
finally:
GPIO.cleanup() # 清理GPIO资源,防止资源泄露
```
运行此代码,你会看到跑马灯效果。注意,这只是一个基本的例子,实际应用中可能会加入错误处理和灯的状态管理等功能。
阅读全文