2025年1月18日(树莓派点亮呼吸灯)

系统信息:

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


学习目标:

  • pwm
  • 呼吸灯

学习内容:

呼吸灯

import RPi.GPIO as GPIO
import time


def main():
    """呼吸灯"""
    led_pin = 32  # GPIO 12
    frequent = 50  # 50 Hz
    dc = 0  # 占空比
    i = 0  # 计数器
    cycle_count = 2  # 循环次数

    # 初始化
    GPIO.setmode(GPIO.BOARD)  # BOARD 编码
    GPIO.setup(led_pin, GPIO.OUT, initial=GPIO.LOW)  # 输出模式
    pwm = GPIO.PWM(led_pin, frequent)

    # 启动 PWM
    pwm.start(dc)

    try:
        while i < cycle_count:
            i += 1
            if dc == 0:
                while True:
                    print(dc)
                    dc += 1
                    time.sleep(0.05)
                    pwm.ChangeDutyCycle(dc)
                    if dc == 100:
                        break
            if dc == 100:
                while True:
                    print(dc)
                    dc -= 1
                    time.sleep(0.05)
                    pwm.ChangeDutyCycle(dc)
                    if dc == 0:
                        break
    except KeyboardInterrupt:  # Ctrl + C
        print("--- 强行停止 ---")
    finally:  # 无论如何最后都会执行
        print("--- 重置引脚规则 ---")
        pwm.stop()  # 停止 PWM 输出
        GPIO.cleanup()  # 释放 GPIO 资源,清除引脚规则


if __name__ == "__main__":
    main()

LED 灯呼吸效果

2025年1月18日(树莓派点亮呼吸灯)_第1张图片

呼吸灯


学习参考:

  1. 树莓派入门(4)LED闪烁&呼吸灯

你可能感兴趣的:(Raspberry,Pi,Zero,2W,python,树莓派,LED,linux)