系统信息:
Raspberry Pi Zero 2W
系统版本: 2024-10-22-raspios-bullseye-armhf
Python 版本:Python 3.9.2
已安装 pip3
支持拍摄 1080p 30 (1092*1080), 720p 60 (1280*720), 60/90 (640*480)
已安装 vim
已安装 git
修改内容:
将功能分离到不同的函数中,增强可维护性和可读性。
增加变量,方便调节。
import RPi.GPIO as GPIO
import time
def setup_gpio(pin_list):
"""初始化"""
GPIO.setmode(GPIO.BOARD) # BOARD 编码
GPIO.setup(pin_list, GPIO.OUT, initial=GPIO.LOW) # 输出模式,初始低电平
def blink_led(pin, duration):
"""控制 LED 闪烁"""
GPIO.output(pin, GPIO.HIGH) # 点亮
time.sleep(duration)
GPIO.output(pin, GPIO.LOW) # 熄灭
time.sleep(duration)
def cleanup_gpio():
"""清理引脚规则"""
print("--- 重置引脚规则 ---")
GPIO.cleanup() # 释放 GPIO 资源,清除引脚规则
def main():
"""点亮三色 LED """
rled_pin = 32 # GPIO 12 红
gled_pin = 12 # GPIO 18 绿
bled_pin = 33 # GPIO 13 蓝
blink_count = 2 # 闪烁次数
duration = 0.1 # 亮灭间隔
pin_list = [rled_pin, gled_pin, bled_pin] # 列表
# 初始化
setup_gpio(pin_list)
try:
# 循环闪烁 RGB LED
for _ in range(blink_count): # 闪烁次数
for pin in pin_list: # 遍历每个 LED 引脚
blink_led(pin, duration) # 调用闪烁函数
finally:
# 清理引脚规则
cleanup_gpio()
if __name__ == "__main__":
main()