Python 实现流水灯效果代码详解
以下是使用 Python 语言实现流水灯效果的代码:
import time
import RPi.GPIO as GPIO
# 设置GPIO口的编号方式为BCM编码方式
GPIO.setmode(GPIO.BCM)
# 定义三个LED灯的GPIO口
led_pins = [18, 23, 24]
# 初始化三个LED灯的GPIO口
for pin in led_pins:
GPIO.setup(pin, GPIO.OUT)
# 定义流水灯的实现函数
def run_water_lamp(times):
for i in range(times):
for pin in led_pins:
GPIO.output(pin, GPIO.HIGH)
time.sleep(0.2)
GPIO.output(pin, GPIO.LOW)
# 执行流水灯的实现函数,流水灯循环10次
run_water_lamp(10)
# 清理GPIO口资源
GPIO.cleanup()
这段代码首先通过 RPi.GPIO 模块初始化了三个 GPIO 口,分别对应三个 LED 灯的控制,然后定义了一个流水灯的实现函数 run_water_lamp,该函数通过循环依次点亮三个 LED 灯,实现了流水灯的效果。最后执行了 10 次流水灯,然后清理了 GPIO 口资源。
代码解读:
- 导入库: 导入
time和RPi.GPIO库,分别用于控制时间延迟和操作 GPIO 口。 - 设置 GPIO 模式:
GPIO.setmode(GPIO.BCM)将 GPIO 口的编号方式设置为 BCM 编码方式,方便代码理解和维护。 - 定义 LED 引脚:
led_pins = [18, 23, 24]定义了三个 LED 灯的 GPIO 口编号,根据实际硬件连接情况进行修改。 - 初始化 GPIO 口:
GPIO.setup(pin, GPIO.OUT)将每个 LED 引脚设置为输出模式,方便控制 LED 灯亮灭。 - 实现流水灯函数:
run_water_lamp(times)函数负责实现流水灯效果,参数times表示流水灯循环的次数。- 内部循环遍历每个 LED 引脚,依次将其设置为高电平 (
GPIO.HIGH),点亮 LED 灯,并延时 0.2 秒,最后再设置为低电平 (GPIO.LOW),熄灭 LED 灯。
- 内部循环遍历每个 LED 引脚,依次将其设置为高电平 (
- 执行流水灯函数:
run_water_lamp(10)执行流水灯函数,并设置循环次数为 10。 - 清理 GPIO 资源:
GPIO.cleanup()清理所有 GPIO 口资源,释放硬件资源。
注意:
- 这段代码需要在 Raspberry Pi 上运行,并连接三个 LED 灯到定义的 GPIO 口上。
- 根据实际硬件连接情况修改 LED 引脚编号。
- 可以修改循环次数和延时时间来调整流水灯的效果。
通过这段代码,你可以轻松实现一个简单的流水灯效果,并进一步了解 Python 控制硬件的基本操作。
原文地址: https://www.cveoy.top/t/topic/lUbO 著作权归作者所有。请勿转载和采集!