智能呼吸灯

智能呼吸灯:多色渐变 + 按键模式切换」

在原有 红→绿→蓝→绿→红 循环呼吸的基础上,加入 按键控制,实现 多种呼吸模式切换。

✅ 任务目标

保留原有的 RGB 呼吸循环(周期约 6秒完成一个完整红-绿-蓝-绿-红)

增加一个物理按键(如板载 KEY)

每按一次按键,切换一种呼吸模式:

模式 0:原版循环(红→绿→蓝→绿→红)

模式 1:单色呼吸(只红灯呼吸)

模式 2:心跳模式(快速亮 → 慢速灭,模拟心跳)

模式 3:关闭(LED 全灭)

使用非阻塞方式实现(主循环 + 定时器/计数器,不使用 delay())

注:上期bug:原要求输出:LED 平滑循环,周期约 2 秒红->绿->蓝->绿->红循环

实现效果:红-绿-蓝-绿-红-红-绿-蓝-绿-红.

在本文章中已更改。

TIM3配置

在左侧TimersTIM3,Clock Source: Internal Clock

启用:

Channel1: PWM Generation CH1

Channel2: PWM Generation CH2

Channel3: PWM Generation CH3

Parameter Settings:

Prescaler: 71

Counter Period: 999

Pulse: 0

Auto-reload preload: Enable

模式0:多色循环呼吸颜色顺序:红 → 绿 → 蓝 → 绿 → 红

模式1:单色呼吸,只有红色LED呼吸。呼吸周期:约2秒

模式2:心跳模式快速亮起缓慢熄灭

相关推荐
于小猿Sup10 小时前
VMware在Ubuntu22.04驱动Livox Mid360s
linux·c++·嵌入式硬件·自动驾驶
chao18984411 小时前
STM32 HAL库驱动AT24C02 EEPROM例程
stm32·单片机·嵌入式硬件
不会武功的火柴13 小时前
SystemVerilog语法(8)-有限状态机(FSM)
嵌入式硬件·fpga开发·自动化·ic验证·rtl·uvm方法学
猫猫的小茶馆14 小时前
【Python】函数与模块化编程
linux·开发语言·arm开发·驱动开发·python·stm32
feifeigo12314 小时前
STM32矩阵键盘驱动(库函数版)实现
stm32·矩阵·计算机外设
嵌入式小站15 小时前
STM32 零基础可移植教程 05:按键消抖,为什么按一次会触发好几次
chrome·stm32·嵌入式硬件
czhaii15 小时前
跟我动手学FX系列PLC GX2环境
嵌入式硬件
拾知_H16 小时前
STM32/Delay延时函数编程思路
stm32·单片机·时钟·延时
2zcode17 小时前
基于STM32的智能扫地机器人设计与实现
stm32·嵌入式硬件·机器人
jllllyuz18 小时前
单相并网逆变器控制代码实现(STM32版)
stm32·单片机·嵌入式硬件